社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python开发中的两个小常识

编程派 • 4 年前 • 578 次点击  

点击上方“编程派”,选择设为“设为星标

优质文章,第一时间送达!

parameters 与 arguments 有什么区别?

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

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

例如:

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语句写在这个函数里面。

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


题图:pexels,CC0 授权。

好文章,我在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/63017
 
578 次点击  
文章 [ 1 ]  |  最新文章 3 年前