Python开发中的两个小常识

发表于:2020-4-20 09:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:kingname    来源:未闻Code

  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文件的最上面,并且按照下面的顺序:
  1、Python 自带的标准库优先导入,例如time/os/re等等
  2、已安装的第三方库
  3、自己写到项目中的本地模块
  在必要的时候,为了避免循环导入,可以把部分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语句写在这个函数里面。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号