ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.5 模块化

网友投稿 151 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第1章,第5节,由陈刚、王洪军编著。

1.5 模块化

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越

来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每 个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在 Py- thon 中, 一个.py 文件就称为一个模块(module)。

使用模块有什么好处呢?

最大的好处首先是大大提高了代码的可维护性;其次,编写代码不必从零开始。 当一个模块编写完毕时,就可以被其他地方引用。我们在编写程序的时候,也经常引 用其他模块,包括 Python 内置的模块和来自第三方的模块。

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.5 模块化

使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分 别存放在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。

下面通过示例,来了解一下 Python 中模块的使用。

https://github.com/aguncn/django-python-auto-deploy-book/blob/master/ch1/moduleA.Py

01 #coding =utf-8

02

03 #演示Python的模块导入

04

05 def say(message ='world')

06 print('hello,{}'.format(message))

将此文件保存在与 moduleA.py 同一目录的chl-10.py 文件中。

可以看到,在ch1-10.py 文件中,导入了前面写好的 moduleA 模块。然后,调 用了两次 moduleA 中的方法, 一次使用了默认的 message 参数,另一次使用了自定 义的 message 参数。输出如下:

hello,world

hello,python

内置模块的使用,在日常 Python 开发中扮演着很重要的角色。除了Python 的 语法之外,内置模块就是我们主要的学习对象。其实,前面已学习了一些模块的知识 了,只是没有专门抽取出知识点而已。如前面代码中的 import math,from concur- rent.futures import ThreadPoolExecutor 这些语句,都是导入了系统内置的模块,快 速地生成我们所需要的功能。除了以上这两个,datetime 、os 、sys 、shutil、json、ran- dom、logging、re 等都是经常会用到的模块,用来快速解决在时间处理、系统属性、文 件读/写、json 序列化、随机数、日志正则方面遇到的问题。

下面以几个示例演示一下模块的导入与使用。真正工作当中用到的模块,只要 看官方文档及网上的示例,就可以快速掌握。

>>>from datetime import datetime,timedelta

>>datetime.now() # 获取当前时间

datetime.datetime(2018,9,5,21,50,20,266696)

>>datetime.now()+timedelta(hours =4)# 获取当前时间加4小时之后的时间

datetime.datetime(2018,9,6,1,51,23,113291)

>>a =datetime.now()

>>print(a.year)# 获取年

2018

>>>print(a.month)# 获取月

print(a.day)# 获取日

5

datetime 模板,用来处理日期及时间。Python 还有另一个关于时间日期的模

块:time 。 这两个模块的侧重点不同,time 更加侧重于Linux 时间戳。

>>import random

>>>print(random.randrange(1,10))

2

random 模块主要用来生成随机数。

>>>import os

>>>print(os.getcwd)

>>>print(os.getcwd())

D:\book-code\ch1

>>os.mkdir('test_dir')

>>print(os.listdir())

['ch1-1.py','ch1-10.py','ch1-2.py','ch1-3.py','ch1-4.py','ch1-5.py','ch1-6.

py','ch1-7.py','ch1-8.py','ch1-9.py',mathfunc.py','moduleA.py','moduleMock.py','test

dir','test_mathfunc.py','test_mock.py','__pycache__']

>>print(os.path.isfile('ch1-1.py'))

True

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Excel VBA+SQL数据管理与应用模板开发》_4.4 通过窗体对数据进行维护
下一篇:《Python学习笔记 从入门到实战》_更了解Python的途径之一_2.7.1 Python字符串基础
相关文章
×