![Python程序设计案例课堂](https://wfqqreader-1252317822.image.myqcloud.com/cover/463/26943463/b_26943463.jpg)
5.5 内置函数
加载Python解释器之后,读者就可以直接使用内置函数。下面讲述常见内置函数的使用方法。
(1)abs(x):返回数值x的绝对值,如果x是复数的话,abs()函数会返回该复数的大小(实数部分的平方加上虚数部分的平方,再开根号)。例如:
>>> abs(-3.12) 3.12 >>> abs(1+2j) 2.23606797749979
(2)chr(i):i是ASCII字符码(0~255), chr()函数返回数值i的单字符字符串。chr()函数与ord()函数作用相反。下列案例求取ASCII字符码97的字符:
>>> chr(97) 'a'
(3)complex(real [, imag]):创建一个复数,其值为real + imag*j。例如:
>>> complex(2,3) (2+3j) >>>complex(2) (2+0j)
(4)dir([object]):返回object对象的属性名称列表。如果没有指定参数object,则会返回现有的区域符号表(Local Symbol Table)。例如:
>>> dir(sys) ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr __', ... >>> import sys >>> dir() ['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'sys', 'types']
(5)divmod(a, b):将a除以b的商与余数以元组类型返回。如果a、b是整数或是长整数,返回值为(a/b,a%b)。如果是浮点数,返回值为(math.floor(a/b), a%b)。例如:
>>> divmod(5,3) (1, 2)
(6)eval(expression [, globals [, locals]]):运行expression表达式。globals定义全局命名空间(global namespace), locals定义局部命名空间(local namespace)。如果没有locals参数,则使用globals定义值。如果没有globals与locals参数,则使用单元本身的命名空间。例如:
>>>x = 3 >>>eval("x + 5") 8
(7)exec string[in globals [, locals]]:运行包含Python程序代码的字符串string, globals与locals分别定义全局命名空间与局部命名空间。例如:
>>> a = "for i in range(4): print i, " >>> exec a 0 1 2 3
(8)float(x):将x转换成浮点数,x可以是数值或是字符串。例如:
>>> float(2) 2.0 >>> float("2") 2.0
(9)id(object):返回object对象的唯一识别码,此识别码为一整数。例如:
>>> id(sys) 12404080 >>>t = 2 >>> id(t) 501176608
(10)input([prompt]):提供给用户输入一个有效的Python表达式,prompt是输入时的提示字符串。但使用此函数并不保险,一般用raw_input()函数来替换。例如:
>>> a = input("Please input a number: ") Please input a number:
(11)int(x [, radix]):将数值或是字符串x转换成整数。如果x是字符串,可以设置radix值。radix是进制的基底值,可以是[2,36]之间的整数或是0。如果radix是0,则Python会根据字符串值进行判断。例如:
>>> int(100.5) 100 >>> int("100",8) 64 >>> int("100",16) 256 >>> int("100",0) 100
(12)max(s [, args...]):如果只有一个参数,返回序数对象s中元素的最大值。如果有多个参数,返回最大的序数。例如:
>>> max(1,2,3) 3 >>> max("HELLO PYTHON") 'Y' >>> max((1,2,3), (1,2,3,4,5)) (1, 2, 3, 4, 5)
(13)min(s [, args...]):如果只有一个参数,返回序数对象s中元素的最小值。如果有数个参数,返回最小的序数。例如:
>>> min(1,2,3) 1 >>> min("HELLO PYTHON") ' ' >>> min((1,2,3), (1,2,3,4,5)) (1, 2, 3)
(14)ord(c):ord()函数返回单字符字符串c的ASCII或Unicode字符。如果c是ASCII字符,ord()函数与chr()函数作用相反。如果c是Unicode字符,ord()函数与unichr()函数作用相反。下列案例求取字符a的ASCII字符码:
>>> ord("a") 97
(15)pow(x, y [, z]):如果没有参数z,返回x的y次方。如果有参数z,返回x的y次方再除以z的余数。此函数比pow(x, y)% z有效率。须注意,如果x是整数,y不能是负数。
例如:
>>> pow(2,4) 16 >>> pow(2,4,5) 1 >>> pow(2., -1) 0.5
(16)tuple(sequence):使用sequence来创建一个元组对象。如果sequence本身就是一个元组,其值不变。例如:
>>> tuple("abc") ('a', 'b', 'c') >>> tuple([1, 2, 3]) (1, 2, 3)