Python3 内置函数详解

1. abs()

语法:abs( x )
参数:x 为 数值,包括整数,浮点数,复数及其表达式。
返回值:如果x是数字,则返回x的绝对值,如果x是复数,则返回它的模。
示例:

print(abs(-8.123))
print(abs(3+4j))

结果为:

8.123
5.0

2. all()

描述:判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。

语法:all(iterable)
参数:iterable 为 元组或列表
返回值:如果iterable的元素中没有0、’’、False或者iterable为空,all(iterable)返回True,否则返回False。
注意:空元组、空列表返回值为True,这里要特别注意。
示例:

>>> all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
False
>>> all([0, 12, 3])          # 列表list,存在一个为0的元素
False
>>> all([4,None,5])			   # 列表list,存在一个为None的元素
False   
   
>>> all(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3))          # 元组tuple,存在一个为0的元素
False
>>> all((4,None,5))			   # 列表tuple,存在一个为None的元素
False 
   
>>> all([])             # 空列表
True
>>> all(())             # 空元组
True

3. any()

描述:判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
元素除了是None、0、空、FALSE 外都算 TRUE。

语法:any(iterable)
参数:iterable 为 元组或列表
返回值:如果都为空、0、false,则返回false,如果不都为None、0、空、FALSE,则返回true。
注意:空元组、空列表返回值为False,这里要和all()函数区分。
示例:

>>>any(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
True
>>> any([0, '', False])        # 列表list,元素全为0,'',false
False
 
>>> any(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
True
>>> any((0, '', False))        # 元组tuple,元素全为0,'',false
False
  
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False

4. ascii()

描述:ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

语法:ascii(object)
参数:object 为 对象名。
返回值:字符串
示例:

>>> ascii('hello')
"'hello'"
>>> ascii(55)
'55'

5. bin()

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

语法:bin(x)
参数:x 为 int 或者 long int 数字
返回值:字符串
示例:

>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'

6. bool()

描述:用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool 是 int 的子类。

语法:bool(x)
参数:x 为 要进行转换的参数。
返回值:True 或 False。
示例:

>>>bool()
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> issubclass(bool, int)  # bool 是 int 子类
True

7. bytearray()

描述:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

语法:bytearray(source,encoding,error)
参数:

  • source
    为待转化的元素,
    如果 source 为整数,则返回一个长度为 source 的初始化数组,
    如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列,
    如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数,
    如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray,
    如果没有输入任何参数,默认就是初始化数组为0个元素。
  • encoding
    若source 为字符串,则encoding参数必须存在(为utf-8,gbk,Latin-1等编码格式);若为b’xxx’,则encoding参数不需要
  • error
    用于设置错误处理方案,如果 error 为空,使用默认方案 ‘strict’——该方案在出现编码错误时会抛出 UnicodeError。error 可以是 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 或任何已通过 codecs.register_error() 注册的名称。

返回值:返回新字节数组。
示例:

>>> bytearray(2)
bytearray(b'\x00\x00')
>>> bytearray('hello', 'utf-8')
bytearray(b'hello')
>>> bytearray([1,2,3])
bytearray(b'\x01\x02\x03')
>>> bytearray()
bytearray(b'')

8. bytes()

描述:返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。
语法:bytes(source,encoding,error)
参数:同bytearray()
返回值:返回一个新的 bytes 对象。
示例:

>>> bytes([1,2,3])
b'\x01\x02\x03'
>>> bytes('hello', 'utf-8')
b'hello'

9. callable()

描述:用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。
对于函数、方法、lambda 函式、 类以及实现了 call 方法的类实例, 它都返回 True。

语法:callable(object)
参数:object 为 对象名
返回值:可调用返回 True,否则返回 False。
示例:

>>>callable(0)
False
>>> callable("hello")
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
>>> b = B()
>>> callable(b)               # 实现 __call__, 返回 True
True

10. chr()

描述:用一个范围在0~255的整数作参数,返回它对应的字符。

语法:chr(x)
参数:x 可以是10进制也可以是16进制形式的数字。
返回值:如果有对应的显式字符,则返回相应字符,如果没有,则返回对应16进制。
示例:

>>> chr(14)	# 没有显式字符
'\x0e'
>>> chr(0xf)
'\x0f'
>>> chr(127)
'\x7f'

>>> chr(64) # 有显式字符
'@'
>>> chr(90)
'Z'
>>> chr(227)
'ã'

11. classmethod

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

语法:@classmethod
参数:无
返回值:返回函数的类方法
示例:

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

12. compile()

描述:将一个字符串编译为字节代码,可以由exec()或eval()执行…。
语法:compile(source, filename, mode, flags=0, dont_inherit=False)
参数:

  • source:表示Python模块、语句或表达式。
  • filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
  • mode:指定编译代码的种类。可以指定为 exec, eval, single。
  • 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)
17
发布了72 篇原创文章 · 获赞 87 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/maizousidemao/article/details/102664604