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

    内置函数 不用def定义能直接用的函数,带括号的
    
    locals()    # 返回本地作用域中的所有名字
    globals()   # 返回全局作用域中的所有名字
    global 变量
    nonlocal 变量
    
    迭代器.__next__()
    next(迭代器)
    迭代器 = iter(可迭代的)
    迭代器 = 可迭代的.__iter__()
    
    range(10)
    range(1,11)
    range(1,11,2)
    
    dir 查看一个变量拥有的方法
    print(dir([]))
    print(dir(1))
    
    变量
    print(callable(print))
    a = 1
    print(callable(a))
    def func():
        pass
    print(callable(func))
    callable() 检测是否是函数
    
    help
    help(str) 当前数据类型的可用的方法
    比dir更详细的解释
    
    import time
    t = __import__('time')
    print(t.time())
    
    list.append()
    list.__len__()
    dir(list)
    
    某个方法属于某个数据类型的变量,就用调用
    如果某个方法不依赖于任何数据类型,就直接调用 ---- 内置函数 和 自定义函数
    l = [1,2,3,4]   # l 列表句柄
    l.append()
    
    f = open('1.复习.py')
    print(f.writable())
    print(f.readable())
    
    id() # 一个变量所在的内存地址
    hash - 对于相同可以hash数据的hash值在一次程序的执行过程中,总是不变的
         - 字典的寻址方式
    print(hash(12345)) # 能不能哈希就是看能不能执行hash函数
    print(hash('asdfghjkl'))
    print(hash('asdfghjkl'))
    print(hash('asdfghjkl'))
    print(hash('asdfghjkl'))
    print(hash(('1', 'aaa')))
    print(hash([]))
    
    对于相同可以hash数据的hash值在一次程序的执行过程中,总是不变的
    
    字典的key可hash,将hash后的key值对应一个内存地址,存放value
    
    ret = input('input here:>>>')
    print(ret)
    
    
    print('我们的祖国是花园',end='')  # 指定输出的结束符
    print('我们的祖国是花园',end='')
    
    print(1,2,3,4,5,sep='|')    # 指定输出多个值之间的分隔符
    f = open('file','w')
    print('aaaa',file=f)
    f.close()
    
    import time
    for i in range(0, 101, 2):
        time.sleep(0.1)
        char_num = i // 2  # // 除法向下取整
        per_str = '
    %s%% : %s
    ' % (i, '*' * char_num)if i == 100 else '
    %s%% : %s' % (i, '*' * char_num)
        # 第一个'*'是星号,第二个 * 是乘号
        # /r : 作用: 回到行首,重新运行
        print(per_str, end='', flush=True)
    progress Bar,进度条函数
    
    exec('print(123)')
    eval('print(123)')
    print(1+2+3+4)
    print(exec('1+2+3+4'))      # exec 没有return
    print(eval('1+2+3+4'))      # eval 有返回值
    exec和eval都可以执行 字符串类信号的代码
    eval有返回值 ----- 有结果的简单计算
    exec 没有返回值 ------ 简单流程控制
    eval只能用在你明确知道你要执行的代码是什么
    
    code = '''for i in range(10):
        print(i*'*')
    '''
    exec(code)
    
    compile 编字符代码为机械码 :exec流程类,eval计算类,single交互类
    code1 = 'for i in range(10): print(i)'
    compile1 = compile(code1, '', 'exec')
    exec(compile1)
    
    code3 = 'name = input("input your name>>>")'
    compile3 = compile(code3, '', 'single')
    exec(compile3) #执行时显示交互命令,提示输入
    print(name)
    name执行后,name有值
    
    复数 ------ complex 复合的数 5 + 12j [j是虚数]
    
    进制转换 bin oct hex
    
    绝对值
    print(abs(-5))
    
    divmod 除数(求商),余数
    print(divmod(7,3))
    
    round 精确,保留小数位数
    re = round(3.14159, 2)
    print(re)
    
    pow 幂运算
    print(pow(2, 3))   # 幂运算,2的3次方 == 2**3
    print(pow(3, 2, 2))   # 幂运算后取余,3的2次方后对2取余
    
    sum(iterable,start)
    ret = sum([1,2,3,4,5])
    print(ret)
    
    min ; max 可以指定一个判断条件
    min(1,2,3,-5) # return -5
    min(1,2,3,-5,key = abs) # return 1;因为此时的判断依据设成了 abs 绝对值
     
  • 相关阅读:
    非洲出现新蓝海,他们抓住机遇将产品加工反向送入国内市场
    npm ERR! code ERR_STREAM_WRITE_AFTER_END
    程序默认不自动重连oracle
    一份超详细的MySQL高性能优化实战总结
    佩奇送福利:Eygle系列书籍免费下载
    解决waiting for target deviceto come online的做法
    Android真机运行闪退问题
    他是如何将小店铺打造成餐饮品牌的?
    用两张图告诉你,为什么你的App会卡顿?
    用两张图告诉你,为什么你的App会卡顿?
  • 原文地址:https://www.cnblogs.com/77-is-here/p/10562308.html
Copyright © 2011-2022 走看看