内置函数
内置函数(一定记住并且精通)
print()屏幕输出
int():pass
str():pass
bool():pass
set(): pass
list() 将一个可迭代对象转换成列表
tuple() 将一个可迭代对象转换成元组
dict() 通过相应的方式创建字典。
# 创建字典的几种方式 #直接创建 dic = {1: 2} #字典推导式 print({i: 1 for i in range(3)}) dict() #dict创建 dic = dict(one=1, two=2, three=3) print(dic) #fromekeys 方法创建 fromkeys()
abs() 返回绝对值
sum() 求和
print(sum([1,2,3])) #4
print(sum((1,2,3),100)) # 104 从100开始算总和
- min() 求最小值
通过设置key去使用min
# 返回值是什么就按照什么比较最小的。
例1:
找年龄最小的元组:l1 = [('alex', 73, 170), ('太白', 18, 185), ('武大', 35, 159),]
print(min(l1,key=lambda x:x[1])) #('太白', 18, 185)
#key = 函数名,#min 会自动的将可迭代对象的每一个元素作为实参传给x,
# 将遍历的那个元素即是 ('太白', 18) 返回
max() 求最大值
reversed() 对一个可迭代对象进行翻转,返回一个迭代器
bytes()把字符串转换成bytes类型
bin:将十进制转换成二进制并返回。
oct:将十进制转化成八进制字符串并返回。
hex:将十进制转化成十六进制字符串并返回。
print(bin(10),type(bin(10))) # 0b1010
print(oct(10),type(oct(10))) # 0o12
print(hex(10),type(hex(10))) # 0xa
zip() 拉链方法
lst1 = [1,2,3]
lst2 = ['a','b','c','d']
lst3 = (11,12,13,14,15)
for i in zip(lst1,lst2,lst3):
print(i)
(1, 'a', 11)
(2, 'b', 12)
(3, 'c', 13)
sorted排序函数
lst=[9,8,6,48,23,615,]
new_lst=sorted(lst) #返回的新列表是经过排序的
print(new_lst) #[6, 8, 9, 23, 48, 615] #原列表不会改变
lst3 = sorted(lst,reverse=True)
print(lst3) #倒叙
与匿名函数配合使用
lst = [{'id':1,'name':'alex','age':18},
{'id':2,'name':'wusir','age':17},
{'id':3,'name':'taibai','age':16},]
print(sorted(lst,key=lambda x:x['age']))
#[{'id': 3, 'name': 'taibai', 'age': 16}, {'id': 2, 'name': 'wusir', 'age': 17}, {'id': 1, 'name': 'alex', 'age': 18}]
filter筛选过滤返回一个生成器
生成器表达式的筛选模式
lst = [{'id':1,'name':'alex','age':18},
{'id':1,'name':'wusir','age':17},
{'id':1,'name':'taibai','age':40},]
print(list(filter(lambda x:x['age']<20,lst)))
#[{'id': 1, 'name': 'alex', 'age': 18}, {'id': 1, 'name': 'wusir', 'age': 17}]
function: 用来筛选的函数,在filter中会自动的把iterable中的元素传递给function,然后根据function返回的True或者False来判断是否保留此项数据
map返回一个迭代器,相当于生成器表达式:循环模式
lst = [1,2,3,4,5]
#生成器表达式的筛选模式
print(list(map(lambda s:s*s,lst))) #[1, 4, 9, 16, 25]
reduce
from functools import reduce
'''
第一次:x,y 1,2 求和 3 记录到内存
第二次:x,y 3,3 求和 6 记录到内存
第三次:x,y 6,4 .........
'''
# print(reduce(lambda x,y: x+y,[1,2,3,4,5]))
# print(reduce(lambda x,y: 2*x+y, [1,2,3]))
# print(reduce(lambda x,y: x+y, ['alex','s','b'])) # 可以用字符串拼接
内置函数(了解,尽量记住)
- eval:执行字符串类型的代码,并返回最终结果。
eval('2 + 2') # 4
n=81
eval("n + 4") # 85
eval('print(666)') # 666
- exec:执行字符串类型的代码。
s = '''
for i in [1,2,3]:
print(i)
'''
exec(s)
- help:函数用于查看函数或模块用途的详细说明。
print(help(list))
print(help(str.split))
- int:函数用于将一个字符串或数字转换为整型。
print(int()) # 0
print(int('12')) # 12
print(int(3.6)) # 3
print(int('0100',base=2)) # 将2进制的 0100 转化成十进制。结果为 4
- callable:函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
name = 'alex'
def func():
pass
print(callable(name)) # False
print(callable(func)) # True
- int:函数用于将一个字符串或数字转换为整型。
- float:函数用于将整数和字符串转换成浮点数。
- complex:函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。
- divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。
- round:保留浮点数的小数位数,默认保留整数。
- pow:求x y次幂。(三个参数为xy的结果对z取余)
- bytes:用于不同编码之间的转化。
- ord:输入字符找该字符编码的位置
- chr:输入位置数字找出其对应的字符
- repr:返回一个对象的string形式(原形毕露)。
# %r 原封不动的写出来
# name = 'taibai'
# print('我叫%r'%name)
# repr 原形毕露
print(repr('{"name":"alex"}'))
print('{"name":"alex"}')
- all:可迭代对象中,全都是True才是True
- any:可迭代对象中,有一个True 就是True