zoukankan      html  css  js  c++  java
  • doc

        

        今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:

    下面就一一介绍一下内置函数的用法:

        1、abs() 

            返回一个数值的绝对值,可以是整数或浮点数等。

    1
    2
    3
    4
    5
    6
    print(abs(-18))         
    print(abs(0.15))
     
    result:
    18
    0.15

       2、all(iterable)

           如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    print(all(['a','b','c','d']))      #列表list,元素都不为空或0,返回True
    True
    print(all(['a','b','','d']))       #如果存在一个为空的元素,返回False
    False
    print(all([0,1,2,3]))              #如果存在为0的元素,同样返回False
    False
     
    print(all([]))                     #空元组和空列表返回值为True
    True
    print(all(()))
    True

        3、any(iterable)

       如果iterable的任何元素不为0、''、False,all(iterable)返回True,如果iterable为空,返回Fasle。

     注意:此函数与all()函数的在于,any()函数中有任意一个元素为0、''、False不影响整体,会返回True,而all()函数中必须是全部不包含特殊元素才会返回True,只要有一个特殊元素,会直接返回False.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    print(any(['a','b','c','d']))      #列表list,元素都不为空或0
    True
    print(any(['a','b','','d']))       #列表list,存在一个为空的元素,返回True
    True
    print(any([0,False]))              #如果元素全部是0,Fasle,返回Fasle
    False
    print(any([]))                     #any函数中空列表和空元组返回Fasle
    False
    print(any(()))
    False

        4、bin()

            将一个整数转换成一个二进制字符串,结果以'0b'为前缀。

    1
    2
    3
    4
    5
    6
    7
    8
    print(bin(32))                     #将十进制转换成二进制
    print(bin(64))
    print(bin(128))
     
    result:
    0b100000
    0b1000000
    0b10000000

        5、hex()

            将一个整数转换成一个小写的十六进制字符串,结果以'0x'为前缀。

    1
    2
    3
    4
    5
    6
    print(hex(255))                    #将整数转换成十六进制
    print(hex(192))
     
    result:
    0xff
    0xc0

        6、oct()

            将一个整数转换成八进制的字符串,结果以'0o'为前缀。

    1
    2
    3
    4
    5
    6
    print(oct(255))                    #将整数转换成八进制
    print(oct(192))
     
    result:
    0o377
    0o300

        7、bool()

            返回一个布尔值,True或False。

    1
    2
    3
    4
    5
    6
    7
    8
    print(bool())                     #bool值缺省为False
    False
    print(bool(0))
    False
    print(bool('jack'))
    True
    print(bool(""))
    False

        8、bytes()

            将一个字符串转换成你想要的编码格式的字节。

    1
    2
    3
    4
    5
    print(bytes('你好',encoding='utf-8'))      #将字符串转换成utf-8编码格式的字节
    b'xe4xbdxa0xe5xa5xbd'
      
    print(bytes('你好',encoding='gbk'))        #将字符串转换gbk编码格式的字节
    b'xc4xe3xbaxc3'

        9、chr()

            介绍chr()函数之前先看一下ASCII码对照表:


    chr()函数就是返回整数对应的ASCII码对照表里的字符,取值范围[0~255]之间的正数。

    ord()函数作用正好和chr()函数相反,不再介绍,请看下面例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    n = chr(65)           #根据十进制找到在ascii码里对应的字符
    print(n)
     
    result:A
     
    a= ord("a")           #根据字符找到在ascii码里对应的十进制
    print(a)
     
    result:97

        10、compile(source,filename,mode)

            将source编译为,代码对象能够通过exec语句来执行或者eval()进行求值。

            source:字符串或者对象;

            filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值;

            model:编译代码的种类,可以指定为'exec','eval','single'。

    1
    2
    3
    4
    5
    6
    code="for i in range(0,10):print(i)"   
    cmpcode = compile(code,'','exec')           #可以将字符串转换成python代码执行
    print(cmpcode)
     
    result:
    <code object <module> at 0x000002A54E938ED0, file "", line 1>

        11、exec()

            exec语句用来执行储存在字符串或文件中的Python语句。

    1
    2
    3
    4
    exec("print('hello,world')")                #执行exec()里的python语句
     
    result:
    hello,world

        12、eval()

            eval()函数将字符串str当成有效的表达式来求值并返回计算结果

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ret = eval("8*8")                         #执行表达式并返回结果
    print(ret)
     
    #result:64
     
    t = exec("8*8")                           #执行python代码,可以接收或字符串,没有返回值
    print(t)
     
    #result:None

        13、divmod(a,b)

            divmod(a,b)方法是计算a,b的商和余数,即:a//b 余几,返回结果为元组。以后做网页翻页的时候会。

    1
    2
    3
    4
    5
    num = divmod(9,2)                         #9//2
    print(num)
     
    #result:
    (4,1)                                     #结果为商4余1

        14、enumerate(iterable,start=0)

            返回一个枚举对象。iterable必须是序列,迭代器,或者其他支持迭代的对象。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dic = {'name':'jack',
           'age':18,
           'sex':'boy',}
    for i in enumerate(dic.keys(),start=0):
        print(i)
     
    #result:
    (0, 'name')
    (1, 'sex')
    (2, 'age')

        15、filter()

            对于序列中的元素进行筛选,最终获取符合条件的序列。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    filter()              #循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示元素合法
    filter内部实现方法:
    for item in 第二个参数:
       r = 第一个参数(item)
       if r:
          result(item)
    return result
     
    #例:
    def f1(args):
        if args>22:
            return True
    li=[11,22,33,44]
    ret = filter(f1,li)   
    print(list(ret))              #返回值为一个迭代器,所以使用list()函数来返回

    像上面这种简单的函数可以使用lambda函数来执行:

    1
    2
    3
    li = [11,22,33,44]
    ret = filter(lambda a:a>22,li)      #通过lambda函数处理,lambda是有返回值的,条件成立返回True
    print(list(ret))                      

        16、map(函数,可迭代的对象)

            遍历序列,对序列中每个元素进行操作,最终获取新的列表。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    li = [11,22,33,44]
    new_list = map(lambda a:a+100,li)
    print(new_list)
     
    #result:
    [110,122,133,144]
     
    li = [11, 22, 33]
    sl = [1, 2, 3]
    new_list = map(lambda a, b: a + b, li, sl)
    print(list(new_list))
     
    #result:
    [12, 24, 36]

        17、reduce()

            对于序列内所有元素进行累计操作:

    1
    2
    3
    4
    5
    6
    li = [11,22,33]
    result = reduce(lambda arg1,arg2:arg1 + arg2,li)
    print result
     
    #result:                         #注意在Python3中已经没有了reduce函数
    66

        18、isinstance()

            判断对象是不是类的实例。

    1
    2
    3
    4
    5
    6
    li = [11,22,33]
    n = isinstance(li,list)          #判断li是不是list类的实例
    print(n)                
     
    #result:
    True                             #返回True/False

        19、len()

             判断字符串长度。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    s = "你好"
    print(len(s))                    #在python3中len函数既可以取的字符的长度,也可以取字节的长度
                                     #python2.*中len函数只可以取字节的长度
     
    #result:2
     
    s = "你好"
    b = bytes(s,encoding='utf-8')
    print(len(b))
     
    #result:6
     
    分别使用2.*3.*循环“你好”,查看结果:
    2.7 for 循环“你好”                        #输出6个空字符
    3.5 for 循环“你好”查看结果                 #输出"字符串结果"

        20、max()、min()、sum()

            max():取最大值;  min():取最小值;  sum():取总的值

    1
    2
    3
    4
    5
    6
    7
    li=[11,22,33]
    print(max(li))                      #最大值
    33
    print(min(li))                      #最小值
    11
    print(sum(li))                      #总和
    66

        21、pow(x,y)

            pow()返回x的y次方的值。

    1
    2
    3
    4
    print(pow(2,3))                     #计算2的3次方
    8
    print(pow(2,4))                     #计算2的4次方
    16

        22、round()

            round() 方法返回浮点数x的四舍五入值。

    1
    2
    3
    4
    print(round(2.3))                   #四舍五入
    2
    print(round(2.8))
    3

        23、random()

            random方法返回随机生成的一个实数,它在[0,1]范围内。

    1
    2
    3
    4
    import random
    print('random:',random.random())
     
    #result: random: 0.7037348886029884

        24、choice()

            choice()方法返回一个列表,元组或字符串的随机项。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import random
     
    #取列表或元组的随机值
    print("choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]))
    print("choice('A String') : ", random.choice('A String'))
     
    #result:
    choice([1, 2, 3, 5, 9]) :  9                  #执行一次值会变一次
    choice('A String') :  i

        25、randrange()

            返回指定递增基数集合中的一个随机数,基数缺省值为1,听这个意思不是太好理解,下面举例说明:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import random
     
    #随机输出100到1000间的偶数
    print("rangrange(100,1000,2):",random.randrange(100,1000,2))
    #随机输出100到1000间的其他数
    print("rangrange(100,1000,2):",random.randrange(100,1000,3))
     
    #result:
    rangrange(100,1000,2): 260
    rangrange(100,1000,2): 511

     

    下面将上面三个函数放在一起,来做一道题,生成6位的随机数,其中包括大写字母,数字?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import random
     
    li= []
    for i in range(6):                     #循环6次
        temp = random.randrange(65,91)     #random随机数从ascii码里取65到91
        c = chr(temp)                      #将随机数找到ascii码表里找到具体字符
        li.append(c)                       #追加到空列表里
    result = "".join(li)                   #再用join的方式将列表转换成字符串
    print(result)                          #结果全是大写字母
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    li = []                                       #定义空列表
    for i in range(6):                            #循环6次
        r= random.randrange(0,5)                  #生成一个0-4的随机值,然后根据r的值判断数字出现的位置
        if r ==2 or r==4:                         #如果第一次循环r==2或者4的时候,条件满足,在列表里随机添加一个数字
            num = random.randrange(0,10)          #生成一个0-9的随机数
            li.append(str(num))
        else:
            temp = random.randrange(65,91)        #如果上面条件不成立,添加字符串
            c = chr(temp)
            li.append(c)
     
    result = "".join(li)
    print(result)

        26、zip()

            利用每个可迭代元素,制作一个迭代器来聚合元素。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    l1 = ['北京',11,22,33]
    l2 = ['欢迎',11,22,33]
    l3 = ['你',11,22,33]
    r=zip(l1,l2,l3)
    #print(list(r))  
    # [('北京', '欢迎', '你'), (11, 11, 11), (22, 22, 22), (33, 33, 33)]
    temp = list(r)[0]
    ret ="".join(temp)
    print(ret)

    今天的内置函数就介绍到这,由于还没有学习面向对象编程,一些内置函数会在学完面向对象编程以后,在更新。



  • 相关阅读:
    网页设计~老生常谈~浏览器兼容2个主要问题的解决
    谈谈网页功能测试
    从PMP学习中浅谈公司行政工作
    肉肉谈对需求设计的想法到底是功能驱动界面?还是界面驱动功能?
    jndi和rmi学习
    mysql赋值变量:=的使用
    用Cookies和HashTable制作购物车
    nginx实现简单的反向代理
    .net Form认证扩展保存 Object 类型
    基于Docker搭建私有镜像仓库
  • 原文地址:https://www.cnblogs.com/phennry/p/5544509.html
Copyright © 2011-2022 走看看