Python3.5 内置函数大全

上次打算把Python 内置函数全部写出来分享给大家,但是写了一半就没管了,这次我把Python3.5的内置函数全部写出来,不写完不睡觉!

  • 在解释函数时,函数的命名格式中出现的中括号 [] 表示 其中的参数是可选的,例如vars([object ]) ,但这不是我们定义函数时的格式


  • 1 abs(x) : 求x绝对值,x可以是正数或者浮点数,最简单的函数

    abs(-10) ----> 10
    
  • 2 dict():用以生成字典对象,有三个版本,确切来说dict 是个类,字典是映射类型的对象,以键值对形式存在,键必须唯一

    class dict(**kwarg)
    class dict(mapping, **kwarg) ,第一个参数可以使映射类型
    class dict(iterable, **kwarg),
    例1 dic=dict(a='1',b='2')  dic={'a': '1', 'b': '2'}
    例2 a=[(1,2),(3,4),(5,6),(7,8)] dict(a)---->{1: 2, 3: 4, 5: 6, 7: 8},遵循鸭子类型原则,长得像字典,就可以转化为字典
    例3 遍历 for key, value in dic.items(),这点初学者可能经常忘记
    
  • 3 help(obj):帮助手册

    当对某个函数,对象的某个方法不懂的时候扔给help函数,会返回一些有用的信息
    help(int)
    
  • 4 min(iterable, *[, key, default ])
  • 4 min(arg1, arg2, *args[, key ]):求最小值,类似的有求最大值 max函数

    Return the smallest item in an iterable or the smallest of two or more arguments.
    翻译过来就是:获取序列中的最小值项,或者参数列表中的最小值项
    例1:a =[3,2,4,5] min(a)—->2
    例2 min(2,3,4,1) —>1

  • 5 setattr(object, name, value):设置属性

    set(x,'foo',123)  等同于 x.foo = 123
    
  • 6 all(iterable):序列的数据项全为真返回真,否则返回假

    a = [1,2,3,4] all(a)---->True
    a = [1,2,0,3,4] all(a)---->False 有一个数据项为假即返回假
    
  • 7 dir([object]):返回名称列表

    这个函数在交互环境下很有用,可以查看一个对象有多少可用属性,可用方法
    dir(obj)
    不带参数时,交互环境下回列出当前环境里所有名称列表
    对于对象来说,不显示其私有属性
    如果还想获取名称对应的对象,使用不带参数的vars()函数,
    会返回一个name-object 字典
    
  • 8 hex(x):整数x转十六进制

    hex(100) ---> '0x64'
    需要注意的是返回的是字符串,参数需要时整数
    
  • 9 next(iterator[, default ]):返回迭代器下一个数据项,生成器、迭代器、可迭代对象的解释戳这里

        这里有一篇文章,详细解释的生成器,迭代器,可迭代对象之间的关系 ,请猛戳上面的链接
        1 对于生成器a来说 next(a) 相当于 a.send(None),获取生成器下一个值
    
  • 10 slice(stop):生成切片对象

  • 10 slice(start,stop[,step]):生成切片对象, step是可选参数,默认1

    a = [1,2,3,4,5,6,7,8,9]
    s = slice(3)
    a[s] --> [1,2,3] 相当于 a[:3] 绕了个圈圈
    
  • 11 any(iterable):序列的数据项全为假返回假,否则返回真

    any([1,2,3,4,0])----> True
    any([0,{},'']) ----> False
    
  • 12 divmod(x,y):求余求整,可以有两个参数,也可以有三个参数

    divmod(10,3) ---> (3,1) 返回一个元组,首元素是整数部分,第二个是余数部分,相当于 a=10,b=3,(a//b, a%b)
    divmod(12.4,3.2) --->(3.0, 2.8) 浮点数也是可以的
    注意:Python2.7 的版本这个函数可以有三个参数
    
  • 13 id(object):获取一个对象的身份证号,哈哈,可用以判断对象是否相同

    a = 10
    id(a) ---> 4297555168
    这个是常用函数,判断对象是否相同,也可以使用 is 运算符判断对象是否相同
    a is b ---> True/False
    
  • 14 object() 无参数,获取object类的一个实例

    a = object()
    
  • 15 sorted(iterable[, key][, reverse]):对可迭代对象进行排序,返回列表对象

    a = [2,3,1,4,5]
    sorted(a) ---> [1, 2, 3, 4, 5]
    默认升序,从小到大
    key 排序的标准,可以是函数
    reverse :是否逆序,默认False
    
    a = [-9,1,-5,3,2,7,12]
    sorted(a,key=abs,reverse=True):使用绝对值排序,降序
    [12, -9, 7, -5, 3, 2, 1]
    
  • 16 ascii(obj):类似于repr()函数,返回对象的字符串表示,对于非ascii 字符,会进行转义,没感觉有啥用~~

  • 17 enumerate(iterable,start=0):序列枚举,返回的对象需要转换

     默认从首项元素开始
     seasons = ['Spring', 'Summer', 'Fall', 'Winter']
     list(enumerate(seasons))
     [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] 
     list(enumerate(seasons, start=1))
     [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
    
     如果使用for 语句对序列进行遍历,又想获取每个元素下标,可以这么干
         a = [-9,1,-5,3,2,7,12]
        for k,v in enumerate(a):
                 print(k,v)
            0 -9
            1 1
            2 -5
            3 3
            4 2
            5 7
            6 12
    
  • 18 input([prompt]):获取输入函数

        num_str = input('请输入一个数字:')
        注意:获取整行输入,按enter键结束输入,返回字符串对象,根据需要进行转换
    
  • 19 oct(x):转八进制,类似转十六进制,返回字符串

    oct(100)----> '0o144'
    
  • 20 staticmethod():装饰器函数,用以构造静态方法,编写类的时候用的到
  • 21 bin(x):整数生成二进制字符串

    bin(100) -----> '0b1100100'
    
  • 22 eval(expression, globals=None, locals=None):将字符串str当成有效的表达式来求值并返回计算结果。

    expression:一个Python表达式字符串
    globals:可选。必须是dictionary
    locals:可选,任意map对象
    栗子:
    eval( 'print("hello")' ) ---- > hello ,注意参数是字符串表达式
    eval('3**2') --->9
    
  • 23 int(x,base=10):将字符串x转为数值,默认转为十进制,

    int( "1000") --> 1000
    int('100', base=8) -->64
    int( '100', base = 2) -->4
    
    oct hex bin ---> 字符串
    int -------> 数值
    
  • 24 open():打开一个文件

    f=open('test.txt','r')
    for line in f:
        print(line)
    
  • 25 class str(obj=”):将对象转为字符串对象,有时候需要编码字符集
  • 25 class str(object=b”, encoding=’utf-8’, errors=’strict’)

    str(100)---> '100'
    
  • 26 bool(obj):测试对象是否为真

    bool(1)----> True
    bool({})----> False
    
  • 27 exec(object[, globals[, locals ] ]):用来执行Python code 对象,比eval 函数更强大

    简单的例子:
    exec('print("hello world")') --->hello world
    
  • 28 isinstance(obj,classinfo):判断对象是否属与某类型

    obj:待检测的对象
    classinfo: 类型,可以是类型组成的元组
    isinstance({},dict) --> True
    
    1判断对象是否可迭代
    from collections.abc import Iterable
    a = [1,2,3,4]
    isinstance(a, Iterable) -->True:可迭代
    isinstance(a,Iterator) --> False :判断迭代器
    结论:可迭代对象不一定是迭代器对象
    b = iter(a)---> 将可迭代对象转化为迭代器对象
    isinstance(b,(Iterable,Iterator))--->True
    
    2 判断对象是否是数值
    from numbers import Number
    a = 10,
    b = 12.3
    isinstance(a,Number) ---> True
    isinstance(b,Number) ---> True
    
  • 29 ord(c):返回字符的unicode编码

    ord('中')-----> 20013
    ord('a')---> 97
    在mac/linux 终端下命令
    $ man ascii 可以调出ascii 码表
    
  • 30 sum(iterable[, start ]):序列求和,默认从首项开始

    a = [1,3,4,5,6]
    sum(a)--->19
    sum(a,10) --->29
    
  • 31 class bytearray([source[, encoding[, errors]]]):生成可变字节序列

    与之相对的有个bytes类,生成不可变字节序列
    str()函数生成 unicode 序列
    
    字节序列中 每个字节值的范围 0 <= x < 256
    
     a = b'hello' 带前缀b 的字符串就是不可变字节序列,注意字符串编码值不能超出 255,即不能出现中文
     type(a) ---> <class 'bytes'>
    
  • 32 filter(function, iterable):序列过滤器函数

    用function函数对iterable序列中每一个数据项进行检查过滤
    例子:求1-10之间的奇数
    a = filter(lambda x: x%2, range(1,11))
    list(a)
    [1, 3, 5, 7, 9]
    
    函数可以在外部定义,也可以使用lambda表达式
    
  • 33 issubclass(class, classinfo):判断类classA 是否是类classB的后代类

    class A(B):
        pass
    class C(A):
        pass
    issubclass(A,B) ---> True
    issubclass(C,B) --->True
    
  • 34 pow(x, y[, z ]):求幂函数

    pow(x,y) 等同于 x ** y
    pow(2,10) ---> 1024
    pow(x,y,x) 等同于( x ** y) % z
    pow(2,10,3) -->1
    
  • 35 super([type[, object-or-type ] ]):调用父类方法时使用的函数

    class C(B):
        def method(self, arg):
                super().method(arg)   #  super(C, self).method(arg)
    
  • 36 class bytes([source[, encoding[, errors]]]):不可变字节序列,参考可变字节序列

  • 38 float([x]):对象x转为浮点数,x可以是数值也可以是字符串

    float(10) ---> 10.0
    float('10') ---> 10.0
    
  • 39 iter(object[, sentinel ]):生成迭代器对象 参考next 函数

  • 40 print(*objects, sep=”,end=’\n’, file=sys.stdout, flush=False):输出函数

     print(a, b, c) ---> 一次性输出多个值
     print(*obj,sep='-----') 输出多个值中间使用的区分字符串
     print(2,1,3,sep='----') ---> 2----1----3
     print(2,1,3,sep='----',end = '') 不换行,默认换行
     给file 参数指定一个文件对象参数,可将内容写入文件
     f = open('abc.txt', 'w')
     print('hello world',file=f)
    
  • 41 tuple([iterable ]):生成元组对象

    使用可迭代序列生成元组
    不带参数生成空元组 ()
    tuple([1,2,3,4]) ---> (1,2,3,4)
    
  • 42 callable(object):判断对象是否可调用

    如果定义类的时候实现了 __call__ 函数,可以向调用函数一样调用对象,则callable(obj) ---->True
    
    def __call__(self, *args, **kwargs):
            print('****')
    a = A()
    a() ----> '****'
    
  • 43 format(value[, format_spec ]) 将值value 转换为format_spec格式,还没仔细研究过
  • 44 len(s):检测序列s的长度(元素个数)

    len('hello美女') ------> 7
    
  • 45 property(fget=None, fset=None, fdel=None, doc=None):属性

    上例子:
    class C:
        def __init__(self):
            self._x = None 
        def getx(self):
            return self._x
        def setx(self, value):
            self._x = value 
        def delx(self):
            del self._x
        x = property(getx, setx, delx, "I'm the 'x' property.")
     c = C()
     c.x =10 触发setx方法
     c.x 触发getx方法
     del c.x 触发delx 方法
     另一种写法,使用装饰器写法:
    
    class C:
        def __init__(self):
        self._x = None 
    
        @property
        def x(self):
        """I'm the 'x' property.""" 
            return self._x
    
        @x.setter
        def x(self, value):
            self._x = value
    
        @x.deleter 
        def x(self):
            del self._x
    
  • 46 class type(object)检测对象类型

    type(10) ---> <class 'int'>
    
  • 46 class type(name, bases, dict):创建类 参考这里

    关于元类这里就不解释了
    
  • 47 chr(i):根据字符编码值 返回字符

    ord('中') ---> 20013
    chr(20013) ---> '中'
    
  • 48 frozenset([iterable ]):生成不可变集合

    不可变集合拥有集合的很多特点,如:元素不会重复等
    
  • 49 list([iterable ]):生成列表对象,这个不解释

  • 50 range(stop) :生成范围对象
  • 50 range(start, stop[, step ])

        在2.7 版本中
        range(10) ---> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        在3.5 版本中
        range(10) ---> range(0, 10) 
        注意:生成的不再是列表
        start :起点
        stop:上限终点 不会超过
        step :步长
        倒序
        list(range(10,0,-1)) --->[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
    
  • 51 vars([object ]):返回模块 类 实例对象 或者其他对象的__dict__ 属性

    class A:
        def __init__(self):
            self.name = 'wzz'
    
        def sayHello(self):
            print("滚")
    
    a = A()
    print(vars(a)) ----> {'name': 'wzz'}
    
    在交互环境下,使用
    vars() ,不带参数,可获取当前环境所有 name - object 组成的字典
    
  • 52 classmethod(function):装饰器函数,生成类方法

    class C: 
        @classmethod
        def f(cls, arg1, arg2, ...): ...
    类方法 实例和类都可调用,真是蛋疼,其他语言不是这样的,会的Objectie-C 同学注意了!
    
  • 53 getattr(object, name[, default ]):获取对象的某个属性

    name 必须是字符串
    假设对象 a.age = 10
    getattr(a,'age' )---> 10
    假设对象a 没有 gender 属性
    getattr(a, 'gender', 'man') --> man
    
  • 54 locals():返回局部name-object字典

    在交互环境下试试就知道啦~
    
  • 55 repr(obj):返回机器友好字符串

    repr(a) ---> '<__main__.A object at 0x102a68d68>'
    可以通过重写 __repr__ 函数 改变返回值
    
  • 56 zip(*iterables):序列压缩重组函数

    序列长度不同
    zip('ABCD', 'xy') --> Ax By
    x = [1,2,3]
    y = [3,4,5]
    z = [5,6,7]
    rs = zip(x,y,z) 
    list(rs) ---> [(1,3,5),(2,4,6),(3,5,7)]
    for i,j,k in rs:
        print(i,j,k)
    
    1 3 5
    2 4 6
    3 5 7
    
  • 57 compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

    这个函数。。。太厉害,不想研究它
    
  • 58 globals():返回全局name-object字典

    在终端敲一下就懂啦~
    
  • 59 map(function,iterable,…):映射函数,这个函数使用广泛

    a = map(lambda x:x**2, range(100))
    <map object at 0x102268cf8> 返回的是map 对象
    第一个参数可以是个函数,也可以是lambda 表达式,函数或者lambda表达式的参数个数,取决于有多少个可迭代对象
    
  • 60 reversed(seq):翻转函数,将序列倒序

    a = [2,3,4,1,4,5] 
    reversed(a)-----> list_reverseiterator object at 0x102268cc0>
    list(reversed(a))---->[5,4,1,4,3,2]
    返回的并不是原来的序列,会生成新的对象,根据需要转换
    
  • 61__import__() 基本用不到

    当我们使用import 导入模块时,会触发该函数
    
  • 62 complex([real[,imag]]):生成复数对象

    complex(2,3) ----> 2+3j
    
  • 63 hasattr(obj,name):判断对象是否有某个属性

    x.foo = 123
    hasattr(x,foo)  --> True
    
  • 64 max():获取序列中最大值元素,请参考min的用法
  • 65 round(number[, ndigits ]):对浮点数number进行近似取值,保留ndigits位小数

    规则:如果距离两边一样远,会保留到偶数的一边。比如round(0.5)和round(-0.5)都会保留到0,而round(1.5)会保留到2
    round(1.3) ---> 1
    round(1000.2545,3)----->1000.255
    
  • 66 delattr():删除对象的属性

    delattr(obj, attrname)
    obj :对象
    attrname: 对象属性名称
    删除之后再去访问,会报错
    
  • 67 hash():生成对象的哈希值,对象必须不可变

    a = (1,2,3)
    hash(a) --->2528502973977326415
    
  • 68 memoryview(obj): 返回一个对象的memory view 对象

    相当于内存快照
    
  • 69 set(iterable) :将可迭代对象生成集合对象

    a = set() 生成空集合的方法
    a = {}   a 是空字典 需要注意的地方
    集合特点:集合中不会有相同的数据项,因此常用来去重,但要注意,去重后元素的相对位置可能发生变化
    a = [1,2,3,1,2,4,5,7,9,0]
    b = set(a) b---> {0, 1, 2, 3, 4, 5, 7, 9}
    如果需要保持相对位置不变,需要自己实现一个函数来完成相应功能
    
  • 15
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 本书的读者 本书的由来 本书目前的状况 官方网站 约定条款 欢迎给我反馈 值得思考的一些东西 1. 介绍 简介 Python的特色 概括 为什么不使用Perl? 程序员的话 2. 安装Python Linux和BSD用户 Windows®用户 概括 3. 最初的步骤 简介 使用带提示符的解释器 挑选一个编辑器 使用源文件 输出 它如何工作 可执行的Python程序 获取帮助 概括 4. 基本概念 字面意义上的常量 数 字符串 变量 标识符的命名 数据类型 对象 输出 它如何工作 逻辑行与物理行 缩进 概括 5. 运算符与表达式 简介 运算符 运算符优先级 计算顺序 结合规律 表达式 使用表达式 概括 6. 控制流 简介 if语句 使用if语句 它如何工作 while语句 使用while语句 for循环 使用for语句 break语句 使用break语句 continue语句 使用continue语句 概括 7. 函数 简介 定义函数 函数形参 使用函数形参 局部变量 使用局部变量 使用global语句 默认参数值 使用默认参数值 关键参数 使用关键参数 return语句 使用字面意义上的语句 DocStrings 使用DocStrings 概括 8. 模块 简介 使用sys模块 字节编译的.pyc文件 from..import语句 模块的__name__ 使用模块的__name__ 制造你自己的模块 创建你自己的模块 from..import dir()函数 使用dir函数 概括 9. 数据结构 简介 列表 对象与类的快速入门 使用列表 元组 使用元组 元组与打印语句 字典 使用字典 序列 使用序列 参考 对象与参考 更多字符串的内容 字符串的方法 概括 10. 解决问题——编写一个Python脚本 问题 解决方案 版本一 版本二 版本三 版本四 进一步优化 软件开发过程 概括 11. 面向对象的编程 简介 self 类 创建一个类 对象的方法 使用对象的方法 __init__方法 使用__init__方法 类与对象的变量 使用类与对象的变量 继承 使用继承 概括 12. 输入/输出 文件 使用文件 储存器 储存与取储存 概括 13. 异常 错误 try..except 处理异常 引发异常 如何引发异常 try..finally 使用finally 概括 14. Python标准库 简介 sys模块 命令行参数 更多sys的内容 os模块 概括 15. 更多Python的内容 特殊的方法 单语句块 列表综合 使用列表综合 在函数中接收元组和列表 lambda形式 使用lambda形式 exec和eval语句 assert语句 repr函数 概括 16. 接下来学习什么? 图形软件 GUI工具概括 探索更多内容 概括 A. 自由/开放源码软件(FLOSS) B. 关于本书 后记 关于作者 关于译者 关于简体中文译本 C. 修订记录 时间表 术语表 表格5.1 运算符与它们的用法 5.2 运算符优先级 15.1 一些特殊的方法 例子3.1 使用带提示符的Python解释器 3.2 使用源文件 4.1 使用变量和字面意义上的常量 5.1 使用表达式 6.1 使用if语句 6.2 使用while语句 6.3 使用for语句 6.4 使用break语句 6.5 使用continue语句 7.1 定义函数 7.2 使用函数形参 7.3 使用局部变量 7.4 使用global语句 7.5 使用默认参数值 7.6 使用关键参数 7.7 使用字面意义上的语句 7.8 使用DocStrings 8.1 使用sys模块 8.2 使用模块的__name__ 8.3 如何创建你自己的模块 8.4 使用dir函数 9.1 使用列表 9.2 使用元组 9.3 使用元组输出 9.4 使用字典 9.5 使用序列 9.6 对象与参考 10.1 备份脚本——版本一 10.2 备份脚本——版本二 10.3 备份脚本——版本三(不工作!) 10.4 备份脚本——版本四 11.1 创建一个类 11.2 使用对象的方法 11.3 使用__init__方法 11.4 使用类与对象的变量 11.5 使用继承 12.1 使用文件 12.2 储存与取储存 13.1 处理异常 13.2 如何引发异常 14.1 使用sys.argv 15.1 使用列表综合 15.2 使用lambda形式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值