Python的内置函数和保留字(关键字)

目录

内置函数

 关键字(保留字)


内置函数

Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。

 将使用频繁的代码段封装起来,并给它起一个名字,以后使用的时候只要知道名字就可以,这就是函数。函数就是一段封装好的、可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。

内置函数和标准库函数是不一样的。

Python 解释器也是一个程序,它给用户提供了一些常用功能,并给它们起了独一无二的名字,这些常用功能就是内置函数。Python 解释器启动以后,内置函数也生效了,可以直接拿来使用。

Python 标准库相当于解释器的外部扩展,它并不会随着解释器的启动而启动,要想使用这些外部扩展,必须提前导入。Python 标准库非常庞大,包含了很多模块,要想使用某个函数,必须提前导入对应的模块,否则函数是无效的。

内置函数是解释器的一部分,它随着解释器的启动而生效;标准库函数是解释器的外部扩展,导入模块以后才能生效。一般来说,内置函数的执行效率要高于标准库函数。

Python 解释器一旦启动,所有的内置函数都生效了;而导入标准库的某个模块,只是该模块下的函数生效,并不是所有的标准库函数都生效。

内置函数的数量必须被严格控制,否则 Python 解释器会变得庞大和臃肿。一般来说,只有那些使用频繁或者和语言本身绑定比较紧密的函数,才会被提升为内置函数。

例如,在屏幕上输出文本就是使用最频繁的功能之一,所以 print() 是 Python 的内置函数。

在 Python 2.x 中,print 是一个关键字;到了 Python 3.x 中,print 变成了内置函数。 

 

除了 print() 函数,Python 解释器还提供了更多内置函数,下表列出了 Python 3.x 中的所有内置函数。
 

 Python 3.x内置函数
内置函数
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slicea()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()

表 1 中各个内置函数的具体功能和用法,可通过访问 https://docs.python.org/zh-cn/3/library/functions.html 进行查看。

注意,不要使用内置函数的名字作为标识符使用(例如变量名、函数名、类名、模板名、对象名等),虽然这样做 Python 解释器不会报错,但这会导致同名的内置函数被覆盖,从而无法使用。例如:

>>> print = "http://c.biancheng.net/python/"  #将print作为变量名
>>> print("Hello World!")  #print函数被覆盖,失效
Traceback (most recent call last):
  File "", line 1, in 
    print("Hello World!")
TypeError: 'str' object is not callable

 关键字(保留字)

保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。

Python 包含的保留字可以执行如下命令进行查看:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

所有的保留字,如下表所示:
 

 Python 保留字一览表
and as assert break class continue
def del elif else except finally
for from False global if import
in is lambda nonlocal not None
or pass raise return try True
while with yield


需要注意的是,由于 Python 是严格区分大小写的,保留字也不例外。所以,我们可以说 if 是保留字,但 IF 就不是保留字。

在实际开发中,如果使用 Python 中的保留字作为标识符,则解释器会提示“invalid syntax” 的错误信息,如图 2 所示。

 

Python的内置函数和保留字(关键字)_第1张图片


保留字作标识符报错信息示意图

你可能感兴趣的:(python,python,开发语言)