zoukankan      html  css  js  c++  java
  • Python之路【第十四篇】:Python的内置函数

    Python中自带了一些内置函数,如下图所示

     详细说明可以戳这里

    本篇中并不是一一介绍所有的内置函数,有一些内置函数会在以后的学习中慢慢接触到

    abs():求绝对值函数

    print(abs(-12345))

    all():用于判断可迭代对象是否每个参数都为真,都为真返回True,否则返回False

    print(all([1,2,3,4,5]))
    print(all(['',123]))
    print(all([]))

    返回结果分别为:True  False  True

    any():只要可迭代对象任意参数为真,返回True

    bool():将参数转换为True或者False,对于数字来说,除了0都为真,None也是False,空字符串、列表、元组等也为False

    print(bool(''))
    print(bool([]))
    print(bool(()))
    print(bool('1'))
    print(bool(['',]))
    print(bool(('',)))

    分别输出False,False,False,True,True,True

    ascii(对象):只要执行,就会去对象的类中找__repr__这个函数,获取其返回值,很少用这个函数,如:

    def f():
        def __repr__(self):
            return 'hello'
    
    obj = f()
    r = ascii(obj)
    print(r)

    bin()二进制,将十进制转换为二进制,如:10--->0b1010

    oct()八进制,将十进制转化为八进制,如:10--->0o12

    int()十进制,将二进制,八进制或者十六进制转化为十进制,如:int(‘0b1010’,2)--->10或者这样写:int('1010',2)

    hex()十六进制,将十进制转化为十六进制,如:10--->0xa

    bytes():将字符串转化为相应的字节,返回一个可迭代的字节的集合,如:bytes('hello',encoding='utf-8'),将hello转化为对应的utf-8编码集合

    bytearray():字节数组

    chr(数字):接受一个数字,返回其对应的ascii字符,如print(chr(97))--->a

    ord(字符):接受一个字符,返回其对应的ascii码值,如print(ord('a'))--->97

    #随机验证码的小程序
    import random
    
    temp = ''
    for i in range(6):
        num = random.randrange(0,4)
        if num == 3 or num == 1:
            rad2 = random.randrange(0,10)
            temp = temp + str(rad2)
        else:
            rad1 = random.randrange(65,91)
            c1 = chr(rad1)
            temp = temp + c1
    
    print(temp)

    callable()判断一个对象是否可执行,一般后面有括号就是可执行的,否则就是不可执行的,可执行返回True

    compile()接受一个字符串,把字符串编译成python可执行的代码,我们一般用不到,但是要知道,写完python文件,执行的时候,作为一个文件读进内存,是一个字符串,然后通过compile()编译成代码

    complex()复数,一般用不到

    dir()查看一个对象或类所提供的功能,详细的要用help()

    divmod()特有用,返回商和余数的一个元组

    eval()与exec(),通过eval()可以执行一个字符串形式的表达式,有返回值的,如eval('1+2'),eval('a+7',{'a':8})

    exec()无返回值,把字符串当python代码执行exec('for i in range(10):print(i)')

    filter(函数,可迭代对象),循环可迭代的对象,获取每一个参数,函数(参数),返回一个列表,如果函数返回true,就添加到返回值列表中,如:

    def f1(x):
        if x > 22:
            return True
        else:
            return False
    ret = filter(f1, [11, 22, 33, 44])
    for i in ret:
        print(i)

    输出结果为[33,44],写成lambda表达式形式:

    ret = filter(lambda x:x > 22, [11, 22, 33, 44])
    for i in ret:
        print(i)

    返回的ret像range()一样,只有在循环迭代的时候才会输出,直接输出会输出一个filter对象

    map(函数,可迭代对象),如:

    def f1(x):
        return x+100
    ret = map(f1,[1,2,3,4,5])
    print(ret)
    for i in ret:
        print(i)

    lambda写法:

    ret = map(lambda x:x+100,[1,2,3,4,5])
    print(ret)
    for i in ret:
        print(i)

    format():字符串格式化,暂不详述,会单独学习

    frozenset():将set冻结,使其不能添加元素

    globals():获取当前代码所有的全局变量

    locals():获取当前代码所有的局部变量

    hash():计算哈希值,在python中,哈希值一般用在字典key的保存上,做一个key的优化,因为有时候key会比较长,为了节省内存,同时又易于找到,就会计算一个哈希值

    iter():迭代器,也会产生一个可迭代的对象,通过执行next,一个个取值:

    obj = iter([1,2,3,4,5])
    print(obj)
    r1 = next(obj)
    print(r1)
    r2 = next(obj)
    print(r2)
    r3 = next(obj)
    print(r3)

    分别取到了1,2,3

    max():最大值
    min():最小值
    open()打开文件
    pow()
    round()四舍五入
    sorted()排序
    sum()求和
    zip()
    __import__():导入模块,比如;import random random.randrange 可以改成这样:r = __import__(random) r.randrange()

    sorted():排序,默认从小到大排序,使用sorted排序数据需要是同一种类型,比如全是数字,全是字符串

    三样东西有助于缓解生命的疲劳:希望、睡眠和微笑。---康德
  • 相关阅读:
    C 运算符, 有符号数据运算,
    P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
    [POI2011]Garbage 欧拉回路
    # bzoj2215: [Poi2011]Conspiracy 2-sat
    hdu1814 Peaceful Commission 2-sat
    2-sat相关复习
    #2718. 「NOI2018」归程 kruskal重构树
    JXOI2018守卫 区间DP
    [NOI1995]石子合并 四边形不等式优化
    3900: 交换茸角
  • 原文地址:https://www.cnblogs.com/ronghe/p/8365226.html
Copyright © 2011-2022 走看看