当前位置: 首页 > 后端技术 > Python

Python初学者一定要了解这些内置函数

时间:2023-03-25 19:52:25 Python

所谓内置函数就是Python提供的可以直接使用的函数,比如大家熟悉的print、range、input等。有些不是很熟悉,但是很重要,比如enumerate、zip、join等,Python中的这些内置函数非常精巧和强大。对于初学者来说,它们经常被忽略,但我偶尔会遇到它们。我也是用了一段时间python才发现的。不错的功能,每个功能都很经典,都经过严格测试。使用内置函数,不用闭门造车,代码也更加简洁易读。确实方便实用,值得花时间系统研究学习。初学者代码之所以不简洁,不是因为学的不够好,而是学的不够,很多内置的东西没有学透。1.Number-related01数据类型bool()描述:测试一个对象是True还是False。bool是int的子类。语法:classbool([x])参数:x--要转换的参数。bool([0,0,0])Truebool([])Falseissubclass(bool,int)#bool是int的子类TrueTrue+True212/True12.0int()说明:int()函数用于将字符串或数字转换为整数。x可以是字符串或数字,将x转换为普通整数。如果参数是一个字符串,它可能包含符号和小数点。如果超出普通整数的表示范围,则返回长整数。语法:int(x,base=10)参数:x--字符串或数字。base--基数,默认为十进制。int('12',16)18int('12',10)12float()描述:将字符串或整数转换为浮点数语法:classfloat([x])参数:x--整数或字符串float(3)3.0float('123')123.0complex()描述:创建复数语法:classcomplex([real[,imag]])参数:real--int、long、float或string;imag——整型、长整型、浮点型;complex(1,2)(1+2j)complex('1')(1+0j)complex("1+2j")(1+2j)02二进制转换bin()说明:bin()返回二进制表示整数int或longint。Convertdecimaltobinary语法:bin(x)参数:x--intorlongintnumberbin(2)'0b10'bin(20)'0b10100'oct()描述:Convertdecimaltooctalotc()willgive参数转换为八进制语法:oct(x)参数:x--整数。oct(8)'0o10'oct(43)'0o53'hex()说明:hex()函数用于将十进制整数转换为十六进制,表示为字符串。语法:hex(x)参数:x--十进制整数。十进制转十六进制hex(43)'0x2b'#43等于2Bhex(15)'0xf'03数学运算abs()描述:返回一个数的绝对值或复数的模语法:abs(x)参数:x数值表达式。abs(-6)6abs(5j+4)6.4031242374328485divmod()说明:divmod()函数结合除数和余数运算结果,返回包含商和余数的元组(a//b,a%b)。语法:divmod(a,b)参数:a:number--divisorb:number--divisordivmod(11,3)(3,2)divmod(20,4)(5,0)round()描述:round()函数返回浮点数x的舍入值。语法:round(x[,n])参数:x--数值表达式。n——代表小数点后保留多少位。round(10.0222222,3)10.022pow()说明:pow(x,y)方法返回x的y次方的值,相当于x**y。函数是计算x的y次方。如果z存在,则对结果取模。结果等同于pow(x,y)%z语法:pow(x,y[,z])参数:x--数值表达式。y--数值表达式。z--数值表达式。pow(10,2)10010**2100pow(4,3,5)4等价于4**3%sum()说明:sum()方法对序列求和。语法:sum(iterable[,start])参数:iterable--可迭代对象,如:list、tuple、collection。start--指定要添加的参数,如果不设置这个值,默认为0。a=[1,4,2,3,1]sum(a)11sum(a,10)#的初始值thesumis1021min()说明:min()方法返回给定参数的最小值,参数可以为序列。语法:min(x,y,z,....)参数:x--数值表达式。y--数值表达式。z--数值表达式。min(80,100,1000)80min([80,100,1000])80max()说明:max()方法返回给定参数的最大值,可以是一个序列。语法:max(x,y,z,....)参数:x--数值表达式。y--数值表达式。z--数值表达式。最大值:max(3,1,4,2,1)4di={'a':3,'b1':1,'c':4}max(di)'c'2.数据结构相关01序列数据类型1)列表和元组list()说明:list()函数创建一个列表或用于将序列转换为列表。语法:list(iterable)参数:iterable--可迭代序列。当序列是元组时,s=(123,'xyz','zara','abc')list(S)[123,'xyz','zara','abc']序列是字符串s='小吴哥真的很帅很帅'list(s)['小','吴','哥','真','是','帅',',','特别','唐't','Handsome']序列是字典s={'nanme':'小五哥','age':30,'address':'杭州'}list(s)['nanme','age','address']tuple()说明:元组tuple()函数将列表转换为元组。语法:tuple(iterable)参数:iterable——要转换为元组的可迭代序列。tuple([1,2,3,4])(1,2,3,4)tuple({'a':2,'b':4})#字典将返回由字典的键组成的元组('a','b')tuple('小新真的很帅,很帅')('小','新','真','的','是','帅',',','Special','Don','Handsome')2)集合数据类型dict()描述:创建数据字典语法:classdict(**kwarg)classdict(mapping,**kwarg)classdict(iterable,**kwarg)参数:**kwargs--关键字映射--元素的容器。iterable——可迭代的对象。#创建一个空字典dict(){}#传入关键字dict(a='a',b='b',t='t'){'a':'a','b':'b','t':'t'}#构造字典的映射函数dict(zip(['one','two','three'],[1,2,3])){'three':3,'two':2,'one':1}#Iterable对象构造字典的方式dict([('one',1),('two',2),('three',3)]){'three':3、'二':2、'一':set()说明:set()函数创建一个无序、不重复的元素集,可以进行关系检验,删除重复数据,计算交、差、并etc.语法:classset([iterable])参数:iterable--可迭代对象对象;#返回一个set对象,可以实现去重:a=[1,4,2,3,1]set(a){1,2,3,4}frozenset()说明:frozenset()返回一个冻结的集合,之后集合不能添加或删除任何元素。粗体语法:classfrozenset([iterable])参数:iterable--可迭代对象,如列表、字典、元组等。创建一个不可修改的集合。frozenset([1,1,3,2,3])frozenset({1,2,3})3)Stringstr()说明:str()函数将对象转换为人类可读的形式。将字符类型、数值类型等转换为字符串类型语法:classstr(object='')参数:object--object。case:integ=100str(integ)'100'dict={'baidu':'baidu.com','google':'google.com'};str(dict)"{'baidu':'baidu.com','google':'google.com'}"format()说明:从Python2.6开始,新增了一个格式化字符串的函数str.format(),增强了字符串格式化的功能。基本语法是用{}和:替换前面的%。在使用format()格式化字符串时,在字符串中使用{}作为占位符,占位符的内容将参照format()中的参数进行替换。可以是位置参数、命名参数或两者。format函数可以接受无限参数,位置可以乱序。语法:format(value,format_spec)参数:#位置参数'{}:您{}购买的{}到了!请您下楼取快递。'.format('快递小哥','淘宝','快递')'快递小哥:你淘宝买的快递到了!请您下楼取快递。'#给群发客户发短信n_list=['李白','王昭君','西施','小乔','李鑫','马超']fornameinn_list:print('{0}:您淘宝买的快递到了!请您下楼取快递!'.format(name))李白:您淘宝买的快递到了!请您下楼取快递!王昭君:你淘宝买的快递到了!请您下楼取快递!西施:你淘宝买的快递到了!请您下楼取快递!小乔:你淘宝买的快递到了!请您下楼取快递!李欣:你淘宝买的快递到了!请您下楼取快递!马超:你淘宝买的快递到了!请您下楼取快递!#nametofillforninn_list:print('{0}:您在淘宝买的快递已经到了!请您下楼取快递!'.format(n.center(3,'*')))*李白:你淘宝代购快递到了!请您下楼取快递!王昭君:你淘宝买的快递到了!请您下楼取快递!*西施:你淘宝买的快递到了!请您下楼取快递!*小乔:你淘宝买的快递到了!请您下楼取快递!李欣:你淘宝买的快递到了!请您下楼取快递!马超:你淘宝买的快递到了!请您下楼取快递!'{0},{1}and{2}'.format('gao','fu','shuai')'gao,fuandshuai'x=3y=5'{0}+{1}={2}'.format(x,y,x+y)#命名参数'{name1},{name2}and{name3}'.format(name1='gao',name2='fu',name3='shuai')'gao,fuandshuai'#混合位置参数,命名参数'{name1},{0}and{name3}'.format("shuai",name1='fu',name3='gao')'fu,shuaiandgao'#for循环进行批处理["vec_{0}".format(i)foriinrange(0,5)]['vec_0','vec_1','vec_2','vec_3','vec_4']['f_{}'.format(r)forrinlist('abcde')]['f_a','f_b','f_c','f_d',bytes()描述:转换一个字符串convert到字节方法:classbytes([source[,encoding[,errors]]])参数:若source为整数,则返回长度为source的初始化数组;如果source是字符串,则将字符串转换为字节序列;如果source是可迭代类型,则元素必须是[0,255]中的整数;如果source是一个和buffer接口一致的对象,这个对象也可以用来初始化bytearray如果没有输入参数,默认是初始化数组为0个元素。s="apple"bytes(s,encoding='utf-8')b'apple'bytes([1,2,3,4])b'\x01\x02\x03\x04'bytearray()描述:返回一个新的字节数组。元素个数可变,每个元素的取值范围为[0,256]来源;如果source为字符串,则将字符串按照指定的编码方式转换为字节序列;如果source是可迭代类型,则元素必须是[0,255]中的整数;如果source是一个符合buffer接口的对象,这个对象也可以用来初始化bytearray。如果不输入任何参数,则默认将数组初始化为0个元素。bytearray()bytearray(b'')bytearray([1,2,3])bytearray(b'\x01\x02\x03')bytearray('baidu','utf-8')bytearray(b'baidu')ord()描述:查看一个ascii码对应的十进制数语法:ord(c)参数:c--字符。ord('A')65ord('~')126chr()说明:chr()以(256)(即0到255)范围内的整数为参数,返回对应的字符。语法:chr(i)参数:i--可以是十进制或十六进制的数字。查看十进制整数对应的ASCII字符chr(65)'A',可以参考表ascii()的4种情况。说明:ascii()函数返回任何对象(字符串、元组、列表等)的人类可读版本。ascii()函数将用转义字符替换所有非ascii字符:?将替换为\xe5。语法:ascii(object)参数:object--对象,可以是由元组、列表、字典、字符串和set()创建的集合。ascii('中国')"'\\u4e2d\\u56fd'"ascii('新冠肺炎')"'\\u65b0\\u51a0\\u80ba\\uascii("我叫St?le")"'我的名字是St\\xe5le'"print(ascii((1,2)))#tuple(1,2)print(type(ascii((1,2))))print(ascii([1,2]))#List[1,2]print(type(ascii([1,2])))print(ascii('?'))#string,非ASCII字符,转义'\uff1f'print(type(ascii("?")))print(ascii({1:2,'name':5}))#dictionary{1:2,'name':5}print(type(ascii({1:2,'name':5})))