zoukankan      html  css  js  c++  java
  • Python内置函数

    python的内置函数:

    abs

    print(abs(-1))  # 取绝对值
    print(abs(0))  # 取绝对值
    

    all

    all内部只有一个元素,内部是一个可迭代的对象

    元组 列表形式的

    print(all([]))  # 里面是可迭代对象  空返回true
    print(all((1,'')))  # 里面是可迭代对象 依次取内部的x进行bool运算,只有所有的全部为True  这里字符串为空,返回false
    print(all((1,[])))  # 里面是可迭代对象 依次取内部的 空是false
    print(all((1,2,' ',None)))  #字符串的空格是True  None是false
    

    生成器方式:

    (for i in range(100))  # 这是一个生成器对象,
    print(all(i for i in range(1,3))) # 内部是生成器,容易出错的是加上括号
    

    any

    any是有任何一个的bool值是True,返回值是True,空返回的是false

    print(any([]))
    print(any([None,0,'',{},1]))
    

    bin

    print(bin(10))  # 十进制转换成二进制
    

    bool

    空的情况:0、空字符串、空字典、空列表、None、

    print(bool(0))
    print(bool(''))
    print(bool(None))
    print(bool([]))
    

    返回值都是false

    bytes

    print(bytes('hello',encoding='utf-8'))
    

    b'hello'

    callable

    查看能否被调用

    # 可以被调用
    def test():
        pass
    print(callable(test))
    

    能被调用,返回True

    chr

    print(chr(65))
    

    ord

    print(ord('A'))
    

    complex

    x = complex(1-2j)
    print(x.real)   # 复数的实部
    print(x.imag)  # 复数的虚部
    
    
    不可变字典  不能增删改查
    x = frozenset({1,2,3,4})
    print(x)
    

    dir

    查看sum可以调用的方法,返回值是列表的形式

    print(dir(sum))
    
    print(divmod(10,3))  # 整除和取余数   用于分页,第一个是整除,第二个是取余数
    

    enumerate

    # d = enumerate(['a','b','c'])   
    # d.__iter__()
    # d.__next__()     # 是迭代器
    # for i in enumerate(['a','b','c']):  #
    #     print(i)
    

    hash

    s1修改后,hash的值会改变,hash有不同的方法,MD5,SHA

    s1 = "123"
    print(hash(s1))
    
    s1 = "456"
    print(hash(s1))
    ``
    
    
    ### id ###
    
    ```python
    print(id("123")) # 身份
    x = 'a'
    y= 'a'
    print(id(x))
    print(id(y))
    print(x is y)
    

    结果是一样的

    hex

    十进制转换成16进制

    max

    max内部是可迭代的对象iternable

    slaries ={
        "a":10000000,
        "b":2000000,
        "c":300000,
        "d":40000
    }
    
    def get_value(k):
        return slaries[k]   # 针对的是字典的key  返回的是相应key的value
    print(get_value("a"))
    
    print(max(slaries,key=get_value))  # 内部是可迭代对象,key的值是一个函数
    print(max(slaries))    #这样是返回的的key的字符串的比较,先比较第一个ascii,第一个相同,比较后面的
    

    匿名函数lambda

    f = lambda k :slaries[k]  # 这一行就是一个返回值    lambda k  就相当于是def+函数名  slaries[k]就是return
    print(f("a"))
    

    取出value最大的key

    slaries ={
        "a":10000000,
        "b":2000000,
        "c":300000,
        "d":40000
    }
    print((max(slaries,key=lambda k:slaries[k])))
    

    min

    取出最小的value
    print((min(slaries,key=lambda k:slaries[k])))

    zip

    形象的解释成拉链,是一个迭代器

    
    l1 = [1,2,3]
    s = 'hello'
    for i in zip(l1,s):
        print(i)
        
    

    结果:
    (1, 'h')
    (2, 'e')
    (3, 'l')
    返回的是数组

    取出所有的key并对用所有的value

    z = zip(slaries.keys(),slaries.values())
    print(max(z))  # 内部是迭代器
    

    sorted 升序

    l = [1.2,5,6,8,2,5,]
    print(sorted(l,))   # 把列表升序排列
    print(sorted(l,reverse=True))  # reverse = True 代表降序排列
    
    slaries ={
        "a":10000000,
        "b":2000000,
        "c":300000,
        "d":40000
    }
    
    # print(sorted(slaries)) #默认是按照字典的key排序
    print(sorted(slaries,key=lambda k:slaries[k]))   # 工资按照升序排列
    print(sorted(slaries,reverse=True,key=lambda k:slaries[k]))   # 工资按照降序排列
    print(sorted(slaries,key=lambda k:slaries[k],reverse=True))   # 工资按照降序排列
    

    map 映射

    map(func, *iterables) --> map object

    map第一个是函数,第二个是可迭代对象

    l = [1,2,3,46,7]
    m=map(lambda item:item**2,l) # 函数 可迭代对象
    # for i in m:
    #     print(i)
    print(list(m))    # 因为m是迭代器,所以转换成列表
    

    reduce合并

    from functools import reduce Python3中需要导入

    from functools import reduce
    
    l=list(range(100))
    # print(l)
    m = reduce(lambda x,y:x+y,l)
    print(m)
    
    

    结果:
    4950

    m=reduce(lambda x,y:x+y,l,100) # 设置初始值   
    

    思路理解:
    先是初始值给x,从列表中获取第一个值0--y,x+y=100,
    100给x 二 1--y,x+y = 101,
    默认的时候第一个值是0

    filter过滤

    name_l=[
        {'name':'aaa','age':18},
        {'name':'bbb','age':20},
        {'name':'ccc','age':5000},
        {'name':'dddd','age':100000},
    ]
    f = filter(lambda d:d['age'] > 100,name_l) # 函数lambda中的是进行的布尔运算
    print(list(f))
    

    结果:
    [{'name': 'ccc', 'age': 5000}, {'name': 'dddd', 'age': 100000}]

    oct

    把十进制转换成8进制

    slice切片

    # s=slice(2,5,2)  # 开始,结尾 步长
    # print(l[s])
    
    # l=[1,2,3,4,5]
    # print(l[2:4])  # 顾头不顾尾
    

    vars

    prints(vars())   # 此时等同于local()
    

    打印局部空间变量
    {'name': 'main', 'doc': None, 'package': None, 'loader': <_frozen_importlib_external.SourceFileLoader object at 0x00000000021D95C0>, 'spec': None, 'annotations': {}, 'builtins': <module 'builtins' (built-in)>, 'file': 'D:/Python_fullstack_s4/day25/test.py', 'cached': None, 'slaries': {'a': 10000000, 'b': 2000000, 'c': 300000, 'd': 40000}}

    通过字符串导入

    __import__("time")
    

    这种可以用于将读取的字符串作为模块导入

  • 相关阅读:
    Flume线上日志采集【模板】
    【转】什么叫众筹?什么叫大数据?什么叫互联网思维?简单粗暴秒懂!
    【转】搞清楚LzoCodec和LzopCodec
    linux tail -f 和 tail -F的区别 && tail 的断点续传
    hadoop输出lzo文件并添加索引
    中文转Punycode
    Storm学习笔记——简介
    HBase学习笔记——Java API操作
    HBase学习笔记——配置及Shell操作
    HBase学习笔记——概念及原理
  • 原文地址:https://www.cnblogs.com/Python666/p/6705698.html
Copyright © 2011-2022 走看看