Python学习笔记:python3.5.2内置方法汇总
程序员文章站
2022-06-22 08:10:14
# 常用重点方法将标红1、abs()求绝对值 print(abs(-1)) 2、all()可迭代对象非0或者为空返回True,其他情况返回False print(all([-1, 2, 3, 4])) 3、any()可迭代对象中非0或者非空返回True,其他情况返回False print(any([ ......
# 常用重点方法将标红
1、abs()求绝对值
print(abs(-1))
2、all()可迭代对象非0或者为空返回true,其他情况返回false
print(all([-1, 2, 3, 4]))
3、any()可迭代对象中非0或者非空返回true,其他情况返回false
print(any([0]))
4、ascii()返回一个字符串的可打印格式 (使用场景未知)
print(ascii("你好"))
5、bin()十进制转二进制
print(bin(1))
6、bool()判断真假,非0或非空为true,0为false
print(bool([0]))
7、bytearray()转字节数组(使用场景未知)
b = bytearray("abcd", encoding="utf-8") print(b[1]) b[1] = 50 # 字符串是不能修改的,通过这种转字节数组的方式可以修改 print(b)
8、callable()判断是否可以调用,即后面可以加()即可以调用。
print(callable([])) print(callable(abs))
9、chr()返回一个编码的对应的字符
print(chr(97))
10、exec()用在代码编译执行,可以直接执行字符串格式的代码。
code1 = "for i in range(10):print(i)" compile(code1, "err.log", "exec") exec(code1) # 其实exec直接也可以执行,不需要compile code2 = "1+2+3*6" # 也可以这样写,直接执行代码,但复杂的就不执行了,比如for之类的只能用exec() print(eval(code2))
11、complex()输出复数
print(complex(11)) print(complex(100))
12、delattr()面向对象要用到的,等面向对象的时候详细讲
13、dict()字典
print(dict()) print(())
14、dir()查看对象方法
print(dir([]))
15、divmod()返回余数和商
print(divmod(5, 2))
16、enumerate()转换一个可迭代对象为一个元组列表,每个元组元素都有两个值,一个是数字索引,一个是原迭代对象的值
list1 = ["1", "2", "3"] enu = enumerate(list1, 1) # 1是定义开始索引 print(list(enu))
17、将字符串格式的代码动态执行,前面也介绍过了
print(eval("1+3+4"))
18、filter过滤,如果一个函数整个程序就用一次,那么就没有必要定义了,可以用匿名方式
print((lambda n: 10 if n < 4 else n)(3)) # lambda只能写三元运算,不能加if和for之类的复杂运算 res = filter(lambda n: n > 5, range(10)) # 将大于5的过滤出来 for i in res: print("..", i) res = map(lambda n: n * n, range(10)) # 将每一个值按照lambda定义的方式处理,然后返回 for i in res: print(">>", i) list2 = [ii * ii for ii in range(10)] # 上面也可以这样写,这是一个列表表达式 for i in list2: print(i) import functools res = functools.reduce(lambda x, y: x * y, range(1, 10)) # 计算阶乘 print(res)
19、转浮点数
print(float(1))
20、format()转换格式
username = "tangwei" password = "123" age = "18" info = """ -------{_name}的信息------- 姓名:{_name} 密码:{_password} 年龄:{_age} """.format(_name=username, _password=password, _age=age ) print(info) info = """ -------{0}的信息------- 姓名:{0} 密码:{1} 年龄:{2} """.format(username, password, age ) print(info)
21、frozenset转成不可变的集合
# 之前集合这样写,是可以变的, print(set([1, 2, 3, 4, 5, 6, 1, 2, 3]).pop()) # 有pop方法 print(frozenset([1, 2, 3, 4, 5, 6, 1, 2, 3])) # 这样就没有pop方法了。
22、gettater() 面向对象的时候再说
23、globals()以字典的形式,返回本程序中所有的变量名和值
print(globals())
24、hasattr() 面向对象的时候再说
25、hash() 将字符串转成一个固定的哈希码,两个相同对象的hash值相同,这样就可以进行比较
# 不仅可以用来比较,还可以将多个哈希值排序以后用二分法来快速查找。 # 假如一共10个元素,我要找hash值为3的元素,先做二分定位到5,然后 # 比较大小,后决定是在前面找还是后面找 print(hash("alex")) print(hash("jack"))
26、hlep() 查看帮助
help(abs)
27、hex() 一个数字转16进制
print(hex(500))
28、id() 返回内存地址
print(id(abs))
29、input() 等待用户从控制台输入
input("请输入你的名字:")
30、int() 转整型
print(int(1.2))
31、isinstance() 判断一个对象是否是某个类型
from collections import iterator print(isinstance([], iterator)) print(isinstance((), iterator)) print(isinstance({}, iterator)) print(isinstance("abc", iterator)) print(isinstance((x for x in range(10)), iterator)) # 生成器是迭代器 print(isinstance(10, iterator)) # 数字不是迭代器对象
32、issubclass() 判断是不是子类,讲面向对象再详细讲
33、iter() 返回一个迭代器对象,这在前面的迭代器那一节有详细讲过
print(iter([1, 2, 3, 4, 5]).__next__())
34、len() 返回对象长度
print(len("123"))
35、list() 讲一个可迭代对象转列表对象
print(list("123"))
36、locals() 也是打印全部变量,不过这可以打印局部变量,而globals()是打印全局的
def test(): test_a = "111" # 可以在局部打印局部变量 print("里面打印局部变量", locals().get("test_a")) # 找不到该变量 print("里面打印全局变量", globals().get("test_a")) test() # 找不到该变量 print("外面打印局部变量", locals().get("test_a")) # 找不到该变量 print("外面打印全局变量", globals().get("test_a"))
37、max() 返回列表中的最大值
print(max([1, 2, 3, 4, 6, 7])) # 一个列表返回里面最大的值 print(max(1, 2, 3, 4, 5, 6, 7, 8)) # 多个位置参数比较值 print(max([3, 4], [1, 2])) # 多个列表,返回相对最大的那个列表
38、min() 返回列表中的最小值
print(min([1, 2, 3, 4, 6, 7])) # 一个列表返回里面最小的值 print(min(1, 2, 3, 4, 5, 6, 7, 8)) # 多个位置参数比较值 print(min([3, 4], [1, 2])) # 多个列表,返回相对最小的那个列表
39、next() 相当于迭代器中的__next__() 让迭代器生成一个值
iter_obj = iter([1, 2, 3, 4]) print(iter_obj.__next__()) print(next(iter_obj)) # 作用同上
40、oct() 转8进制
print(oct(11))
41、open() 打开文件的操作,在前面已经介绍过了
42、 ord() 返回一个字符的unicode编码
print(ord("你"))
43、pow(x,y) 返回一个x的y次方的结果
print(pow(2, 3))
44、print() 像一个终端输出
# 输出到一个文件 f_w = open("test.txt", mode="w",encoding="utf-8") for i in range(10): print("tangwei",i, file=f_w, flush=true) f_w.close()
# 输出到控制台 print("tangwei")
45、repr() 用字符串表示一个对象
list1 = [11,22,33,44] print(eval(repr(list1)) == list1) # 返回的列表字符串用eval执行以后跟原先的对象相同
46、reversed() 反转以后变成一个迭代器,跟列表中的反转是一样的
print(reversed("12345").__next__()) print(reversed([1,2,5,6]).__next__())
47、round() 截断数字
print(round(1.2221)) # 取整 print(round(2.541112,2)) # 保留2位小数
48、setattr() 面向对象的时候详细讲
49、sorted() 排序返回一个列表 #######
# 字典是无序的,但是可以用sorted排序 dict1 = {1:"1",10:"22",55:"1",3:"23",2:"23",0:"23",101:"23"} print("无排序",dict1) print("按key来排序",sorted(dict1)) print("按value来排序",sorted(dict1.values())) print("按key来排序,同时也显示value",sorted(dict1.items())) print("按value来排序,同时也显示key",sorted(dict1.items(),key=lambda x:x[1])) # x[1]就是取字典中每一个元素的值
50、staticmethod() 静态方法,后面详细说
51、str() 转字符串
list1 = [1,2,3,4,5] str1 = str(list1) print(str1.replace("1","100")) # 将列表转成字符串,然后使用字符串的方法replace替换里面的字符1为100
52、sum() 求和,只能传数字型可迭代对象
print(sum([1,2,3,4,5,6]))
53、supper() 类的父类对象,后面详细说
54、tuple() 转元组,元组数据不可以修改,只能读
print(tuple([1,2,3,4,5,6]))
55、type() 查看对象的数据类型
print(type("123"))
56、vars() 返回对象的所有属性名字典,跟locals()方法作用类似
def test1(): a=111 print(vars()) #读方法局部的属性 test1() print(vars())
57、zip() 合并两个列表
a =[1,2,3,4,5,6,7,8] b =["11","22","33","44","55"] # 按最少数量的那个序列来,多的会被丢弃 for i in zip(a,b): print(i)
58、__import__() 引入字符串形式的包
time = __import__("time") print(dir(time))
上一篇: 记一次Windb死锁排查