python的常见的内置函数
python的常见的内置函数
内置参数详解 https://docs.python.org/3/library/functions.html?highlight=built#ascii
详细解释:https://www.runoob.com/python/python-built-in-functions.html
https://www.runoob.com/python3/python3-built-in-functions.html
1.数学运算函数
abs(x) 此函数返回数字的绝对值。
>>> a=5 >>> abs(a) 5 >>> b = -5 >>> abs(b) 5
divmod(x,y) 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组
>>> divmod(8,2) (4, 0) >>> divmod(7,2) (3, 1) >>> divmod(9,2) (4, 1) >>> divmod(9,4) (2, 1)
pow(x,y,z) 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
>>> pow(2,3) 8 >>> pow(3,3) 27 >>> pow(3,3,5) #首先3的3次幂 然后除以5取余数 2 >>> pow(2,3,5) 3
round(x) 返回浮点数x的四舍五入值。
>>> round(0.9) 1 >>> round(1.9) 2 >>> round(1.2) 1 >>> round(0.2) 0
max(lists) 返回给定参数的最大值,参数可以为序列
>>> max([1,2,4,6,0,]) 6 >>> max([1,2,4,6,0,9]) 9 >>> max("a","b") 'b' >>> max("a","b","f") 'f' >>> max({"k1":2,"k2":4}) 'k2'
min() 返回给定参数的最小值,参数可以为序列
>>> min({"k1":2,"k2":4}) 'k1' >>> min("a","b","f") 'a' >>> min([1,2,4,6,0,9]) 0
sum() 进行求和计算
>>> sum([1,2,3,4]) 10
2.字符串处理函数
大小写变换
str.lower() 将字符串中str中的大写字母转换为小写字母
>>> "asdSA".lower() 'asdsa' >>> "aAdSA".lower() 'aadsa' >>>
str.upper() 将字符串中str中的小写字母转换为大写字母
>>> "aAdSA".upper() 'AADSA' >>> "asada".upper() 'ASADA' >>>
str.swapcase() 将字符串str中的字母大小写互换
>>> "aAdSA".swapcase() 'AaDsa'
str.capitalize()/str.title() 将字符串str的首字母大写,其余为小写
>>> "aAdSA".capitalize() 'Aadsa' >>> "aAdSA".title() 'Aadsa' >>> "AAdSA".capitalize() 'Aadsa' >>> "Asder".title() 'Asder' >>> "Asdr".capitalize() 'Asdr' >>>
指定输出字符串的对齐方式
str.ljust(width,[fillchar]) 左对齐输出字符串str,总宽度为width,不足部分以参数fillchar指定的字符填充,默认用空格填充
>>> "iamisgood".ljust(13,"2") 'iamisgood2222' >>> "iamisgood".ljust(13,) 'iamisgood ' >>>
str.rjust(width,[fillchar]) 右对齐输出字符串str,总宽度为width,不足部分以参数fillchar指定的字符填充,默认用空格填充
>>> "iamisgood".rjust(13,"2") '2222iamisgood' >>> "iamisgood".rjust(13,) ' iamisgood' >>>
str.center(width,[fillchar]) 居中对齐
>>> "iamisgood".center(13,) ' iamisgood ' >>> "iamisgood".center(10,) 'iamisgood ' >>> "iamisgood".center(12,) ' iamisgood ' >>> "iamisgood".center(12,"q") 'qiamisgoodqq' >>>
str.zfill(width) 将字符串变成width长,并且右对齐,不足之处用0补齐
>>> "iamisgood".zfill(12) '000iamisgood'
搜素和替换
str.find(substr,[start,[end]]) 、str.rfind(substr,[start,[end]]) 返回字符串str中出现子串substr的第一个字母的位置,如果没有,返回-1,搜索范围从start至end
>>> "abcdefg".find("b") 1 >>> "abcdefg".find("h") -1 >>> "abcdefg".find("e") 4 >>> "abcdefg".find("a") 0 >>> "abcdefg".find("b",2,3) -1 >>> "abcdefg".find("b",1,6) 1 >>> "abcdefg".find("b",6,7) -1
str.index(substr,[start,[end]]) 、str.rindex(substr,[start,[end]]) 与find()函数相同,只是在str中没有substr时,返回一个运行错误
>>> "abcdefg".index("b",1,6) 1 >>> "abcdefg".index("b",6,7) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> "abcdefg".index("b",) 1 >>>
str.count(substr,[start,[end]]) 计算substr在str中出现的次数
>>> "abcdefgbbb".count("b") 4 >>> "abcdefgbbb".count("b",2,9) 2
str.replace(oldstr,newstr,[count]) 把str中的oldstr替换为newstr,count为替换次数
>>> "abcdefgbbb".replace("b","2",) 'a2cdefg222' >>> "abcdefgbbb".replace("b","2",2) 'a2cdefg2bb'
str.strip([chars]) 把字符串str中前后chars中有的字符全部去掉。如果不指定参数chars,则会去掉看空白字符(包括’\n’,’\r,’\t’,”)
>>> " sfas".strip() 'sfas' >>> "sfas".strip("s") 'fa'
lstrip() 同上 字符串前面,其余同上
rstrip() 同上 字符串后面,其余同上
str.expandtabs([tabsize]) 把字符串str中的tab字符替换为空格,每个tab替换为tabsize个空格,默认是8个
>>> "abcdefg ".expandtabs() 'abcdefg ' >>> "abcdefg ".expandtabs(2) 'abcdefg ' >>> "abcdefg ".expandtabs(3) 'abcdefg ' >>> "abcdefg ".expandtabs(1) 'abcdefg ' >>> "abcdefg ".expandtabs(4) 'abcdefg ' >>> "abcdefg ".expandtabs(5) 'abcdefg '
分割和组合
str.split([sep,[maxsplit]]) 以sep为分隔符,把str分割成一个列表。参数maxsplit表示分割的次数
>>> "abcbdefg".split() ['abcbdefg'] >>> "abcbdefg".split("b") ['a', 'c', 'defg'] >>> "abcbdefg".split("b",1) ['a', 'cbdefg']
str.splitlines([keepends]) 把str按照行分割符分为一个列表。参数keepends是一个布尔值,如果为True,则每行后面会保留分割符
str.join(seq) 把seq代表的序列—–字符串序列,用str连接起来
>>> "sadfasd".join("2") '2' >>> "sadfasd".join("11") '1sadfasd1' >>> "sadfasd".join("111") '1sadfasd1sadfasd1'
字符串判读相关
str.startswith(substr) 判断str是否以substr开头
>>> "abcdf".startswith("a") True
str.endswith(substr) 判断str是否以substr结尾
>>> "abcdf".endswith("a") False >>> "abcdf".endswith("f") True
str.isalnum() 判断str是否全为字母或数字
>>> "abcdf".isalnum() True >>> "abcdf1".isalnum() True >>> "224352a1".isalnum() True >>> "224352a1".isalnum()
str.isalpha() 判断str是否全为字母
>>> "abcdf".isalpha() True >>> "abs2df".isalpha() False
str.isdigit() 判断str是否全为数字
>>> "12342s".isdigit() False >>> "12342".isdigit() True
str.islower() 判断str是否全为小写字母
str.isupper() 判断str是否全为大写字母
>>> "abc".islower() True >>> "abcA".islower() False >>> "abcA".isupper() False >>> "CDA".isupper() True
3.类型转换
int("5") # 转换为整数 integer float(2) # 转换为浮点数 float str(2.3) # 转换为字符串 string complex(3, 9) # 返回复数 3 + 9i ord("A") # "A"字符对应的ascii的数值 chr(65) # ascii的数值65对应的字符 bool(0) # 转换为相应的真假值,在Python中,0相当于False,1相当于true
在Python中,下列对象都相当于False:[],(),{},0, None,0.0,' bin(56) # 返回一个字符串,表示十进制56转换成二进制数 hex(56) # 返回一个字符串,表示十进制56转换成十六进制数 oct(56) # 返回一个字符串,表示十进制56转换成八进制数 list((1,2,3)) # 转换为表 list tuple([2,3,4]) # 转换为元组表 tuple slice(5,2,-1) # 构建下标对象 slice dict(a=1,b="hello",c=[1,2,3]) # 构建字典 dictionary
4.序列操作
all([True, 1, "hello!"]) # 是否所有的元素都相当于True值 any(["", 0, False, [], None]) # 是否有任意一个元素相当于True值 sorted([1,5,3]) # 返回正序的序列,也就是[1,3,5] reversed([1,5,3]) # 返回反序的序列,也就是[3,5,1]
5.类,对象,属性
class Me(object): def test(self): print "Hello!" def new_test(): print "New Hello!" me = Me()
hasattr(me, "test") # 检查me对象是否有test属性 getattr(me, "test") # 返回test属性 setattr(me, "test", new_test) # 将test属性设置为new_test delattr(me, "test") # 删除test属性 isinstance(me, Me) # me对象是否为Me类生成的对象 (一个instance) issubclass(Me, object) # Me类是否为object类的子类
6.编译,执行
repr(me) # 返回对象的字符串表达 compile("print('Hello')",'test.py','exec') # 编译字符串成为code对象 eval("1 + 1") # 解释字符串表达式。参数也可以是compile()返回的code对象 exec("print('Hello')") # 解释并执行字符串,print('Hello')。参数也可以是compile()返回的code对象
7.基本数据类型
type() #返回对象类型。 dir() #函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。 如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。 len() #返回对象(字符、列表、元组等)长度或项目个数。
8.其他
input() # 等待输入 print() #输出 globals() # 返回全局命名空间,比如全局变量名,全局函数名 locals() # 返回局部命名空间 文本文件的输入输出 open() 循环设计 range() enumerate() zip() Note: range好像只能生成整数类型的range,但是可以使用np.arange(0,1,0.1)来生成float类型的range。 循环对象 iter() 函数对象 map() filter() reduce()