数学运算
abs:求数值的绝对值
deffunc(x,y,f):return f(x)+f(y)print(func(-1,9,abs))#输出结果:10
divmod:地板除(返回两个数值的商和余数)
print(divmod(5,2))#输出结果:(2, 1)
max:返回可迭代对象中的元素的最大值或者所有参数的最大值
print(max([2,3,4,5,6,7]))print(max([1,2],[2,3],[3,4]))
a=[3,4,5,6,7,8,9,10,11]print(a.index(max(a))) #index为元素下标,输出最大值所对应的元素下标
print(max("aa","ab","ac")) #按ASCII码中的数值大小
print(max(-1,0,key=abs)) #abs为绝对值参数
print(max(1,2,3,"4",key=int)) #转为int型进行比较
#输出结果:7#输出结果:[3,4]#输出结果:8#输出结果:ac#输出结果:-1#输出结果:4
min:返回可迭代对象中的元素的最小值或者所有参数的最小值
print(min([2,3,4,5,6,7]))print(min([1,2],[2,3],[3,4]))
a=[3,4,5,6,7,8,9,10,11]print(a.index(min(a))) #index为元素下标,输出最小值所对应的元素下标
print(min("aa","ab","ac")) #按ASCII码中的数值大小
print(min(-1,0,key=abs)) #abs为绝对值参数
print(min(1,2,3,"4",key=int)) #转为int型进行比较
#输出结果:2#输出结果:[1,2]#输出结果:0#输出结果:aa#输出结果:0#输出结果:1
pow:返回两个数值的幂运算值或者其与指定整数的余数值
print(2**3)print(pow(3,3)) #3**3
print(pow(2,3,3)) #2**3%3
#输出结果:8#输出结果:27#输出结果:2
round:对浮点数进行四舍五入求值
print(round(1.734567)) #取四舍五入的值
print(round(1.234565,3)) #四舍五入取三位
#输出结果:2#输出结果:1.235
sum:对元素类型是数值的可迭代对象中的每个元素求和
a = sum((1,2,3,4))print(a)#输出结果:10
类型转换
bool:根据传入参数创建布尔值
print(bool([1]))print(bool([8]))#输出结果:True#输出结果:True
int:根据传入参数创建一个新的整数
a =int()print(a)
b= int("3")print(b)
c= int(3.2)print(c)#输出结果:0#输出结果:3#输出结果:3
float:根据传入的参数创建一个新的浮点数
a =float()print(a)
b= float("3")print(b)
c= float(4)print(c)#输出结果:0.0#输出结果:3.0#输出结果:4.0
complex:根据传入参数创建一个新的复数
a =complex()print(a)
b= complex(1,2)print(b)
c= complex("1+2j")print(c)#输出结果:0j#输出结果:(1+2j)#输出结果:(1+2j)
str:返回一个对象的字符串表现形式(给用户)
print(str(12))print(type(str(12)))#输出结果:12 '''在cmd中以'12'输出'''#输出结果:
bytes:根据传入参数创建一个新的不可变字节数组
a = bytes("abcdef",encoding="utf-8")print(a)
b= bytes("栗子",encoding="utf-8")print(b)#输出结果:b'abcdef'#输出结果:b'\xe6\xa0\x97\xe5\xad\x90'
bytearray:根据传入的参数创建一个新的字节数组
b = bytearray("abcdef",encoding="utf-8")print(b[0])print(b)#输出结果:97#输出结果:bytearray(b'abcdef')
memoryview:根据传入的参数创建一个新的内存查看对象
a = memoryview(b"abcde")print(a)print(a[-1])#输出结果:#输出结果:101
chr:返回整数所对应的Unicode字符
print(chr(97))print(chr(165))#输出结果:a#输出结果:¥
ord:返回Unicode字符所对应的ASCII码数
print(ord("b"))print(ord("A"))#输出结果:98#输出结果:65
bin:将整数转换成二进制字符串
print(bin(8978))print(type(bin(8978)))#输出结果:0b10001100010010#输出结果:
oct:将整数转换成八进制字符串
print(oct(8978))print(type(oct(8978)))#输出结果:0o21422#输出结果:
hex:将整数转换成十六进制字符串
print(hex(89))print(type(hex(89)))#输出结果:0x59#输出结果:
tuple:根据传入的参数创建一个新的元组
a =tuple()print(a)
b= tuple("12345")print(b)#输出结果:()#输出结果:('1', '2', '3', '4', '5')
list:根据传入的参数创建一个新的列表
a =list()print(a)
b= list("12345")print(b)#输出结果:[]#输出结果:['1', '2', '3', '4', '5']
dict:根据传入的参数创建一个新的字典
a =dict()print(a)
b= dict((("1",1),("2",2)))print(b)
c= dict((["a","b"],[1,2]))print(c)#输出结果:{}#输出结果:{'1': 1, '2': 2}#输出结果:{'a': 'b', 1: 2}
frozenset:根据传入的参数创建一个新的不可变集合
a=frozenset([2,3,4])print(a)#a[2]="aaa" #TypeError: 'frozenset' object does not support item assignment
#输出结果:frozenset({2, 3, 4})
set:根据传入的参数创建一个新的集合
a =set()print(a)
b= set(range(10))print(b)
c= set("ab12")print(c)#输出结果:set()#输出结果:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}#输出结果:{'1', '2', 'b', 'a'}
enumerate
在字典上是枚举、列举的意思;
参数为可遍历|可迭代的对象(如列表、字符串);
多用于在for循环中的得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate;
根据可迭代对象创建枚举对象,返回的是一个enumerate对象;
格式:
enumerate(sequence,[start = 0])
sequence —— 一个序列,迭代器或其他支持迭代对象
start —— 下标的起始位置
例1:
'''enumerate用法'''l= ["you","are","a","pig"]for index,item in enumerate(l,1):print(index,item)#输出结果:
'''1 you
2 are
3 a
4 pig'''
例2:
color = ["red","green","yellow","bule"]print(list(enumerate(color)))print(list(enumerate(color,start=2)))#输出结果:[(0, 'red'), (1, 'green'), (2, 'yellow'), (3, 'bule')]#输出结果:[(2, 'red'), (3, 'green'), (4, 'yellow'), (5, 'bule')]
通过上述实例可知,通过enumerate可以自增一列序号,并且起始位置可以通过start指定任意所需值,避免了下标从0开始的局限性。
序列操作
all:判断可迭代对象的每个元素是否都为True值
print(all(["jfdks",2,3,1]))print(all([0,3,1])) #列表中0的逻辑值为False
#输出结果:True#输出结果:False
any:判断可迭代对象的元素是否有为True值的元素
print(any([37,0,3])) #有一个为True则全为True
print(any([0,0])) #全为False时才为False
#输出结果:True#输出结果:False
sorted:对可迭代对象进行排序,返回一个新列表
a={1:2,3:4,9:2,8:6}print(sorted(a.items())) #以键的大小为排序对象
print(sorted(a.items(),key=lambda x:x[1])) #以值的大小为排序对象
#输出结果:[(1, 2), (3, 4), (8, 6), (9, 2)]#输出结果:[(1, 2), (9, 2), (3, 4), (8, 6)]
filter
filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个可迭代对象,这个函数 f 的作用是对每个元素进行判断;
f返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素;
使用指定方法过滤可迭代对象元素;
例1:输出9以内满足n>5的数
#filter,将满足情况的项输出
ve=filter(lambda n:n>5,range(10))for i inve:print(i)#输出结果:6#输出结果:7#输出结果:8#输出结果:9
map
map()是 Python内置的高阶函数,它接收一个函数f和列表或元组对象,并通过把函数f依次作用在列表或元组的每个元素上。
使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象。
返回值
Python 2.x 返回列表
Python 3.x 返回迭代器
例1:将原有列表通过map的方法,使其元素输出平方值。
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]#def f(x):#return x**2#a = map(f,l)
a = map(lambda i:i**2,l) #等价于def
print(a)#输出结果:
'''
迭代器的形式,并非真值'''
for i ina:print(i)#利用for循环可以打印出所需的值#输出结果:
'''1
4
9
16
25
36
49
64
81'''
例2:将下列中不规范的姓名,规范化,即首字母大写。
defformat(s):
s1=s.title()returns1
a= map(format, ['LIZI', 'yin', 'bob'])for i ina:print(i)#输出结果:
'''Lizi
Yin
Bob'''
例3:判断True或False
#map,将判断结果输出
re=map(lambda n:n>5,range(3))for i inre:print(i)#输出结果:False#输出结果:False#输出结果:False
PS:lambda函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方 。lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。 lambda 函数不能包含命令,包含的表达式不能超过一个。使用lambda函数来定义更加精简灵活,还可以直接把函数赋值给一个变量,用变量名来表示函数名。
zip:聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器
a=[1,2,3,4]
b=[5,6,7,8]for i inzip(a,b):print(i)#输出结果:(1, 5)#输出结果:(2, 6)#输出结果:(3, 7)#输出结果:(4, 8)
a=[1,2,3]
b=[5,6,7,8]for i inzip(a,b):print(i)#输出结果:(1, 5)#输出结果:(2, 6)#输出结果:(3, 7)
c=[[1,2,3],[4,5,6],[7,8,9]]for i in zip(*c):print(i)#输出结果:(1, 4, 7)#输出结果:(2, 5, 8)#输出结果:(3, 6, 9)
对象操作
dir:返回对象或者当前作用域内的属性列表
print(dir([]))#输出结果:['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
id:返回对象的唯一标识符
a = "lizi"
print(id(a))#输出结果:2269288752104
hash:获取对象的哈希值
print(hash("a"))#输出结果:4677843747549717534
type:返回对象的类型,或者根据传入的参数创建一个新的类型
print(type(1))#输出结果:
ascii:返回对象的可打印表以字符串形式输出
a = ascii(12)print(a)print(type(a))#输出结果:12#输出结果:
反射操作
isinstance:判断对象是否是类或者类型元组中任意类元素的实例
a=1
print(isinstance(a,int))print(type(1))#输出结果:True#输出结果:
type和isinstance的区别:
type不认为子类是一种父类类型,不考虑继承
isinstance会认为子类是一种父类类型,考虑继承
如果需要判断两种类型的关系,建议使用isinstance
callable:检测对象是否可被调用
deffunc(x,y,f):return f(x)+f(y)print(callable(func))#输出结果:True
变量操作
locals:返回当前作用域内的局部变量和其值组成的字典
defA():
varse=234
print(locals()) #打印局部变量
print(A())#输出结果:{'varse': 234}#输出结果:None
globals:返回当前作用域内的全局变量和其值组成的字典
defA():
varse=2347
print(globals()) #返回本模块中所有的全局变量
print(A())#输出结果:{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.sourcefileloader object at>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': 'C:/Users/lenovo/Documents/WeChat Files/qian414414/Files/内置方法(1).py', '__cached__': None, 'A': }
#输出结果:None