• Python内置函数(3)


    Python内置函数(3)

    1.ascii(object)
    ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 x, u 或 U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值
    >>> ascii('Keys')
    "'Keys'"
    >>>
    2.bin(x)  x -- int 或者 long int 数字
    bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
    >>> bin(100)
    '0b1100100'
    >>> bin(10)
    '0b1010'
    >>>
    3.bool([x])
    bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。
    bool 是 int 的子类
    >>>bool()
    False
    >>> bool(0)
    False
    >>> bool(1)
    True
    >>> bool(2)
    True
    >>> issubclass(bool, int)  # bool 是 int 子类
    True
    4.bytearray(([source[, encoding[, errors]]])
    bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256

    如果 source 为整数,则返回一个长度为 source 的初始化数组;
    如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
    如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
    如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
    如果没有输入任何参数,默认就是初始化数组为0个元素。
    >>> bytearray()
    bytearray(b'')
    >>> bytearray([1,2])
    bytearray(b'x01x02')
    >>> bytearray('keys','utf-8')
    bytearray(b'keys')
    >>>
    5.bytes([source[, encoding[, errors]]])
    bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本

    如果 source 为整数,则返回一个长度为 source 的初始化数组;
    如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
    如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
    如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
    如果没有输入任何参数,默认就是初始化数组为0个元素。
    >>>a = bytes([1,2,3,4])
    >>> a
    b'x01x02x03x04'
    >>> type(a)
    <class 'bytes'>
    >>>
    >>> a = bytes('hello','ascii')
    >>>
    >>> a
    b'hello'
    >>> type(a)
    <class 'bytes'>
    >>>
    6.callable(object)
    callable() 函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

    对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True
    >>>callable(0)
    False
    >>> callable("runoob")
    False
    
    >>> def add(a, b):
    ...     return a + b
    ...
    >>> callable(add)             # 函数返回 True
    True
    >>> class A:                  #
    ...     def method(self):
    ...             return 0
    ...
    >>> callable(A)               # 类返回 True
    True
    >>> a = A()
    >>> callable(a)               # 没有实现 __call__, 返回 False
    False
    >>> class B:
    ...     def __call__(self):
    ...             return 0
    ...
    >>> callable(B)
    True
    >>> b = B()
    >>> callable(b)               # 实现 __call__, 返回 True
    True
    View Code
    7.chr(x)  x -- 可以是10进制也可以是16进制的形式的数字
    chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
    >>>print chr(0x30), chr(0x31), chr(0x61)   # 十六进制
    0 1 a
    >>> print chr(48), chr(49), chr(97)         # 十进制
    0 1 a
    8.classmethod
    classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
    class A(object):
        bar = 1
        def func1(self):
            print ('foo')
        @classmethod
        def func2(cls):
            print ('func2')
            print (cls.bar)
            cls().func1()   # 调用 foo 方法
    
    A.func2()               # 不需要实例化
    9.compile(source, filename, mode[, flags[, dont_inherit]])
    compile() 函数将一个字符串编译为字节代码。

    source -- 字符串或者AST(Abstract Syntax Trees)对象。。
    filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
    mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
    flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
    flags和dont_inherit是用来控制编译源码时的标志
    >>>str = "for i in range(0,10): print(i)"
    >>> c = compile(str,'','exec')   # 编译为字节代码对象
    >>> c
    <code object <module> at 0x10141e0b0, file "", line 1>
    >>> exec(c)
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> str = "3 * 4 + 5"
    >>> a = compile(str,'','eval')
    >>> eval(a)
    View Code
    10.complex([real[, imag]])
    real -- int, long, float或字符串;
    imag -- int, long, float;
    complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
    >>>complex(1, 2)
    (1 + 2j)
    
    >>> complex(1)    # 数字
    (1 + 0j)
    
    >>> complex("1")  # 当做字符串处理
    (1 + 0j)
    
    # 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
    >>> complex("1+2j")
    (1 + 2j)
  • 相关阅读:
    1132: 零起点学算法39——多组测试数据(a+b)
    1131: 零起点学算法38——求阶乘和
    1130: 零起点学算法37——求阶乘
    1129: 零起点学算法36——3n+1问题
    1128: 零起点学算法35——再求多项式(含浮点)
    1127: 零起点学算法34——继续求多项式
    1126: 零起点学算法33——求多项式
    Netty源码分析第1章(Netty启动流程)---->第1节: 服务端初始化
    Netty源码分析(前言, 概述及目录)
    基于HTK语音工具包进行孤立词识别的使用教程
  • 原文地址:https://www.cnblogs.com/Keys819/p/9439167.html
Copyright © 2020-2023  润新知