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

     python之内置函数

    # locals: 当前作用域的所有的变量   **
    # globals: 永远获取的是全局作用所有的变量等。 **
    name = '太白'
    age = 25
    
    
    def func1():
        a1 = 'Ws'
        b1 = {'name': '二狗'}
        print(globals())  #全局
        print(locals())  # 当前作用域的
    func1()

     

    name = '太白'
    age = 25
    def func1():
        a1 = 'Ws'
        b1 = {'name': '二狗'}
        # print(globals())  #全局
        # print(locals())  # 当前作用域的
    func1()
    print(globals())  #在外面打印都是一样的
    print(locals())   #在外面打印都是一样的

    # eval : 执行字符串中的代码并将结果返回给执行者。  慎用
    # exec : 执行字符串中的代码 往往执行代码流。 慎用。
    s1 = '1 + 2'
    print(eval(s1))
    print(exec(s1))
    
    s2 = '33 * 2'
    print(eval(s2))
    print(exec(s2))
    s3 = 'print(666)'
    print(eval(s3))
    print(exec(s3))

    # print()
    print(1, 2, 3)
    print(1, 2, 3, sep='|')  #在中间增加分隔符
    print(1, 2, 3, end='!')  #在结尾在增加字符
    print(help(str))  #查看str的帮助
    # callable  判断对象是否可调用  **
    a1 = 'barry'
    def func1():
        print(666)
    print(callable(a1))   #False
    print(callable(func1))  #True
    # dir
    print(dir('alex'))

    # bin 十进制转换成二进制
    print(bin(100))
    # divmod() 分页会用到。返回 (商2,余数1)  **
    print(divmod(7, 3))  #(2, 1)
    # sum:对可迭代对象进行求和计算(可设置初始值)。
    print(sum([i for i in range(10)])) #求0-9的和
    print(sum([i for i in range(10)], 100))  #设定初始大小为100,从100+0+1+2+..+9
    # min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。  ***
    print(min(1,2,3,4,5))  #1
    a = min(1,2,3,4,5)
    print(a,type(a))
    print(min([1,2,3,4,5])) #1
    b = min([1,2,3,4,5])
    print(b,type(b))

    l1 = [('alex', 3), ('太白', 1), ('wS', 2)]
    def func(x):     #把l1列表里面的每个元素传给了x
        #print(x)     #打印的3个元祖
        return x[1]  #根据索引返回最小的元素('太白', 1)
    print(min(l1,key=func))

    # max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。  ***
    # 与上面一致。
    l1 = [('alex', 3), ('太白', 1), ('wS', 2)]
    def func(x):     #把l1列表里面的每个元素传给了x
        # print(x)     #打印的3个元祖
        return x[1]  #根据索引返回最小的元素('太白', 1)
    print(max(l1,key=func))

    # reversed  返回一个新的翻转的迭代器   ***
    #1
    l1 = [2, 3, 4, 1]
    l1.reverse()
    print(l1)  # 1 4 3 2
    #2
    l1 = [2, 3, 4, 1]
    l2 = reversed(l1)
    print(list(l2)) # 1 4 3 2

    # format()
    print(format('test', '<20'))
    print(format('test', '>20'))
    print(format('test', '^20'))

    # bytes:用于不同编码之间的转化。  **
    s1 = '太白'
    # unicode ---> utf-8 bytes
    b1 = s1.encode('utf-8')
    print(b1)
    # # utf-8 bytes ---> unicode
    s2 = b1.decode('utf-8')
    print(s2)

    s1 = '太白'
    # unicode ---> utf-8 bytes
    b1 = bytes(s1, encoding='utf-8')
    print(b1)

    # 通过输入字符找到 Unicode 对应的位置
    print(ord(''))
    print(ascii('a'))
    print(ascii(''))

    # repr:返回一个对象的string形式(原形毕露)。  ***
    s1 = "alex"
    l3 = '[1,2,3]'
    print(s1)
    print(l3)
    print(repr(s1))
    print(repr(l3))

    # 格式化输入里面的%r 也能原形毕露
    s1 = '我叫%s, 我是%r' % ('alex', 'sb')
    print(s1)

    # sorted  ***
    l1 = [1, 2, 7, 6, 5, 4]
    l2 = sorted(l1)
    print(l2)

    # 用key的方式排序
    l1 = [('alex', 3), ('太白', 1), ('wS', 2), ('wS', 4)]
    def func(x):  #把l1列表里面的每个元素传给了x
        return x[1]  ##根据索引排序
    new_l = sorted(l1,key=func,reverse=True)  
    print(new_l)

    # enumerate  枚举***
    # 先不用枚举的方式
    l1 = ['太白%s' % i for i in range(10)]
    for index in range(len(l1)):
        print(index, l1[index])

    # 先这个查看一下
    l1 = ['太白%s' % i for i in range(10)]
    for i in enumerate(l1):
        print(i)

    # 最终
    l1 = ['太白%s' % i for i in range(10)]
    for index, i in enumerate(l1):
        print(index, i)

    增加初始值

    l1 = ['太白%s' % i for i in range(10)]
    for index, i in enumerate(l1, 10):  #后面的10是设定的初始值
        print(index, i)

    # all:可迭代对象中,全是真的才是True  **
    # any:可迭代对象中,只要有一个是真的就是真的 **
    print(all([1,2,True,100]))  #True
    print(any(['', 0]))  #  False
    print(any(['1', 0]))  #** True
    # zip  ***
    l1 = [1, 2, 3, 6, 7, 8, 9]
    l2 = ['a', 'b', 'c', 5]
    l3 = ('*', '**', (1, 2, 3))
    #
    print(zip(l1, l2, l3))  #<zip object at 0x000000CD6C4DBA48>
    for i in zip(l1, l2, l3):
        print(i)

    # filter 返回是迭代器  类比成列表推导式:筛选模式  ***
    对已存在的列表进行筛选
    l1 = [i for i in range(100) if i % 2 == 0]  #使用列表推导式进行筛选
    print(l1)  #[0, 2, 4, 6, 8, 10, 12, 14....96,98]

    将1-6里面的偶数留下来 l1 = [1, 2, 3, 4, 5, 6] def func(x): #x是1 2 3 4 5 6 return x % 2 == 0 obj1 = filter(func,l1) #注意格式,先函数名后列表 print(obj1) #<filter object at 0x0000001E36708278> #返回的是 print(list(obj1)) #[2, 4, 6]

    # map: 返回一个迭代器  类比成列表推导式:循环模式  ***
    # 他不仅可以操作列表,可迭代对象、迭代器都可以操作
    l1 = [1, 2, 3, 4, 5, 6]
    def func(x):
        return x ** 2
    print(list(map(func, l1)))





  • 相关阅读:
    在UltraEdit中如何像NotePad++一样实现双击单词在全文中高亮
    记人生第一次做面试官的经历
    error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug
    压缩感知中的数学知识:稀疏、范数、符号arg min
    Tensorflow timeline trace
    tensorflow serving
    日志分析工具ELK(一)
    Zabbix3.0安装部署最佳实践
    防cc攻击利器之Httpgrard
    反向代理负载均衡之haproxy
  • 原文地址:https://www.cnblogs.com/wangkaiok/p/9950065.html
Copyright © 2011-2022 走看看