6.2 调用内置函数

加载Python解释器之后,用户就可以直接使用内置函数。

下面将讲述常见内置函数的使用方法。

(1)abs(x):返回数值x的绝对值,如果x是复数,abs()函数就会返回该复数的大小(实数部分的平方加上虚数部分的平方,再开根号)。例如:

    >>>abs(-3.12)
    >>>abs(1+2j)

运行结果如图6-1所示。

图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所示。

图6-2 运行结果

(3)complex(real [, imag]):创建一个复数,其值为real + imag*j。若第一个参数为字符串,则不需要指定第二个参数。

例如:

    >>>complex(5, 2)
    >>>complex(5)   # 数字
    >>>complex("1")  # 当作字符串处理
    # 注意,这个地方在"+"号两边不能有空格,即不能写成"5+2j",应该是"5+2j",否则会报错
    >>>complex("5+2j")

运行结果如图6-3所示。

图6-3 运行结果

(4)dir([object]):返回object对象的属性名称列表。若没有指定参数object,则会返回现有的区域符号表(Local Symbol Table)。例如:

    >>> import sys
    >>> dir(sys)
    >>>dir()

运行结果如图6-4所示。

图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所示。

图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所示。

图6-6 运行结果

(7)float(x):将x转换为浮点数,x可以是数值或字符串。例如:

    >>>float(100)
    >>>float("100")

运行结果如图6-7所示。

图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所示。

图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所示。

图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所示。

图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所示。

图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所示。

图6-12 运行结果

(13)tuple(sequence):使用sequence创建一个元组对象。如果sequence本身就是一个元组,其值不变。例如:

    >>> tuple([100, 200, 300, 400])
    >>> tuple("abcefg")

运行结果如图6-13所示。

图6-13 运行结果