Python3内置函数(一)


Python3内置函数

  • Python3内置函数(一)
  • abs()
  • all()
  • any()
  • ascii()
  • bin()
  • bool()
  • bytearray()
  • bytes()
  • callable()
  • chr()
  • classmethod 修饰符
  • compile()
  • complex



daily learn

abs()

返回一个数的绝对值

浮点数
>>> abs(-3.4)
3.4

复数的虚部以j或者J作为后缀 返回模 
>>> abs(3+2j)
3.605551275463989

all()

括号里面可以是元组或者列表
如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True
简单来说
元素全是 True 才是True,有个 0、空、FALSE就是FALSE

>>> all(['a','b','c'])
True
>>> all(['a','','c']) // 有空返回false
False
>>> all([0,'b','c'])  // 有0返回false
False
>>> all([]) // 空列表返回true
True
>>> all(())  // 空元组返回ture
True

any()

括号里面可以是元组或者列表
元素不全是 0、空、FALSE 就是TRUE
相对的 ,元素全是 0、空、FALSE才是FALSE
简单来说
元素有个TRUE就是TURE

// 等于
def any(iterable):
    for element in iterable:
        if element:
            return True
    return False
>>> any(['a','b','c'])
True
>>> any(['a','','c'])
True
>>> any([0,'',False])
False
>>> any([])
False
>>> any(())
False

ascii()

将所有非 ascii 字符替换为转义字符
返回一个对象可打印的字符串
括号里可以是 字典 列表 字符串 元组等

>>> ascii('大丈夫')
"'\\u5927\\u4e08\\u592b'"

bin()

返回一个整数 int 或者长整数 long int 的二进制表示

>>> bin(10)
'0b1010'

bool()

给定参数转换为布尔类型,如果没有参数,返回 False

>>> bool(0)
False
>>> bool(1)
True

bytearray()

bytearray 类是一个可变序列,包含范围为 0 <= x < 256 的整数

//方法
class bytearray([source[, encoding[, errors]]])

>>> bytearray('qwe','utf-8')
bytearray(b'qwe')
>>> bytearray([1,2])
bytearray(b'\x01\x02')

bytes()

bytes 对象是由单个字节构成的不可变序列
序列中的每个值的大小被限制为 0 <= x < 256

// 方法
class bytes([source[, encoding[, errors]]])

>>> bytes([1,2])
b'\x01\x02'

callable()

检查一个对象是否是可调用的

// 调用方法返回true
>>> def add(a,b):
...     return a +b
... 
>>> callable(add)
True

>>> callable('a+b')
False

chr()

返回 Unicode 码位为整数(括号内)的字符的字符串格式
实参的合法范围是 0 到 1,114,111

>>> chr(97)
'a'
>>> chr(0x30)
'0'

classmethod 修饰符

classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

// 声明类方法
class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...
// 例子
class A(object):
    bar = 1
    def func1(self):  
        print ('foo') 
    @classmethod
    def func2(cls):
        print ('func2')
        print (cls.bar)
        cls().func1()   # 调用 foo 方法
 
A.func2()               # 不需要实例化

//
func2
1
foo

compile()

将一个字符串编译为字节代码

// 语法
compile(source, filename, mode[, flags[, dont_inherit]])
source -- 字符串或者AST(Abstract Syntax Trees)对象。。
filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
flags和dont_inherit是用来控制编译源码时的标志
str = '3+4'
a = compile(str, '', 'eval')
print(eval(a))
// 结果
7

str = 'print("super")'
a = compile(str, '', 'exec')
exec(a)
//结果
super

complex

返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数

//语法
class complex([real[, imag]])
real -- int, long, float或字符串;
imag -- int, long, float;

>>> complex(1)
(1+0j)
>>> complex('2')
(2+0j)
>>> complex(1,2)
(1+2j)