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

    python内置函数

      内置函数  
    abs() dict() help() min() setattr()
    all() dir() hex() next() slice()
    any() divmod() id() object() 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() property() 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、作用域相关

    globals()     获取全局变量的字典

    locals()       获取当前方法内部的局部变量的字典

    2、迭代器生成器

    3、基础数据类型相关

    1、和数字相关

    数据类型相关:bool,int,float,complex(复数)

    进制转换相关:bin(2),oct(8),hex(16)

    数学运算:abs(绝对值),divmod(返回除数和余数),min,max,sum,round(浮点数精确),pow(幂运算)

    2、和数据结构相关

    序列——列表和元组相关的:list和tuple   列表值可变,元组的不可变

    序列——字符串相关的:str(将对象转化为适于人阅读的形式),format,bytes(b = bytes('string',encoding='编码类型') #利用内置bytes方法,将字符串转换为指定编码的bytes),bytearry,memoryview,ord(将字符按照Unicode转数字),chr(将数字按照Unicode转字符),ascii,repr(将对象转化为供解释器读取的形式。)

    序列:reversed(对列表的元素进行反向排序,保留原列表,生成一个迭代器)————reversed 直接修改原列表

       slice 对元素进行切片

    3  、数据集合

    字典和集合:dict,set(集合),frozenset(返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。)字典和集合都是无序的

    数据集合:

    len(返回对象(字符、列表、元组等)长度或项目个数),

    sorted(对所有可迭代的对象进行排序操作),

     1 #!./user/bin/env python
     2 # .__author__:" cc"
     3 #.Date:2019/1/22/0022
     4 #.File:sorted
     5 
     6 l = [1,-2,3,-4,5]
     7 l.sort()
     8 print(l)
     9 l.sort(key=abs)
    10 #以绝对值排序
    11 print(l)
    12 #sort在原列表基础上修改
    13 #sorted生成新列表,不修改原列表
    14 print(sorted(l))
    sorted

    enumerate(将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中),

    all(判断是否有bool值为FALSE的值),

    any(判断是否有bool值为TRUE的值),

    zip(将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象)

     1 l = [1,2,3,4,5]
     2 l2 = ['a','b','c','d']
     3 l3 = ('0','00',[1,2])
     4 d = {'k1':1,'k2':2}
     5 for i in zip(l,l2,l3,d):
     6     print(i)
     7 #将元素组合起来,多余的元素不显示,字典只能取到key
     8 #结果
     9 # (1, 'a', '0', 'k1')
    10 # (2, 'b', '00', 'k2')
    zip

    filter(用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象),

    map(根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表)

     1 #!./user/bin/env python
     2 # .__author__:" cc"
     3 #.Date:2019/1/22/0022
     4 #.File:filter__map
     5 
     6 # def is_old(x):
     7 #     return x % 2 == 1
     8 # #返回TRUE,FALSE
     9 #
    10 # ret = filter(is_old,[1,2,3,4,5,6,7,8,87,56])
    11 # # 根据函数过滤可迭代对象,返回迭代器,返回奇数
    12 # for i in ret:
    13 #     print(i)
    14 
    15 # from math import sqrt
    16 # def is_int(x):
    17 #     return sqrt(x) % 1 == 0
    18 #
    19 # ret = filter(is_int,range(1,99))
    20 # for i in ret:
    21 #     print(i)
    22 
    23 ret = map(abs,[1,-2,3,-4])
    24 for i in ret:
    25     print(i)
    26 
    27 #filter 返回结果<=原序列,不改变值
    28 #map 返回结果元素个数不会改变,值可能改变
    filter—map
    l1 = [1,3,5,-2,-4,-6]
    l2 = sorted(l1,key=abs)
    print(l1)
    print(l2)
    #按照绝对值排序
    l = [[1,2],[3,4,5,6],(7,),'123']
    print(sorted(l,key=len))
    #按照长度
    sorted

    4、反射

     pass

    5、面对对象

     pass

    6、其他

    1、输入输出

    input

    print

    def print(self, *args, sep=' ', end='
    ', file=None): # known special case of print
        """
        print(value, ..., sep=' ', end='
    ', file=sys.stdout, flush=False)
        file:  默认是输出到控制台,如果设置为文件句柄,则写入文件中
        sep:   打印多个值之间的分隔符,默认为空格
        end:   每一次打印的结尾,默认为换行符
        flush: 立即把内容输出到流文件,不作缓存
        """
    print
    f = open('a','w')
    print(1,2,3,4,sep=',',file = f,flush=True)
    f.colse()
    #将1,2,3,4写入到文件a中
    写入文件
    >>> a = 1
    >>> b = 'runoob'
    >>> print(a,b)
    1 runoob
     
    >>> print("aaa""bbb")
    aaabbb
    >>> print("aaa","bbb")
    aaa bbb
    >>> 
     
    >>> print("www","runoob","com",sep=".")  # 设置间隔符
    www.runoob.com
    demo

    2、数据类型相关

    type 查看当前数据的数据类型

    3、内存相关

    id  返回一个变量的内存地址

    hash   返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错

    hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的,也用于校验程序在传输过程中是否被第三方(木马)修改,如果程序(字符)在传输过程中被修改hash值即发生变化,如果没有被修改,则 hash 值和原始的 hash 值吻合,只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。

    4、文件操作相关

    open()  打开一个文件,返回一个文件操作符(文件句柄)

    操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    可以用encoding指定编码.

    5、模块相关

    一般用import

    6、帮助方法

    在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

    或者直接执行help(o),o是参数,查看和变量o有关的操作

    7、调用相关

    callable(o),o是参数,看这个变量是不是可调用。

    如果o是一个函数名,就会返回True

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

    8、查看内置属性

    dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

    print(dir(list))  #查看列表的内置方法
    print(dir(int))  #查看整数的内置方法
    dir

    9、字符串类型代码执行

    eval

    执行字符串代码并返回结果

    print(eval('1+2+3+4'))

    去掉字符串的引号

    eval() 函数也可以直接用来提取用户输入的多个值。

    a,b=eval(input())

     输入3,4 得到a=3,b=4

     exec

    执行字符串,不返回结果

    code = '''
    print(123)
    a = 20
    print(a)
    '''
    a = 10
    exec(code)
    print(a)

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

    >>> #流程语句使用exec
    >>> code1 = 'for i in range(0,10): print (i)'
    >>> compile1 = compile(code1,'','exec')
    >>> exec (compile1)
    3
    7
    
    
    >>> #简单求值表达式用eval
    >>> code2 = '1 + 2 + 3 + 4'
    >>> compile2 = compile(code2,'','eval')
    >>> eval(compile2)
    
    
    >>> #交互语句用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'"

    参考文档:

      https://docs.python.org/3/library/functions.html#object

  • 相关阅读:
    ls命令输出文件的绝对路径
    grep命令用关系或查询多个字符串
    pthread_cond_timedwait
    移位运算溢出:右操作数须小于左操作数的位数
    Source Insight symbol not found
    break和continue能否跳出函数
    Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法. 重启服务
    git bash中不能显示中文
    docker初探
    C++ STL常见数据结构(容器)分类
  • 原文地址:https://www.cnblogs.com/ccqc/p/10229134.html
Copyright © 2011-2022 走看看