![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
6.2 调用内置函数
加载Python解释器之后,用户就可以直接使用内置函数。
下面将讲述常见内置函数的使用方法。
(1)abs(x):返回数值x的绝对值。如果x是复数,abs()函数就会返回该复数的大小(实数部分的平方加上虚数部分的平方,再开根号)。例如:
>>>abs(-3.12) >>>abs(1+2j)
运行结果如图6-1所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P120_11583.jpg?sign=1739299443-O5CvRaMwQZJCocMNBeAgNkJ1rKneYK4f-0-59a12d8f163155e715692835f5c457c0)
图6-1 运行结果
(2)chr(i):i是ASCII字符码0~255,chr()函数返回数值i的单字符字符串。chr()函数与ord()函数作用相反。
下面的示例是求取ASCII字符码对应的字符:
>>>chr(97) 'a' >>>chr(90) 'Z' >>>chr(92) '\\' >>>chr(95) '_' >>>chr(99) 'c'
运行结果如图6-2所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P121_11664.jpg?sign=1739299443-pTRpRvtuwvLTnlYk1M0WY0TXvM1LgMrU-0-8e2db813f7753e088de418820e7051ee)
图6-2 运行结果
(3)complex(real [, imag]):创建一个复数,其值为real + imag*j。若第一个参数为字符串,则不需要指定第二个参数。
例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P121_57365.jpg?sign=1739299443-P7nT9N10WSeBw3ulqYkeKgSO17xsdbEB-0-0e4b6056c0a6140f24fa8d90dbff15a4)
运行结果如图6-3所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P121_57368.jpg?sign=1739299443-qBNc7u6x2CjNrEkfm8DV6PqES54y8Oi7-0-963fa2fdcb5092a82a0d554bbca0340d)
图6-3 运行结果
(4)dir([object]):返回object对象的属性名称列表。若没有指定参数object,则会返回现有的区域符号表(Local Symbol Table)。例如:
>>>import sys >>>dir(sys) >>>dir()
运行结果如图6-4所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P121_11734.jpg?sign=1739299443-b4KcCjNQYuJnokipgy5h6wm2lP55OBJl-0-ef2cb9ad7fed09d1931a1800b733f3a5)
图6-4 运行结果
(5)divmod(a, b):将a除以b的商与余数以元组类型返回。如果a、b是整数或长整数,返回值就为(a / b, a % b);如果a、b是浮点数,返回值就为(math.floor(a / b), a % b)。例如:
>>>divmod(8,3) >>>divmod(8,2)
运行结果如图6-5所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P122_11766.jpg?sign=1739299443-dYxN25KIowBLJZhZUt3fxaFutUHUAwAi-0-3c2d67cb1c2bb3f7b9ac45d5b241f915)
图6-5 运行结果
(6)eval(expression [, globals [, locals]]):运行expression表达式。globals定义全局命名空间(global namespace),locals定义局部命名空间(local namespace)。若没有locals参数,则使用globals定义值;若没有global与local参数,则使用单元本身的命名空间。例如:
>>>x = 30 >>>eval("x + 10")
运行结果如图6-6所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P122_11787.jpg?sign=1739299443-9ZW3FH64bNPt6DVRWTnC9PTUFe9uAf24-0-2b62835e8c3ff752fdf43a422c5c1d8b)
图6-6 运行结果
(7)float(x):将x转换为浮点数,x可以是数值或字符串。例如:
>>>float(100) >>>float("100") >>>float(0)
运行结果如图6-7所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P122_11815.jpg?sign=1739299443-OXVpF9bfaZ9PGSZEilrtTWDDojOjhGkA-0-c1ed3933a504b98f7117b67d97981e3c)
图6-7 运行结果
(8)int(x [, radix]):将数值或字符串x转换为整数。如果x是字符串,就设置radix值。radix是进制的基底值,可以是[2,36]之间的整数或0。如果radix是0,Python就会根据字符串值进行判断。例如:
>>>int(100.5) >>>int("100",8) >>>int("100",16) >>>int("100",0)
运行结果如图6-8所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P123_11859.jpg?sign=1739299443-kvp68zWgr2ZTwBPpnOkZ85jq9tTxzQAL-0-b9a7511878d824ac8af7804c0a160147)
图6-8 运行结果
(9)max(s [, args...]):若只有一个参数,则返回序数对象s中元素的最大值;若有数个参数,则返回最大的序数(sequence)。例如:
>>>max(100,200,300,400,500) >>>max("HELLO PYTHON") >>>max((100,200,300),(100,200,300,400,500))
运行结果如图6-9所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P123_11887.jpg?sign=1739299443-yw0bV0JMtnOm3wig3Fi53JsNo6mbPS3m-0-9acd1d8dc172e16b6db999d65dc4f44e)
图6-9 运行结果
(10)min(s [, args...]):若只有一个参数,则返回序数对象s中元素的最小值;若有数个参数,则返回最小的序数。例如:
>>>min (100,200,300,400,500) >>>min ("HELLO PYTHON") >>>min ((100,200,300),(100,200,300,400,500))
运行结果如图6-10所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P123_11916.jpg?sign=1739299443-iR18hKgkIMzOS4lfhEkZxk64wa4IsZ0W-0-046daca6871f4655a56ead94e859cb4d)
图6-10 运行结果
(11)ord(c):ord()函数返回单字符字符串c的ASCII或Unicode字符。若c是ASCII字符,则ord()函数与chr()函数作用相反;若c是Unicode字符,则ord()函数与unichr()函数作用相反。下面的示例是求取字符a的ASCII字符码:
>>>ord("a") >>>ord("Z") >>>ord("\\") >>>ord("_") >>>ord("c")
运行结果如图6-11所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P124_11966.jpg?sign=1739299443-IwFCHB0kAakc28za02iGokQ6HAjocc4a-0-22ff4f76acff762a5ddbb3d962b2403f)
图6-11 运行结果
(12)pow(x, y [, z]):若没有参数z,则返回x的y次方;若有参数z,则返回x的y次方再除以z的余数。此函数比pow(x,y) % z有效率。
例如:
>>>pow(2,3) >>>pow(2,5,3) >>>pow(2,-1)
运行结果如图6-12所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P124_11996.jpg?sign=1739299443-D8p9P9GGIKgIQZwWHW8ltpZOrpwynK2W-0-32d66415f7d052ec4b4c53768475b6ff)
图6-12 运行结果
(13)tuple(sequence):使用sequence创建一个元组对象。如果sequence本身就是一个元组,其值不变。例如:
>>>tuple([100, 200, 300, 400]) >>>tuple("abcefg")
运行结果如图6-13所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P124_12019.jpg?sign=1739299443-utOGrj1j3aL8w3mNOsr0o4oVLkMxkS7h-0-7124f04d82b0a0b14bb53eb4928d5d01)
图6-13 运行结果