python常用内置函数
https://www.jb51.net/article/164413.htm
https://www.cnblogs.com/linux-chenyang/p/6473820.html
18.frozenset(),返回一个冻结的集合(一个无序的不重复元素),冻结后集合不能添加或删除任何元素。
b=frozenset("happy") print(b) #frozenset{"y","p","h","a"}
24.id(),用于获取对象的内存地址
25.input(),接受一个彼岸准输入数据,返回string类型
26.int(),将一个字符串或数字转换成整型(若传入参数为小数,直接去掉小数部分)
int(a,b)
-a:要转换的字符串或数字
-b:进制数(2,8,16..)
print(int(0.7)) #7 print(int("0xa",16)) #16进制数“0xa"转换为十进制为10
27.isinstance(a,b),判断一个对象a是否是一个已知b的类型,返回布尔值,类似type()。
type()不会认为子类是一种父类类型,不考虑继承,但是isinstance考虑继承关系。
a=1 print(isinstance(a,(str,tuple,int))) # 是元组其中的一个则返回True
28.issubclass(class,classinfo),判断参数class是否是类型参数classinfo的子类
29.iter(),生成迭代器。list,tuple等都是可迭代对象,可用next()函数获取下条数据。
it=[1,2,3] it_list=iter(it) print(next(it_list)) #1
30.len(),返回对象(字符、列表、元祖等)长度或元素个数
31.list(),将元祖转换为列表。
print(list(1,2,3)) #[1,2,3]
33.max(),返回给定参数的最大值,参数可以为序列。
print(max(1,2,3)) #3 print(max({"a":1,"b":2,"c":0}) #字典默认按key排序,结果为c
34.min(),返回给定参数的最小值,参数可以为序列。
35.next(),返回迭代器的下一个项目,不会自动退出,会抛出StopIteration错误。
36.oct(),将一个整数转换成八进制字符串。
print(oct(10)) #0o12
37.open(),打开一个文件,创建一个file对象
38.ord()函数是chr()的配对函数,参数为一个字符(长度为1的字符串),返回对应ASCII数值,或者Unicode数值,如果所给的 Unicode 字符超出了定义范围,则会引发一个 TypeError 的异常。
40.print(),用于打印
41.range(),可创建一个整数列表,一般用在for循环中
42.reduce函数,对参数序列中的元素进行累积
import functools a=functools.reduce(lambda x,y:x+y,[1,2,3])
print(a)
#1+2+3=6
43.repr() 函数将对象转化为供解释器读取的形式。返回一个对象的 string 格式。
44.reversed(seq),返回一个反转的迭代器,需要用list或tuple来获取数据,seq可以是tuple,string,list或range。
45.round(f,r),返回浮点数x的四舍五入值,f为浮点数据,r为要保留的小数位
46.set(),常见一个无序列不重复元素集,可进行关系测试,删除重复数据,计算交集、差集和并集。
b = set([1,2,3,4,5]) c = set([2,4,6,8,10]) print(b & c) # 交集,得到结果为{2, 4} print(b | c) # 并集,得到结果为{1, 2, 3, 4, 5, 6, 8, 10} print(b - c) # 差集,得到结果为{1, 3, 5}
47.slice(start,stop,step),实现切片对象。
a="a b c d e" b=a.split(" ") x=slice(2) y=slice(0,5,2) print(b[x]) #["a","b"] print(b[y]) #["a","b","e"]
48.sorted(),对所有可迭代对象(如元祖、列表、字典等)进行排序操作,返回列表,默认升序。
对字典进行排序
dict={"a":12,"d":2,"c":4} print(sorted(dict)) #["a","c","d"],只对key值排序 print(sorted(dict.items())) #[('a', 12), ('c', 4), ('d', 2)],默认按key进行排序 print( sorted(dict.items(),key=lambda x:x[1]) ) # [('d', 2), ('c', 4), ('a', 12)],用匿名函数实现按value进行排序
#反向排序 print(sorted(dict.items(),reverse=True)) #[('d', 2), ('c', 4), ('a', 12)],对key值反向排序
49.str(),将对象转换成string格式
50.sum(),函数对参数进行求和计算。
print(sum([1,2],3)) #6
51.tuple(),和list()是一对,将列表转换为元祖
52.type(),返回对象的类型
53.zip(),将可迭代对象作为参数,将对象对应元素打包成一个个元祖,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。可以使用 list() 转换来输出列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。利用 * 号操作符,可以将元组解压为列表。
a=[1,2,3] b=[2,3,4,5] print(list(zip(a,b))) #[(1,2),(2,3),(3,4)] a,b=zip(*zip(a,b)) print(list(a)) #[1,2,3] print(list(b)) #[2,3,4]
54.complex(real,imag),创建一个值为real+imag*j的复数或者转化为一个字符或为复数,如果第一个参数为字符串,则不需要指定第二个参数,real --int,long,float或字符串,imag --int,long,float;
print(complex(1,2)) #(1+2j) print(complex(1)) #(1+0j) print(complex("1")) #(1+0j) print(complex("1+2j")) #(1+2j)
55.bytes(),根据传入的参数创建一个新的不可变字节数组
print(bytes("中文",“utf-8”)) #b'\xe4\xb8\xad\xe6\x96\x87'
56.setattr(object,name,value),object--对象,name--字符串,对象属性,value--属性值。可对已存在的属性进行赋值,如果属性不存在会创建一个新的对象属性,并对属性赋值:
class A(): bar=1 a=A() print(getattr(a,"bar")) #1 setattr(a,"bar",5) print(a.bar) #5
57.join()函数
“sep”.join(seq) #以sep作为分隔符,将seq所有的元素合并成一个新的字符串
-sep:分隔符,可以为空
-seq:要连接的元素序列、字符串、元祖、字典
1.在形参前加“*”和“**”表示动态形参
a."*"表示可以接受多个实参值存进数组
b."**"表示可以接受参数转化为字典类型
def F(a,*b,**c) print(a) print(b) print(c) F(1,2,3,x=4,y=5) #1 #(2,3) #{"x":4,"y":5}