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

    迭代器相关内置函数

    字符串类型代码的执行

    eval()  执行字符串类型的代码,并返回最终结果

    n = eval('2+8')
    print(n)
    
    结果:
    10
    
    n1 = 4
    print(eval('n1+10'))
    
    结果:
    14
    View Code

    exec() 执行字符串类型的代码,没有返回结果

    n = exec('2+8')
    print(n)
    
    结果:
    None
    View Code

    compile  将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

    流程语句使用exec
    code1 = 'for i in range(0,10): print (i)'
    compile1 = compile(code1,'','exec')   编译 python-> 字节码
    exec (compile1)
    
    结果:
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    View Code
    #简单求值表达式用eval
    code2 = '1 + 2 + 3 + 4'
    compile2 = compile(code2,'','eval')
    eval(compile2)
    View Code
    #交互语句用single
    >>> code3 = 'name = input("please input your name:")'
    >>> compile3 = compile(code3,'','single')
    >>> name #执行前name变量不存在
    Traceback (most recent call last):
      File "<pyshell#29>", line 1, in <module>
        name
    NameError: name 'name' is not defined
    >>> exec(compile3) #执行时显示交互命令,提示输入
    please input your name:'pythoner'
    >>> name #执行后name变量有值
    "'pythoner'"
    View Code

    输入输出

    input('字符串数据类型的参数,提醒用户你要输入的内容')

    python2
            input() 还原你输入的值的数据类型
            raw_input = py3.input
    python3
            input() 输入的所有内容都是字符串类型
            阻塞: 等待某件事情发生,如果不发生一直等着input的返回值就是用户输入的内容
            输入的内容 = input('提示')
    View Code

    print(要打印的内容1,要打印的内容2,要打印的内容3,sep = '分隔符',end = '结束符')

    print(123)
    print('abc')
    print(123,'abc')
    print(123,'abc','aaa',sep = '|')
    print(123,'abc','aaa',end = '@')
    print(123,'abc','aaa',end = '@')
    print(123,'abc')
    f = open('file','w')
    print(123,'abc',file=f)   # print的本质 就是写文件 这个文件是pycharm的屏幕
    f.close()
    View Code

    内存相关

    hash()  获取对象的哈希值(int.str,bool,tuple)

    id()       获取到对象的内存地址

    帮助

    help()  函数用于查看函数或模块用途的详细说明

    查看内存属性

    dir()  查看对象的内置属性,方法,访问的是对象的__dir__()方法

    取值范围

    1 range(起始位置,终止位置,步长)
         range(终止位置)
         range(起始,终止位置)
         range(起始,终止,步长)
         range(5)   [0,4]  [0,5)
         range(1,5) [1,4]  [1,5)
         range(1,10,2)  [1,3,5,7,9]
         range(0,10,2)  [0,2,4,6,8]
    View Code

    导入模块

    import time   # 导入别人写好的代码
    View Code

    hash

    哈希 可哈希(不可变数据类型) 不可哈希(可变数据类型)
    哈希是一个算法,导致了字典的快速寻址
    所有的数据要想得到不变的hash值,必须是一个不可变的数据类型

    callable

    callable(o),o是参数,看这个变量是不是可调用。
    如果o是一个函数名,就会返回Tru

    def func():pass
    print(callable(func))  #参数是函数名,可调用,返回True
    print(callable(123))   #参数是数字,不可调用,返回False
    View Code

    complex

    实数 :有理数和无理数
    虚数 : j
    复数 = 实数+虚数 = a+bj
    复数不能比较大小
    共轭复数 : a+bj 和 a-bj是一对共轭复数
    a+bj 和 a+bJ都是复数
    View Code

    bin  cot  hex

    bin:转化为二进制
    print(bin(a)
    
    oct:转化为八进制
    print(oct(a)) 
    
    hex:转化为十六进制
    print(hex(a))
    View Code

    abs

    abs:求绝对值,整数的绝对值是整数,负数的绝对值也是正数
    print(abs(5))
    print(abs(-5))
    View Code

    dicmod

    divmod:商余函数
    print(divmod(10,3)
    结果:
    (3, 1)#商为3,余为1
    View Code

    round

    小数,保留几位小数
    ret = round(2.34564524352)
    print(ret)
    结果:
    2
    
    ret = round(2.34564524352,2) #保留两位小数
    print(ret)
    结果:
    2.35
    python2.x(完全的四舍五入)和python3.x(更精准的计算方式)不同
    View Code

    pow

     pow(x,y,z) :幂运算/幂余运算(x的y次方%z)
    
    print(pow(2,3))
    结果: 8
    print(pow(3,2))
    结果:9
    print(pow(5,2,3))
    结果:1
    print(pow(4,2,2))
    结果:0
    View Code

    sum

    sum(可迭代的数字集,start),start从哪个数开始加
    
    print(sum((1,2,3,4)))  结果:10
    print(sum([1,2,3,4]))   结果:10
    print(sum(range(10)))  结果:45
    print(sum((i**2 for i in range(5))))  结果:30
    print(sum((1,2,3,4))) 结果:10
    print(sum((1,2,3,4),10)) 结果:20
    print(sum((1,2,3,4),30)) 结果:40
    View Code

    min  max

    min/max(iterable/*args,key) :key是一个函数的内存地址,key做的事情就是根据你对每一项数据大小的需求来排序
    
    print(min(1,2,3))   1
    print(min((1,2,3)))  1 
    print(min((1,2,3),(4,5,6)))  (1,2,3)
    print(min((7,2,3),(4,5,6)))  (4,5,6)
    
    
    def func(n):   # n = 2,3,4,7
        return n%6 # 2,3,4,1
    
    ret = min(2,3,4,7,key = func)
    print(ret)
    View Code

    reversed

    reversed(list/tuple)  返回一个迭代器,为了节省内存
    
    l = [1,2]
    l.reverse()
    print(l)
    
    ret = reversed([1,2,3])  # iterator
    print(ret)
    
    reverse是在原基础上修改 : 2000项的列表 不会产生额外的内存占用
    reversed不修改原基础 : 不直接返回列表而返回迭代器,为了不占用更多的内存
    View Code

    slice  

    l = [1,2,3,4,5]
    print(l(1:4))
    View Code

    format

    print(format('test', '<20'),'wanglan') 
    print(format('test', '>20'),'wanglan')
    print(format('test', '^20'),'wanglan')
    View Code

    bytes

    bytes:字节
    print('abc'.encode('utf-8'))
    print('你好'.encode('utf-8'))
    
    结果:
    b'abc'
    b'xe4xbdxa0xe5xa5xbd'
    
    b = b'xe4xbdxa0xe5xa5xbd'
    print(b.decode('utf-8'))
    结果:
    你好
    View Code

    bytearray

    bytearray 把一个字符串编程一个字节数组,较长的字符串的修改节省内存,修改行为必须依靠编码
    
    ret = bytearray('abc'*30,encoding='utf-8')  # 字节数组
    print(ret)
    ret[0] = 102   # asc码  65A 97abcdef 你好 您好
    print(ret)
    
    结果:
    bytearray(b'abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc')
    bytearray(b'fbcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc')
    View Code

    ord/chr

    ord/chr  字符和编码之间的转换
    print(ord('a'))
    print(chr(97))
    
    结果:
    97
    a
    View Code

    repr

    repr() 打印的时候输出这个变量的数据类型
    
    a = 1
    b = '1'
    print(repr(a),repr(b))
    View Code

    len

    计算长度

  • 相关阅读:
    snmp简介
    PKI简介
    小程序收藏
    mysql数据库中同一DB内倒表指令
    核心层+汇聚层+接入层
    eng
    rmon简介
    几个常用的JavaScript字符串处理函数
    C# 特性(Attribute)学习 关于 .net中[]的解释
    C#操作Excel文件(读取Excel,写入Excel)
  • 原文地址:https://www.cnblogs.com/wanglan/p/9925088.html
Copyright © 2011-2022 走看看