Python解释器内置了很多实现常用功能的函数和类型,他们统称为内置函数,这些内置函数无需使用 import
导入,
在任意位置都可以直接使用。内置函数存在于 __builtins__
模块中,因此,内置函数的作用域是内置作用域,
每个python脚本都会自动加载该模块,这正是可以随意使用内置函数的原因。
下面的代码展示如何通过获得 __builtins__
模块来调用内置函数。
builtins = globals()['__builtins__']
print(type(builtins))
<class 'module'>
max_function = builtins.max
print(max_function([1, 4, 6, 9]))
9
内置函数globals
以字典的形式返回当前模块命名空间里的全局变量,这其中就包含 __builtins__
模块。
有些所谓的内置函数,例如 list
, dict
等,其本质是类,而非函数。
但这些类的命名并没有遵守类的命名规范,而是采用了函数的命名规范,首字母是些小而非大写。
由于函数与类都是可调用对象,因此从语法上不能对他们的类型做出区分,
这似乎这是python开发人员有意而为之。众多教程将它们统称为内置函数,
虽然不是最准确的理解,但并不影响使用。
python的内置函数大约有70个左右,熟练的掌握并使用它们,将极大的简化代码, 提高编程效率,下面是按照函数名称首字母进行分类整理的内置函数表:
1 | 2 | 3 | 4 |
---|---|---|---|
abs | all | any | bytes |
bin | bool | bytearray | compile |
chr | callable | dict | divmod |
delattr | dir | eval | exec |
enumerate | filter | float | frozenset |
getattr | globals | hash | hex |
hasattr | isinstance | issubclass | iter |
int | input | id | locals |
list | len | max | min |
map | next | oct | open |
pow | reversed | round | |
range | repr | set | setattr |
slice | sorted | staticmethod | str |
sum | super | tuple | type |
vars | zip |
打印函数 print()
print()
函数能是所有学习计算机语言最先要使用的函数。
在有的编程语言中可能是以指令的方式先出现。
print()
函数实现的功能就是把信息打印到屏幕终端。
在遥远的时代,这个方式是计算机与人进行交互的最重要也是最基本的方式。
Python 语言同样有 print()
函数。
尤其要注意的是, 在 Python 2 中原本是 print
语句,后来才修改为函数的方式。
关于这个问题,可参考如下:
- 原始出处: https://peps.python.org/pep-3105/
- 博客园解释: https://www.cnblogs.com/yangxiaolan/p/5782584.html
- 知乎中的解释: https://zhuanlan.zhihu.com/p/69388407
关键字参数
大多数参数是由它们在函数调用中的位置来识别的。
例如, random.randint(l,10)
与 random.randint(10, 1)
不同。
函数调用 random.randint(l, 10)
将返回 1 到 10 之间的一个随机整数,
因为第一个参数是范围的下界,第二个参数是范围的上界(而 random.randint(10, 1)
会导致错误)。
但是,“关键字参数”是由函数调用时加在它们前面的关键字来识别的。
关键字参数通常用于可选变量。
例如, print()
函数有可选的变量 end
和 sep
,
分别指定在参数末尾打印什么,以及在参数之间打印什么来隔开它们。
end
关键词
如果运行以下程序:
print( 'Hello')
Hello
print('World')
World
这两个字符串出现在独立的两行中,因为 print()
函数自动在传入的字符串末尾添加了换行符。
但是,可以设置 end
关键字参数,将它变成另一个字符串。例如,
如果程序像这样:
print('Hello',end='')
Hello
print('World')
World
print ('cats','dogs','mice')
cats dogs mice
但是可以传入 sep
关键字参数,替换掉默认的分隔字符串。
在交互式环境中输入以下代码:
print ('cats','dogs','mice' ,sep=',')
cats,dogs,mice
也可以在编写的函数中添加关键字参数,但必须先在接下来的两章中学习列表和字典数据类型。 现在只要知道,某些函数有可选的关键字参数,在函数调用时可以指定。