Python开发中的两个小常识

简介: Python开发中的两个小常识

摄影:产品经理高嘌呤预警。

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


目录
相关文章
|
1天前
|
Python
LabVIEW和Python开发微细车削控制系统
LabVIEW和Python开发微细车削控制系统
LabVIEW和Python开发微细车削控制系统
|
1天前
|
设计模式 开发框架 数据库
Python Web开发主要常用的框架
Python Web开发框架包括Django、Flask、Tornado和Pyramid。Django适用于复杂应用,提供ORM、模板引擎等全套功能;Flask轻量级,易于扩展,适合小型至中型项目;Tornado擅长处理高并发,支持异步和WebSockets;Pyramid灵活强大,可适配多种数据库和模板引擎,适用于各种规模项目。选择框架需依据项目需求和技术栈。
8 2
|
1天前
|
安全 测试技术 持续交付
在Python Web开发中,测试是一个至关重要的环节
【5月更文挑战第12天】在Python Web开发中,测试至关重要,包括单元测试(unittest模块)、集成测试、功能测试、系统测试、验收测试、性能测试、安全测试和端到端测试。常用的测试工具有unittest、pytest、selenium、requests和coverage。遵循“测试先行”和“持续集成”原则,确保代码质量与稳定性。
8 3
|
5天前
|
存储 程序员 API
python web开发示例详解
python web开发示例详解
13 0
|
20天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
39 0
|
20天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
28 0
|
20天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
19 0
|
20天前
|
XML 人工智能 数据安全/隐私保护
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
16 0
|
20天前
|
人工智能 算法 API
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
19 0
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
|
20天前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
14 0