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

    内置函数

    接下来,我们就一起来看看python里的内置函数。截止到python版本3.6.2,现在python一共为我们提供了68个内置函数

       

    内置函数

       

    abs()

    divmod()

    input()

    open()

    staticmethod()

    all()

    enumerate()

    int()

    ord()

    str()

    any()

    eval()

    isinstance()

    pow()

    sum()

    basestring()

    execfile()

    issubclass()

    print()

    super()

    bin()

    file()

    iter()

    property()

    tuple()

    bool()

    filter()

    len()

    range()

    type()

    bytearray()

    float()

    list()

    raw_input()

    unichr()

    callable()

    format()

    locals()

    reduce()

    unicode()

    chr()

    frozenset()

    long()

    reload()

    vars()

    classmethod()

    getattr()

    map()

    repr()

    xrange()

    cmp()

    globals()

    max()

    reversed()

    zip()

    compile()

    hasattr()

    memoryview()

    round()

    __import__()

    complex()

    hash()

    min()

    set()

     

    delattr()

    help()

    next()

    setattr()

     

    dict()

    hex()

    object()

    slice()

     

    dir()

    id()

    oct()

    sorted()

    exec 内置表达式


    作用域相关
    上面就是内置函数的表,68个函数都在这儿了。这个表的顺序是按照首字母的排列顺序来的,你会发现都混乱的堆在一起。

    locals

    globals

    基于字典的形式获取局部变量和全局变量

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

    locals()——获取执行本方法所在命名空间内的局部变量的字典

    输入输出相关:

    input() 输入

    s = input("请输入内容 : ")  #输入的内容赋值给s变量
    print(s)  #输入什么打印什么。数据类型是str

    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: 立即把内容输出到流文件,不作缓存
        """
    f = open('tmp_file','w')
    print(123,456,sep=',',file = f,flush=True)
    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)
         print(per_str,end='', flush=True)
    # 
     可以把光标移动到行首但不换行

    数据类型相关:

    type(o) 返回变量o的数据类型

     

    内存相关:

    id(o) o是参数,返回一个变量的内存地址

    hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

    t = (1,2,3)
    l = [1,2,3]
    print(hash(t))  #可hash
    print(hash(l))  #会报错
    
    '''
    结果:
    TypeError: unhashable type: 'list'
    '''

    hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。

    *每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。

    文件操作相关

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

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

    可以用encoding指定编码.

     模块操作相关

    __import__导入一个模块

    import time
    
    os = __import__('os')
    print(os.path.abspath('.'))

    帮助方法

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

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

     

    和调用相关

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

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

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

    查看参数所属类型的所有内置方法

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

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

    和数字相关

    数字——数据类型相关:bool,int,float,complex

    数字——进制转换相关:bin,oct,hex

    数字——数学运算:abs,divmod,min,max,sum,round,pow

    和数据结构相关

    序列——列表和元组相关的:list和tuple

     

    序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr

    ret = bytearray('alex',encoding='utf-8')
    print(id(ret))
    print(ret[0])
    ret[0] = 65
    print(ret)
    print(id(ret))
    ret = memoryview(bytes('你好',encoding='utf-8'))
    print(len(ret))
    print(bytes(ret[:3]).decode('utf-8'))
    print(bytes(ret[3:]).decode('utf-8'))

    序列:reversed,slice

    l = (1,2,23,213,5612,342,43)
    print(l)
    print(list(reversed(l)))
    l = (1,2,23,213,5612,342,43)
    sli = slice(1,5,2)
    print(l[sli])

    数据集合——字典和集合:dict,set,frozenset

    数据集合:len,sorted,enumerate,all,any,zip,filter,map

  • 相关阅读:
    maven build和push image中遇到的坑(学习过程记录)
    jmeter中beanshell postprocessor结合fastjson库提取不确定个数的json参数
    (转)细说linux挂载
    《软件性能测试从零开始》要点摘录
    《软件测试经验与教训》内容摘录
    关于敏捷的一点感受
    xpath定位中starts-with、contains、text()的用法
    python中的threading模块使用说明
    (转)Linux下用户组、文件权限详解
    LeetCode——树
  • 原文地址:https://www.cnblogs.com/soleZ/p/8194976.html
Copyright © 2011-2022 走看看