abs()---求绝对值
print(abs(-1))
all()---后面接可迭代对象,可迭代对象里面出来的每一个值,它的bool值都是true。all的结果才是true。其中None、0、空的bool值为0。
def all(*args, **kwargs): # real signature unknown """ Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. """ pass
print(all([1,'a',[]])) print(all([])) False True # 列表属于可迭代对象
any()---但凡里面有一个为真,结果就为真
print(any([0,None,''])) print(any([0,None,'',1])) print(any([])) #False False True False
进制转换
print(bin(10)) #十进制转二进制 print(oct(10)) #十进制转八进制 print(hex(10)) #十进制转十六进制 0b1010 0o12 0xa
bool()---布尔值为假:0,None,空
bytes()
print('hello'.encode('utf-8')) print(bytes('hello',encoding='utf-8')) b'hello' b'hello'
callable()---判断是不是可被调用的
print(callable(max)) True
chr()---根据ASCII表将数字转成字符
ord()---与上面相反
print(chr(65)) print(chr(66)) print(chr(67)) print(chr(90)) print(ord('A')) A B C Z 65
complex()---复数
x=1-2j #x=complex(1-2j) print(type(x)) print(x.real) print(x.imag) <class 'complex'> 1.0 -2.0
数据类型:
dict,int,list,tuple,str,float,set,frozenset s=set({1,2,3}) #可变集合,但集合内部的元素是不可变类型 s后面有.add操作 s=frozenset({1,2,3}) #不可变集合 s后面没有有.add操作
dir()---查看一个模块都有哪些属性
import time # print(dir(time)) # time. 这个.是属性引用的意思 # dir能告诉我们time能调出哪些属性
divmod---求商和余数
print(divmod(1001,25)) (40, 1)
这个功能将来可以做,分页显示。
enumerate()---列出列表中的值与索引
l=['a','b','c','d'] for i in l: print(i,l.index(i)) # 更简洁方法: l=['a','b','c','d'] for x in enumerate(l): #enumerate(l)就是一个迭代器 print(x)
结果如下:
a 0 b 1 c 2 d 3 (0, 'a') (1, 'b') (2, 'c') (3, 'd')
- global n 声明一个全局变量,它是一个关键字
- globals---查看全局作用于的名字
hash---校验文本,得到一个hash值
print(hash('asdfasdfasdfasdfasdf')) print(hash(' asdfasdfasdfasdfasdf')) 1828447031314450141 -5912355737780512772
确保下载的文件与源文件是一致的。
help---查看函数的注释信息
def func(): ''' xxxxxx :return: ''' pass print(help(func))
id()---不是真实的内存地址,只是python的一种实现方式,反应它在内存里面的大概位置。
isinstance()---判断数据类型
print(isinstance(1,int)) print(type(1) is int)
iter()---将一个可迭代对象变成一个迭代器对象
pow()---2次方
print(pow(10,2,3)) #10**2%3 1
reversed()---倒置序列
l=[1,4,2,9] print(list(reversed(l)))
round()---保留小数
print(round(10.55545,3)) 10.555
slice()---切片对象,可重复利用
l1=['a','b','c','d','e'] l2=['a','b','c','d','e'] # print(l1[1:5:2]) #'b','d' # print(l2[1:5:2]) #'b','d' obj=slice(1,5,2) print(l1[obj]) print(l2[obj]) # 结果 ['b', 'd'] ['b', 'd']
sum()---求和,除了数字列表,也支持可迭代对象
print(sum([1,2,3,4])) print(sum(range(10)))
vars()---无参时用于查看局部作用于名字
不加参数vars()=locals() 加参数vars(obj)=obj.__dict__
print(vars()) print(locals()) print(vars() is locals()) # vars(obj) 等同于obj.__dict__ x=111111111111111111111111111111111111111 print(locals())
名称空间存的是,x与某个值的绑定关系
__import__()---通过字符串导入模块
import time print(time.sleep(3)) m=input('>>: ') print(type(m)) #输入time m=__import__('time') print(m.sleep(3)) print(m) print(time) #两者一样! m=input('>>: ') obj=__import__(m) obj.sleep(3) print(obj.sleep(3)) import "time" #import 不能导入字符串
以下两个作为了解,不用!
eval()---提取字符串内的表达式并执行,然后返回执行结果
s1="1+2+3" print(eval(s1)) s1="['a','b','c']" l=eval(s1) print(type(l)) 6 <class 'list'>
s2="for i in range(10):print(i)" #s2里面是执行语句,没有结果。所以该结果报语法错误 eval(s2)
exec()---仅仅只是执行字符串内的表达式或语句,没有返回值
s1="1+2+3" print(exec(s1)) None s2="for i in range(10):print(i)" exec(s2) 0 1 2 3 4 5 6 7 8 9
#优先掌握 max min sorted map from _functools import reduce filter sum bool chr divmod enumerate id input print isinstance iter len open pow type zip #面向对象 object classmethod staticmethod property getattr hasattr setattr delattr super isinstance issubclass object.__dict__ int,str,bytes,list,tuple,set,float,dict