zoukankan      html  css  js  c++  java
  • what's the python之内置函数

    what's the 内置函数?

      内置函数,内置函数就是python本身定义好的,我们直接拿来就可以用的函数。(python中一共有68中内置函数。)

      Built-in Functions  
    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()  

    下面我们由作用不同分别进行详述:(字体加粗的为重点要掌握的)

    与作用域相关:global和local

    • global——获取全局变量的字典
    • local——获取执行本方法所在命名空间内的局部变量的字典

    str类型代码的执行:eval、exec、compile

    • eval()——将字符串类型的代码执行并返回结果
    • exec()——将字符串类型的代码执行但不返回结果
    • compile ——将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值

     

    >>> #流程语句使用exec
    >>> code1 = 'for i in range(0,10): print (i)'
    >>> compile1 = compile(code1,'','exec')
    >>> exec (compile1)
    1
    3
    5
    7
    9
    
    
    >>> #简单求值表达式用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'"
    View Code

    与数字相关的:

    • 数字——数据类型相关:bool,int,float,complex
    • 数字——进制转换相关:bin,oct,hex
    • 数字——数学运算:abs(输出为数字的绝对值),divmod(使用方法即divmod(数字1,数字2),输出为(数字1整除数字2后得到的数,余数)),min,max,sum,round(精确的功能),pow(pow的使用方法即pow(数字1,数字2),数字1**数字2,即次方的形式
    print(divmod(7,3))#(2,1)
    
    print(round(3.14159,2))#3.14
    f = 4.197937590783291932703479  #-->二进制转换的问题
    print(f)#4.197937590783292
    View Code

     

    与数据结构有关:

    • 序列——列表和元组相关的:list和tuple
    • 序列——字符串相关的:str,format,bytes,bytesarry,memoryview,ord(ord与chr互为倒数,不过这不需要掌握),chr(返回表示Unicode代码点为整数i的字符的字符串。例如,chr(97)返回字符串'a',同时 chr(8364)返回字符串'€'),ascii,repr
    • 序列:reversed(用l.reverse,将原列表翻转并赋值,用list(reversed(l)只是将原列表翻转看看,不改变原列表的值也就是说不覆盖),slice(切片的功能)
    • 数据集合——字典和集合:dict,set,frozenset
    • 数据集合:len,sorted(排序功能),enumerate(将一个列表的元素由“索引 值”的形式一一解包出来),all,any,zip,filter(一种过滤的功能),map(一种迭代的功能)
    l2 = [1,3,5,-2,-4,-6]
    print(sorted(l2,key=abs,reverse=True))#[-6, 5, -4, 3, -2, 1]
    print(sorted(l2))#[-6, -4, -2, 1, 3, 5]
    print(l2)#[1, 3, 5, -2, -4, -6]
    
    
    l = ['a','b']
    for i,j in enumerate(l,1):
        print(i,j)
    #1 a
      2 b
    
    
    
    L = [1,2,3,4]
    def pow2(x):
        return x*x
    
    l=map(pow2,L)
    print(list(l))
    # 结果:
    [1, 4, 9, 16]
    
    
    
    
    
    
    
    def is_odd(x):
        return x % 2 == 1
    
    l=filter(is_odd, [1, 4, 6, 7, 9, 12, 17])
    print(list(l))
    # 结果:
    [1, 7, 9, 17]
    View Code

    其他:

     

    输入输出:input(),print()

    • input——与用户交互用的
    • print——打印
    #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: 立即把内容输出到流文件,不作缓存
        """
    
    
    #有关进度条打印的小知识
    import time
    import sys
    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)
         print(per_str,end='', file=sys.stdout, flush=True)
    复制代码
    View Code
    • callable——查看参数是否能被调用
    def func():pass
    print(callable(func))  #参数是函数名,可调用,返回True
    print(callable(123))   #参数是数字,不可调用,返回False
    • dir——可用于查看一个数据类型的内置方法,类似于help,是一种帮助

    附:可供参考的有关所有内置函数的文档https://docs.python.org/3/library/functions.html#object

         

  • 相关阅读:
    C# MessageBox.Show()超时后 自动关闭
    WPF中的依赖属性和附加属性
    c# 获取当前活动窗口句柄,获取窗口大小及位置
    c# 数组间相互转换 int[] string[] object[]
    WPF中判断DataGrid增加复选框和头部全选,以及判断哪一行的checkbox被选中
    WPF DataGridTemplateColumn添加按钮和按钮事件获取行参数
    WPF 自定义分页控件 ---- DataPager
    WPF的MVVM模式给ComboBox绑定数据和读取
    DataBinding 绑定计算表达式
    c# 调用方法超时直接返回的功能
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/8206298.html
Copyright © 2011-2022 走看看