• 内置函数


    一 内置函数

      什么是内置函数? 就是 python 提供好的,直接拿来用的 函数,比如 print,input等等,截止到python版本

    3.6.2 python一共 提供了 68个内置函数,他们就是 python 直接提供给我们的.

    abs() dict() help() min() setattr()
    all() dir() hex() next() slice()
    any() divmod() id() objiect() sorted()
    ascii() enumerate() input() oct() staticmethod()
    bin() eval() int() open() str()
    bool() exec() isinstance() ord() sum()
    bytearray() filter() issubclass() pow() super()
    bytes() float() iter() print() tuple()
    callable() format() len() prorerty() type()
    chr() frozenset() list() range() vars()
    classmethod() getattr() locals() repr() zip()
    compile() globals() map() reversed() __import__()
    complex() hasattr() max() round()  
    delattr() hash() memoryview() set()  

    1.作用域相关:

      locals()   返回当前作用域 中的 名字

      globals() 返回全局作用域 中的 名字

    2.迭代器相关

      range() 生成数据

      next() 迭代器向下执行一次,内部实际使用了__next__() 方法,返回迭代器的下一个项目

      iter()  获取迭代器,内部实际使用的是 __iter__() 方法来 获取 迭代器

    3.字符串类型代码的执行

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

    1 print(eval("2 + 2"))   # 4
    2 
    3 n = 8
    4 print(eval("2 + n"))   # 10
    5 
    6 def func():
    7     print(999)
    8 eval("func()")     # 999
    View Code

     exec()   执行 字符串 类型的 代码

    exec("""
    for i in range(10):
        print(i)         # 0 1 2 3 4 5 6 7 8 9
    """)

       compile() 将字符串 类型的 代码变异,代码对象内购 通过 exec 语句来执行 或者eval() 进行求值

    code1 = "for i in range(10):print(i)"
    c1 = compile(code1,"",mode="exec")
    exec(c1)    # 0 1 2 3 4 5 6 7 8 9
    
    code2 = "1+2+3"
    c2 = compile(code2,"",mode="eval")
    a = eval(c2)
    print(a)     # 6
    
    
    code3 = "name = input('请输入你的名字:')"
    c3 = compile(code3,"",mode="single")
    exec(c3)
    print(name)
    
    # 请输入你的名字:

      有返回值的字符串形式的代码 用 eval() , 没有返回值的 字符串形式 的代码 用 exec(), 一般 很少用到 compile()

    4.输入 和 输出 相关:

        input()  获取用户输入的内容

        print()   打印输出

    5.内存相关:

      hash()  获取到对象的 hash 值(int,str,bool,tuple)  可hash 的 就是不可迭代的对象

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

    6.文件操作相关 的

      open() 用于打开一个文件,创建一个文件句柄

    7.模块相关

      __import__() 用于动态加载类和函数

    8.帮助:

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

    9.调用相关

      callable()  用于检查一个对象是否是 可调用的 ,如果返回 True , objiect 有可能调用失败,但是如果

    返回 False,那调用绝对 不会成功

    10 查看内置属性

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

    11. 基础数据类型 相关

      1. 数字相关:

        bool() 将给定的数据转换成 bool 值,如果 不给值,返回 False

        int()  将给定的数类型 转换成 int 值,如不给值,返回 0

        float()  将给定的数据 转换成 float值,也就是小数 

        complex() 创建 一个 复数,第一个参数为 实部,第二个参数为虚部,或者第一个参数直接用

             字符串来 描述 复数

        2.进制转换

          bin()  将给的参数 转换成 二进制

          otc()  将给的参数转换成 八进制 

          hex()  将给的参数 转换成 十六 进制

        3.数学运算

          abs()  返回绝对值

          divmode()  返回商 和 余数

          round()   四舍五入 

          round(3.123,2)   表示 保留2 位小数

          pow(a,b)   求 a 的 b 次幂,如果 有 三个参数 , 则求完 次幂 对第三个数 取余

                  print(pow(2,3,4))   # 0
           sum() 求和
           min()   求最小值
           max() 求最大值
        4.和数据结构 相关:
          1.列表 和 元组:
            list() 将一个 可迭代对象 转换成 列表
            tuple() 将一个 可迭代对象 转换成 元组
            reversed() 将一个 序列 翻转 ,返回 翻转 序列的迭代器
             slice() 列表的 切片
                    
    s = "大家好,我叫哈哈哥"
    
    s1 = slice(1,5,2)
    print(s[s1])        # 家,
        5. 字符串 相关
          str() 将数据 转换成 字符串
          format() 与数据类型 相关,用于 各种 技术,精算 等
    # 字符串
    print(format("test","<20"))    # 左对齐 20的长度
    print(format("test",">20"))    # 右对齐 20的长度
    print(format("test","^20"))    # 居中
    
    
    # 数值
    print(format(3,"b"))   # 二进制  11
    print(format(97,"c"))  # 转换成 unicode 字符  a 
    print(format(11,'d'))  # 十进制  11
    print(format(11))      # 十进制  11
    print(format(11,"o"))  # 八进制   13
    print(format(11,"x"))  # 十六进制 小写字母   b
    print(format(11,"X"))  # 十六进制  大写字母  B
    print(format(11,"n"))  # 十进制  11
    
    
    浮点数
    print(format(123456789,"e"))  # 科学技术法,默认保留 6位小数  1.234568e+08
    print(format(123456789,"0.2e")) # 科学技术法,保留 2位小数(小写)   1.23e+08
    print(format(123456789,"0.2E")) # 科学技术法,保留 2位小数(大写)   1.23E+08
    print(format(1.23456789,"f"))   # 小数点计数法,保留6 位小数      1.234568
    print(format(1.23456789,"0.2f"))   # 小数点计数法,保留 2 位小数      1.23
    print(format(1.23456789,"0.10f"))   # 小数点计数法,保留 10 位小数  1.2345678900
    print(format(1.23456789e+10000,"F"))   # 小数点计数法   INF
        bytes() 把子符串 转换成 bytes 类型
    s = "你好"
    bs = s.encode("utf-8")   # b'xe4xbdxa0xe5xa5xbd'
    print(bs)
    s1 = bs.decode("utf-8")   # 你好
    print(s1)
    
    bs = bytes(s,encoding = "utf-8")  # 把字符串 编码成 utf-8
    print(bs)         #  b'xe4xbdxa0xe5xa5xbd'
      bytearray() 返回一个新字节组数,这个数字里的 元素是 可变 的,并且 每个元素的值的范围是[0,256)

    ret = bytearray("alex",encoding = "utf-8")
    print(ret[0])    # 97
    print(ret)       #  bytearray(b'alex')
        memoryview() 查看 bytes 在内存中的情况
    # 查看 bytes 字节在 内存中的 情况
    
    s =  memoryview("张曼玉".encode("utf-8"))
    print(s)    
    
    # <memory at 0x0184C8B8>

        ord() 输入字节找带字符编码 的位置
        chr() 输入位置数字找出 对应的 字符
        ascii() 是 ascii码 中的 返回值 不是就返回 u
    #  找到对应字符的编码位置
    print(ord("a"))    # 97
    print(ord(""))   # 20013
    
    # 找到 对应编码 位置的 字符
    print(chr(97))    # a
    print(chr(20013)) #
    
    # 在 ascii 中 就返回这个值,不在就返回 u
    print(ascii("a"))   # 'a'
    print(ascii(""))  #  'u4e2d'
        repr() 返回 一个对象的 string 形式
    # repr 就是 原封不动的 输出,引号 和 转义符 都不起作用
    
    print(repr("大家好,
     	 我叫哈哈哥"))
    # '大家好,
     	 我叫哈哈哥'
    
    print("我叫哈哈哥")
    # 我叫哈哈哥
    
    # %r 原封不动的写出来
    
    name = "嘻嘻姐"
    print("我叫%r" % name)
    #  我叫'嘻嘻姐'

      数据集合:

        dict() 创建一个字典

        set()  创建一个集合

        frozenset() 创建一个 冻结的 集合,冻结的 集合不能 进行删除 和 添加的 操作

        len()  返回一个 对象中 元素的个数

        sorted()  对可迭代 对象 进行 排序操作

        enumerate()  获取集合的 枚举对象 

    lst = ["张曼玉","朱茵","邱淑贞","李若彤"]
    
    for index ,el in enumerate(lst):
        print(str(index) + "==>" + el)
    
    # 0==>张曼玉
    # 1==>朱茵
    # 2==>邱淑贞
    # 3==>李若彤

        all()  可迭代对象中 全部是 True, 结果才是 True       相当于  and

        any()  可迭代对象中 有一个是 True,结果才是 True   相当于  or

    print(all([1,2,True,0]))    # False
    print(any([1,"",0]))        # True

        zip() 函数用于 将 可迭代 对象 作为参数,将对象中对应 的元素打包成一个个 元祖,然后返回

          由这些 元素组成的列表,如果各个迭代器的元素个数 不一致,则返回列表长度与 最短的

          对象 相同

    l1 = [1,2,3,]
    l2 = ["a","b","c",5]
    l3 = ["*","**",(1,2,3)]
    
    for i in zip(l1,l2,l3):
        print(type(i),i)
        
    # <class 'tuple'> (1, 'a', '*')
    # <class 'tuple'> (2, 'b', '**')
    # <class 'tuple'> (3, 'c', (1, 2, 3))

    ret = zip(l1,l2,l3)
    print(ret.__next__())
    print(ret.__next__())
    print(ret.__next__())

    # (1, 'a', '*')
    # (2, 'b', '**')
    # (3, 'c', (1, 2, 3)) 

      filter() 过滤 函数
        语法:
          filter(function,iterable)

       map() 会 根据 提供的函数 对 指定序列 做 映射 (lambda)








































































































































































































          

  • 相关阅读:
    table
    html <input>
    html基本结构
    Spark join连接
    combineByKey
    scala mkstring
    countByValue
    spark aggregate
    scala flatmap、reduceByKey、groupByKey
    生态圈安装
  • 原文地址:https://www.cnblogs.com/wenqi2121/p/10282966.html
Copyright © 2020-2023  润新知