内置函数: 序列包括 元组 列表 字符串
abs()绝对值
print(abs(-1)) print(abs(1))
all() 列表里所有的值拿出来做布尔运算,只保留真的,哪些是假的(0,空字符,none),只要列表里面一个为假就为假
print(all([1,2,'1'])) print(all([1,2,'1',''])) print(all(''))
any()跟all相反,有一个为真就是真
bin()把十进制转二进制
print(bin(3))
bool() 布尔运算
print(bool('')) print(bool(None)) print(bool(0))
false
false
false
bytes() 字符串转化成字节,也可以用“gbk”,ascill码不能用于中文
name='你好' print(bytes(name,encoding='utf-8')) #这一样就是编码的结果,就是二进制,所以可以存 print(bytes(name,encoding='utf-8').decode('utf-8')) #decode是解码,用什么方式编码就用什么方式解码
chr()按照ascill表打印东西
print(chr(46))
dict()
dir() 目录,打印某一个对象下面的方法的名字,而不是像help有方法的解释或怎么用
print(dir(dict))
divmod() 分页功能,第一个参数是总共的记录,第二个参数是一页中该有的值
print(divmod(10,3))
3,1
enumerate()
eval() 1功能提取字符串中的数据结构提取出来。2功能可以把字符串中的数学运算直接得到结果
dic={'name':'alex'} dic_str=str(dic) print(dic_str)
[{'name':'alex'}]
print(eval(dic_str))
{'name':'alex'}
hash() 无论你输入什么,最后的hash值的长度都是一样的。有什么用:比如你在官网下一个程序,程序的编码很多,你下好之后hash你下载的程序跟官网的hash值去对比,以防软件程序中带了一些木马,因为很多木马不是源自于源程序还是附带的
可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型 print(hash('12sdfdsaf3123123sdfasdfasdfasdfasdfasdfasdfasdfasfasfdasdf')) print(hash('12sdfdsaf31231asdfasdfsadfsadfasdfasdf23')) name='alex' print(hash(name)) print(hash(name))
help() 查看怎么用
print(help(all))
hex() 十进制转十六进制,bin()是十进制转二进制
oct()十进制转八进制
id()打印内存地址
locals() 打印局部的
def test(): age='1111111111111111111111111111111111111111111111111111111111111' # print(globals()) print(locals()) test()
globals() 打印的是全局变量还有系统的全局变量
name='哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊哈粥少陈' print(globals()) print(__file__)
max() 取最大值,只能能for循环就可以用max函数,因为可以依次拿出来比较.
l=[1,3,100,-1,2] print(max(l)) print(min(l)) #取最小值
max和min的高级应用 只比较每个元素的第一位的值大小(如果第一位能比出大小的话,不能的话再比较第二位),字母也可以比大小(b比a大),
age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30} #print(max(age_dic.values())) #默认比较的是字典的key print(list(max(zip(age_dic.values(),age_dic.keys()))))) #将value放前面计算value的最大值,然后根据value的最大值找到与之配对的key值
l1=['a10','b12','c10',100] #不同类型之间不能进行比较,100不能比较
l1=['a10','a2','a10'] #第一位都是a不能比较 因此看第二位 其中2大 因此是a2
#最高级 people=[ {'name':'alex','age':1000}, {'name':'wupei','age':10000}, {'name':'yuanhao','age':9000}, {'name':'linhaifeng','age':18}, ] # max(people,key=lambda dic:dic['age']) print('周绍陈取出来没有',max(people,key=lambda dic:dic['age'])) #max可以定义一个方法,例如这一行的key # ret=[] # for item in people: # ret.append(item['age']) # print(ret) # max(ret)
isinatance() 前一个参数是否是后一个参数的对象
print(isinstance(1,int)) print(isinstance('abc',str)) print(isinstance([],list)) print(isinstance({},dict)) print(isinstance({1,2},set))
zip()拉链函数,第一个参数跟第二个参数对应的,如果某个参数多了一些值不会输出,因为拉链是配对的,但是不会报错
print(list(zip(("a","b","c"),(1,2,3)))) [('a', 1), ('b', 2), ('c', 3)]r
print(list(zip(["afasfd",5464]))) #zip函数里面必须是个序列!!!
ord()与chr相反,写一个字符会显示在ascill的数字是什么
pow()
print(pow(3,2)) #3 **3
repr() 类似str()
reversed() 反转
l=[1,2,3,4] print(list(reversed(l)))
round() 四舍五入
set() 变成集合
slice() 切片,就是定义一个切片,第三个参数是步长
l='hello' s1=slice(3,5) s2=slice(1,4,2) print(l[s1])
# print(l[s2])
# print(s2.start)
# print(s2.stop)
# print(s2.step)
sorted() 就是排序,从小到大排序
l=[3,2,1,5,7]
l1=[3,2,'a',1,5,7] #不同类型不能排序,排序本质就是比较大小
print(sorted(l))
people=[ {'name':'alex','age':1000}, {'name':'wupei','age':10000}, {'name':'yuanhao','age':9000}, {'name':'linhaifeng','age':18}, ] print(sorted(people,key=lambda dic:dic['age']))
#
print(sorted(zip(name_dic.values(),name_dic.keys())))
name_dic={ 'abyuanhao': 11900, 'alex':1200, 'wupei':300, } # print(sorted(name_dic)) print(sorted(name_dic,key=lambda key:name_dic[key]))
str() 转化为字符串
print(str('1')) print(type(str({'a':1})))
sum()
l=[1,2,3,4] print(sum(l)) print(sum(range(5)))
super()
type()查看数据类型
msg='123' if type(msg) is str: msg=int(msg) res=msg+1 print(res)
zip()
vars()
def test(): msg='撒旦法阿萨德防撒旦浪费艾丝凡阿斯蒂芬' print(locals()) #locals就是msg print(vars()) test()
_import_() 调用的就是字符串类型
import() 是调用程序,模块就是一个py文件,里面就是python程序,不能调用字符串,
import------>sys----->__import__() 底层就是调用_import_