• python之内置函数


    一.内置函数列表

    python中内置了一些函数和类总是可调用的,按字母排列如下 :

    分类 如下 :

    1. 数值函数

        abs() 绝对值

        max() 获取一组数据的最大值

        min() 获取一组数据的最小值

        len() 获取一个序列,或字符串的长度

        divmod(x,y) 获取商和余数

        pow(x,y[,z]) 取幂

        round(number[,ndigits]) 四舍五入函数,ndigits为可选参数,保留位数

    sum() 求和

      举例:   

    #取绝对值 
    >>> abs(-123)
    12
    #取最小值
    min(22,12,888)
    12
    #取最大值
    max(22,12,888)
    888
    #取长度
    len("string")
    6
    len([1,2,3,4,5,6])
    6
    #获取商和余
    >>> divmod(10,3)
    (3, 1)
    #取值的几次方
    >>> pow(2,3)
    8
    #四舍五入
    >>> round(1.5,0)
    2.0   
    #求和
    >>> li = [1,2,3,4]
    >>> sum(li)
    10

    2.类型转化函数

    type()  查看数据类型

    int()  转换为整数类型

        str()  转换为字符串

        bytes() 将字符串转换为字节

        list()  转换为列表

        tuple() 转换为元组

        hex()  将一个整数转换为一个十六进制字符串

    oct()   将一个整数转换为一个八进制字符串

    bin()   将一个整数转换为一个二进制的字符串

        chr()   将一个整数转换为一个字符

        ord()   将一个字符转换为它的整数值

    #type() 查看数据类型 
    >>> sum(li) 10 >>> type(li) <class 'list'>

     

    #int() int转换为整数类型
    >>> a = '123'
    >>> type(a)
    <class 'str'>
    >>> b = int(a)
    >>> type(b)
    <class 'int'>
    #str() 将整数转为字符串
    >>> a = '123'
    >>> type(a)
    <class 'str'>
    >>> b = int(a)
    >>> type(b)
    <class 'int'>
    >>> c = str(b)
    >>> type(c)
    <class 'str'>
    #list() 将字符串转为列表
    >>> s = str("123")
    >>> type(s)
    <class 'str'>
    >>> l = list(s)
    >>> print(l)
    ['1', '2', '3']
    >>> type(l)
    <class 'list'>
    #tuple()将数据类型转为元组
    >>> li = ['a','b','c']
    >>> tu = tuple(li)
    >>> type(tu)
    <class 'tuple'>
    >>> print(tu)
    ('a', 'b', 'c')
    #hex() 将整数转换为16进制的字符串类型
    >>> num = 14
    >>> he = hex(num)
    >>> print(he)
    0xe
    >>> type(he)
    <class 'str'>
    #oct()   将一个整数转换为一个八进制字符串
    >>> num = 14
    >>> oc = oct(num)
    >>> print(oc)
    0o16
    >>> type(oc)
    <class 'str'>
    #bin()   将一个整数转换为一个二进制的字符串
    >>> num = 5
    >>> b = bin(num)
    >>> print(b)
    0b101
    >>> type(b)
    <class 'str'>
    #chr()   将一个整数转换为一个字符
    >>> st = chr(65)
    >>> print(st)
    A
    #ord()   将一个字符转换为它的整数值
    >>> num = ord('A')
    >>> print(num)
    65
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    #随机验证码生成
    
    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)
    #bytes() 转为字节
    str_data = "呵呵" bytes_data = bytes(str_data, encoding='utf-8')

    3.序列处理函数

        filter()  根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表

        zip()  接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

        map()  

    function应用于iterable的每一个元素,返回结果的列表。如果有额外的iterable参数,并行的从这些参数中取元素,并调用function如果一个参数比另外的要短,将以None扩展该参数元素。如果functionNone使用特性函数;如果有多个参数,map()返回一元组列表,元组包含从各个参数中取得的对应的元素(某种变换操作)。iterable参数可以是序列或者任意可迭代对象;结果总是列表。

        reversed() 用于反向列表中元素

        enumerate() 为可迭代的对象添加序号

    #filter 过滤满足条件的元素
    >>> a = [ 1,2,3,4]
    >>> b = filter(lambda x: x > 2, a)
    >>> for i in b:
    ...     print(i)
    ...
    3
    4
    #zip
    name = ['a','b']
    age = [11,22]
    result = zip(name,age)
    for i in result:
        print(i) 

    #执行结果
    ('a', 11)
    ('b', 22)
    #map
    >>> def test(x):
    ...     return x - 50
    ...
    >>> num = [150, 200, 25]
    >>> map(test,num)
    <map object at 0x0000000000D5AEB8>
    >>> for i in map(test,num):
    ...     print(i)
    ...
    100
    150
    -25
    #reversed
    >>> a = [1,2,3]
    >>> ret = reversed(a)
    >>> for i in ret:
    ...     print(i)
    ...
    3
    2
    1
    #enumerate
    
    a = ['a','b','c']
    dic = {}
    for k,i in enumerate(a,10):
        print(k,i)
        dic[k] = i
    print(dic)

    4.逻辑判断类

      all(iterable)  集合中的元素都为真时返回True,空字符串也为true

      any(iterable) 集合中只要有任意一元素为真都会返回True

      

    #all() 循环参数 ,如果每个元素都为真那么all的返回值都为真
    def all(iterable):
        for i in iterable:
            if not i:
                return False
        return True
    li = [0,1,2,0]
    result = all(li)
    print(result)
    #只要有一个值为真则为真
    
    li = [1,2,0]
    print(any(li))

      5.其它 函数

        id()   返回对象的唯一标识

        globals()  全局变量

        locals()  返回当前的变量列表

        callable()  检查是对象是否可被调用

        dir()    返回当前范围内的变量、方法和定义的类型列表

        eval()   用法类似exec(),不同的是execfile的参数filename为文件名,而exec的参数为字符串

        input()  获取用户输入

        isinstance()  判断object是否是class的实例

        vars()  打印对象属性

    #ID查看内存地址
    >>> a = "test"
    >>> id(a)
    14265624
    #查看全局变量
    >>> a = "test"
    >>> print(globals())
    {'a': 'test', '__doc__': None, '__spec__': None, '__loader__': <class '_frozen_i
    mportlib.BuiltinImporter'>, '__name__': '__main__', '__package__': None, '__buil
    tins__': <module 'builtins' (built-in)>}
    #locals()
    
    >>> def test():
    ...     a = "hehe"
    ...     print(locals())
    ...
    >>> test()
    {'a': 'hehe'}
    #查看对象是否可调用
    >>> a = "123"
    >>> callable(a)
    False
    >>> callable(len)
    True
    #dir()    返回当前范围内的变量、方法和定义的类型列表
    
    >>> dir(list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__'
    , '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__'
    , '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__'
    , '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_e
    x__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__s
    izeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'ex
    tend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    #eval
    >>> a = 1
    >>> eval("a+1")
    2
    #input
    >>> print(input("内容:"))
    内容:a
    a
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    #isinstance()
    #写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
    def length(p):
        if isinstance(p,str) or isinstance(p,list) or isinstance(p,tuple):
            if len(p) >5:
                return "长度大于5"
            else:
                return False
        return None
    temp = [1,2,3]
    ret = length(temp)
    print(ret)

    二.lambda表达式

    对于简单的函数,也存在一种简便的表示方式

    # ###################### 普通函数 ######################
    # 定义函数(普通方式)
    def func(arg):
        return arg + 1
        
    # 执行函数
    result = func(123)
        
    # ###################### lambda ######################
        
    # 定义函数(lambda表达式)
    my_lambda = lambda arg : arg + 1
        
    # 执行函数
    result = my_lambda(123)

    举例:

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

     

  • 相关阅读:
    封装一个通用递归算法,使用TreeIterator和TreeMap来简化你的开发工作。
    优化特性(Attribute)性能
    不需要了解任何底层知识,就可以汉化!Let`s go!!!
    颠覆你对方法调用的看法!
    实际项目中面向对象的最佳实践
    递归使用触发器
    关于稀疏数组
    121-django中的Http404处理
    120-在前端使用django-ckeditor,很简单,很方便
    119-用django实现评论功能
  • 原文地址:https://www.cnblogs.com/jl-bai/p/5477309.html
Copyright © 2020-2023  润新知