直播: 近二十载从业老兵谈金融科技赋能的探索与实践
parameters 与 arguments 有什么区别?
如果大家看一些英文文档, 可能会看到两个词 parameters(有时候简写为 params) 和 arguments(有时候简写为 args). 他们的中文意思都是参数. 那么他们有什么区别呢?
实际上, parameters 是我们在定义函数的时候, 写在括号里面的参数名, 而 arguments 是我们在调用函数的时候, 传进去的具体值.
例如:
- def test(name, age=0):
- print(name, age)
- test('kingname', age=1)
其中 name 和 age 叫做 parameters, 而 kingname 和 1 叫做 arguments.
使用 import 导入模块的优秀实践
在任何情况下都禁止使用 from xxx import * 这种写法.
在绝大多数情况下, 把 import 语句写在. py 文件的最上面, 并且按照下面的顺序:
Python 自带的标准库优先导入, 例如 time/os/re 等等
已安装的第三方库
自己写到项目中的本地模块
在必要的时候, 为了避免循环导入, 可以把部分 import 语句写在函数里面.
有一个文件 a.py, 里面开头的语句是 import b. 又有一个文件 b.py, 里面开头的语句是 import a. 这样写是没有问题的. 如下图所示:
但是, 如果在 a.py 里面写为 from b import walk, 那么就会出现循环引用, 导致报错. 如下图所示:
这是由于, 在 a.py 执行 from b import walk 的时候, 会进入 b.py 文件. 此时 b.py 文件会执行 import a, 但是由于 a.py 文件还没有执行完成, 就导致 b.py 没有执行完成, 此时 walk() 函数还没有被定义, 所以就无法导入.
对于这种情况, 如果确实代码里面需要这样引用, 那么可以把 from b import walk 写到 say() 函数里面, 这样就能正常导入了, 如下图所示:
当导入某个模块特别耗时间, 但它又只在某个特定的函数里面执行时, 也可以把 import 语句写在这个函数里面.
来源: http://developer.51cto.com/art/202004/614646.htm