EXCEL中宏毒X97M.Laroux.DX1的解决办法-英雄云拓展知识分享
151
2023-11-07
【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第1章,第5节,由陈刚、王洪军编著。
1.5 模块化
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越
来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每 个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在 Py- thon 中, 一个.py 文件就称为一个模块(module)。
使用模块有什么好处呢?
最大的好处首先是大大提高了代码的可维护性;其次,编写代码不必从零开始。 当一个模块编写完毕时,就可以被其他地方引用。我们在编写程序的时候,也经常引 用其他模块,包括 Python 内置的模块和来自第三方的模块。
使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分 别存放在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。
下面通过示例,来了解一下 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小时内删除侵权内容。