前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python开发中的两个小常识

Python开发中的两个小常识

作者头像
青南
发布2020-04-26 13:06:15
4550
发布2020-04-26 13:06:15
举报
文章被收录于专栏:未闻Code

摄影:产品经理

高嘌呤预警。

parameters 与 arguments 有什么区别?

如果大家看一些英文文档,可能会看到两个词parameters(有时候简写为params)和arguments(有时候简写为args)。他们的中文意思都是参数。那么他们有什么区别呢?

实际上,parameters是我们在定义函数的时候,写在括号里面的参数名,而arguments是我们在调用函数的时候,传进去的具体值。

例如:

代码语言:javascript
复制
def test(name, age=0):
    print(name, age)

test('kingname', age=1)

其中nameage叫做parameters,而kingname1叫做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语句写在这个函数里面。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • parameters 与 arguments 有什么区别?
  • 使用 import导入模块的最佳实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档