• python内置方法总结


    abs() #求绝对值

    >>> abs(-19)
    19

    all() #里面的元素全部为真才是真

    >>> all([1,2,3,'',2])
    False

    any #只要有一个元素为真就为真

    >>> any([1,''])
    True

    ascii(对象) 去制定对象的类中找__repr__,获取其返回值

    li = list()
    print(ascii(li))    #在python2里没有
    []  #结果

    bool() #判断真假,把一个对象转换成布尔值

    bool(l)
    True

    bytes #转换成byt型

    print(bytes('ss',encoding='utf-8'))
    b'ss'

    bin() #十进制转换二进制

    >>> bin(19)
    '0b10011'

    oct() #十进制转8进制

    >>> oct(2)
    '02'

    int() #转换成十进制

    i = int('11',base=8)        #base=几进制 表示从什么进制转换成10进制
    print(i)
    9
    >>>

    hex() #十进制转16进制

    >>> hex(23)
    '0x17'

    callable() #判断对象是否可调用,python2里无此方法

    def func():
        pass
    print(callable(func))
    True

    chr() #把数字转换成ASCII

    #小例子 生成随机验证码
    import random
    temp=""
    for i in range(6):
        num = random.randrange(0,4)
        if num ==3 or num ==1:
            red2 = random.randrange(0,10)
         temp = temp + str(red2)
      else:
         rad1 =random.randrange(65,91)
         c1 = chr(rad1)
         temp = temp + c1
    print(temp)
    6ITF4E

    ord() #把ASCII字符转换成数字

    >>> ord('b')
    98

    dir() #查看对象的类型有多少可用方法

    >>> li=list()
    >>> dir(li)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delsli
    ce__', '__doc__', '__eq__', ...省略 '__sizeof__', '__str__', '__subclasshook__', 'a
    ppend', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
    ]

    exec() #使字符串里的for循环能进行循环等操作

    >>> exec('for i in range(5):print(i)')
    0
    1
    2
    3
    4

    eval() #转换字符串成原本含义

    >>> a='1+2+3'
    >>> eval(a)
    6

    divmod(10,3) #用于求分页

    >>> total_count = 73
    >>> per_count=23
    >>> res = divmod(total_count,per_count)
    >>> if res[1] > 0:
        page_count =res[0] + 1
    
        
    >>> print(page_count)
    4

    enumerate() #生成带序列号的迭代器

    dic = {'name':'egon','age':1}
    for i in enumerate(dic):
        print(i)
    (0, 'age')
    (1, 'name')

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

    def f1(x):
        if x>22:
            return True
        else:
            return False
    ret = filter(f1,[11,22,33,44])
    for i in ret:
        print(i)
    
    ret = filter(lambda x: x>22,[11,22,33,44])
    
    
    def f1(x):
        if x % 2 == 1:
            return x +100
        else:return x
    ret = map(f1,[1,2,3,4,5])
    
    ret = map(lambda x: x+ 100 if x % 2 == 1 else x,[1,2,3,4,5])
    for i in ret:
        print(i)
    33
    44
    101
    2
    103
    4
    105

    frizenset() #不可变集合

    s = frozenset({1,2,3})
    print(type(s))
    <class 'frozenset'>

    globals() #查看当前全局作用域的变量有哪些

    noglobals() #查看当前全局作用域的变量有哪些

    ###判断某个对象判断某个对象是否是某个类创建的

    >>> print(type(1))
    <type 'int'>
    >>> print(isinstance(1,int))    #判断类型最好用这个方法
    True

    iter() #将对象变成可迭代对象

    >>> a=iter([1,2,3])

    max() #求最大值

    print(max(i for i in range(10))))
    9

    pow() #幂运算,加入第三个参数可求余

    print(pow(3,2,2))
    1

    reversed() #反转

    a=reversed([33,22,44,43,11])
    for i in a:
        print(i)
    11
    43
    44
    22
    33

    round() #保留几位,在四舍五入

    print(round(3.3456,3))
    3.346

    slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

    l = ['a1','a2','a3','a4','a5','a6','a7','a8']
    x=slice(2,5,2)
    print(l[x])
    ['a3', 'a5']

    sum() 方法对序列进行求和计算。

    print(sum(i for i in range(101)))
    print(sum([1,2,3,4]))
    5050
    10

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    s='hello'
    l=[1,2,3,4,5,6]
    for i in zip(s,l):
        print(i)
    ('e', 2)
    ('l', 3)
    ('l', 4)
    ('o', 5)

    reduce() 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    在python3里需要导入
    from functools import reduce
    res=0
    for i in range(100):
        res+=1
    print(reduce(lambda x,y:x+y,range(100))
    5050

    filter() #过滤

    names=['alex_sb','yuanhao_sb','wupeiqi_sb','egon']
    print(list(filter(lambda name:name.endswith('_sb'),names)))
    ['alex_sb', 'yuanhao_sb', 'wupeiqi_sb']

    sorted #排序

    l=[1,2,4,9,-1]
    print(sorted(l))    #从小到大
    print(sorted(l,reverse=True))   #从大到小
    [-1, 1, 2, 4, 9]
    [9, 4, 2, 1, -1]
     
  • 相关阅读:
    SQL Server检测是不是数字类型的函数(非ISNUMERIC)
    网页中的QQ和阿里旺旺聊天图标
    转载:用 document.readyState == "complete" 判断页面是否加载完成
    sql server行转列 列转行交叉表实现[转]
    拆分列值
    值得收藏的各类型数据库连接串事例网站
    保留几个图表生成免费资源
    MSN消息提示类(II)
    生成Excel”服务器进程80070005“错误和“异常来自 HRESULT:0x800A03EC”的错误,windows server 2008 32位和64位下的特殊设置。
    winform中DataGridView的某些属性
  • 原文地址:https://www.cnblogs.com/songcheng/p/7056559.html
Copyright © 2020-2023  润新知