美文网首页
1.5.5 Python内置函数

1.5.5 Python内置函数

作者: 花姐毛毛腿 | 来源:发表于2019-01-19 23:37 被阅读0次

    点击跳转笔记总目录

    一,Python内置函数

    1.locals()和globals()

    def func():
        x = 1
        y = 2
        print(locals())
        print(globals())
    
    
    func()
    

    2.eval,exec,和compile

    print(123)
    "print(456)"  ## 字符串
    eval("print(456)")  ## 吧字符串转换成python代码去执行(有返回值)
    exec("print(7889)")  ## 吧字符串转换成python代码去执行(无返回值)
    num = eval('4+5+6')  ## 执行了,有返回值
    print(num)
    
    num = exec('4+5+6')  ## 执行了,没有返回值
    print(num)
    compile  ## 做编译
    com = compile('1+2+3', '', mode='eval')  ## 节省时间
    print(eval(com))
    print(eval('1+2+3'))  ## 这句效果和上面的compile()效果一样
    

    3.print

    print('123', end='')  ## 不换行
    print('456', end='')
    
    print(1, 2, 3)
    print(1, 2, 3, 4, 5, 6, sep=',')
    
    ## print()函数的小例子
    import time
    import sys
    
    for i in range(0, 101, 2):
        time.sleep(0.1)
        char_num = i // 2  ## 打印多少个#
        per_str = '%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s' % (i, '*' * char_num)
        print(per_str, end='', file=sys.stdout, flush=True)
    
    import sys
    
    for i in range(0, 101, 2):
        time.sleep(0.1)
        char_num = i // 2
        per_str = '\r%s%% : %s' % (i, '*' * char_num)
        print(per_str, file=sys.stdout, flush=True)
    

    4.input()

    5.type()

    s = '1213'
    print(type(s)) #输出s的类型
    

    6.hash

    print(hash('asdsffd'))  ## 一开始几个都是不变的,,然后重新运行一次就变了
    print(hash('asdsffd'))
    print(hash('asdsffd'))
    print(hash('asdsffd'))
    print(hash('asdsffd'))
    print(hash((1, 2, 3, 4)))
    

    7.open

    ## r, w, a, r +, w +, a + (都可以加b)
    f = open('tmp', 'r+')  ## r+打开文件
    print(f.read(3))  ## 如果读了在写,追加
    f.seek(5)  ## 如果seek指定了光标的位置,就从该位置开始覆盖这写
    f.write('aaaaaa')  ## 如果直接写,从头覆盖
    f.close()
    

    8.import()

    import os
    import sys
    import time
    

    9.callable:查看能不能调用

    print(callable(123))  ## 数字不能调用结果就是False
    print(callable(open))  ## 函数可以调用就返回True
    

    10.dir 查看数据类型的方法

    print(dir(__builtins__))  ## 看着报错,,但其实不报错
    print(dir(int))
    print(dir(list))
    print(dir(0))  ## 和int一样
    print(set(dir(list)) - set(dir(tuple)))
    

    11.int()转换为int类型

    num1 = int(123)
    num2 = int(12.3)  ## 强制转换成int类型
    print(num1, num2)
    

    12.取商/余

    print(divmod(7, 3))
    

    13.计算最小值

    print(min(1, 2, 3, 4))
    print(min([5, 6]))
    

    13.计算最大值

    print(max(1, 2, 3, 4))
    print(max([5, 6]))
    

    14.sum求和

    print(sum(1, 2, 3, 4))  ## 出错了,参数是序列,散列不行
    print(sum([5, 6]))
    print(sum((1, 2, 3, 4)))
    
    ## 以下的两个方式是一样的
    print(1 + 2)
    print(int(1).__add__(2))
    

    15.round精确度

    print(round(3.1415926, 2))  ## 保留两位
    

    16.pow()幂运算

    print(pow(2, 3))
    print(2 ** 3)
    

    17.和数据结构相关的

    1.reversed()顺序的反转

    l = [1, 2, 3, 4]
    print(list(reversed(l)))  ## 是生成了一个新的列表,没有改变原来的列表(以后能不用reversed就不用reversed,用reverse)
    
    ## l.reverse()#在现在的列表的基础上修改了,修改的是原来的列表
    print(l)
    

    2.slice切片
    3.format()#除了格式化以外的作业

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

    4.bytes

    
    s = '你好'
    sb = bytes(s, encoding='utf-8')
    print(sb)
    print(sb.decode('utf-8'))
    
    sb2 = bytearray(s, encoding='utf-8')
    sb2[0] = 229  ## 修改   了解就好
    print(sb2.decode('utf-8'))
    print(sb2)
    print(sb2[0])
    

    5.repr

    
    print(repr('1234'))
    print(repr(1234))
    print('name:%r' % ('egon'))  ## 你怎么传进去的就按什么格式打印出来了
    

    6.set和frozenset(不可变的集合)就像list和tuple
    7.enumerate

    
    l = ['a', 'b']
    for i in enumerate(l):
        print(i)
    
    for i, j in enumerate(l):
        print(i, j)
    

    8.all和any

    
    print(all([1, 2, 3]))
    print(all([0, 2, 3]))  ## 因为0是False
    
    print(any([1, 2, 3]))
    print(any([0, 2, 3]))
    

    9.zip()

    
    l = [1, 2, 3]
    l2 = [4, 5, 6, 7, 8]
    print(zip(l, l2))
    print(list(zip(l, l2)))
    l3 = {'k': 'v'}
    print(list(zip(l, l3)))
    

    10.sort和sorted

    
    l = [1, 3, 5, -2, -6]
    l.sort()
    print(l)
    
    l2 = [1, 3, 5, -2, -6]
    print(sorted(l2))
    print(sorted(l2, key=abs))
    print(sorted(l2, key=abs, reverse=True))  ## 默认从小到大排序,修改为True,则从大到小排序
    

    11.map():我要对我的列表当中的每一个值去做函数里面的操作

    
    l = [1, 2, 3, 4, 5]
    
    
    def pow2(x):
        return x * x
    
    
    print(list(map(pow2, l)))
    
    

    12.filter():从一个列表当中找到所有符合筛选条件的,在组成一个新列表

    
    def aaa(x):
        return x % 2 == 1
    
    
    ret = list(filter(aaa, [1, 2, 54, 3, 6, 8, 17, 9]))
    print(ret)
    

    相关文章

      网友评论

          本文标题:1.5.5 Python内置函数

          本文链接:https://www.haomeiwen.com/subject/dfutjqtx.html