概述
1-多个文件!模块
Python最得意的地方就是代码精简,简单,几行代码完成很多事情,但是在做工程的时候,一个文件是不够用了,几千行代码万一出现一个bug,那得找多久?于是模块横空出世,其实我们经常用到模块,使用import
引入的就是模块,像os.path
。说白了模块就是文件,注意是单个文件叫模块。下面说怎么使用。
首先创建模块:module.py
# module.py
def display(arc):
print(arc)
再创建主程序,在创建主程序的时候,需要使用import
语句导入你的模块,注意主程序要和自建模块放在一起,否则放在PythonLib里。
# main.py
import module
module.display("hello")
运行结果:
hello
如果你将模块中的语句封装起来,才能通过调用的方式执行,否则直接执行。
模块的说明文档
这一部分并不重要。没一个模块都应该有一个说明文档,这样可以让人更清楚的看懂。说明文档写在模块代码的开头,用长字符串括起来,写下一些基本的文档,不过话说回来我从不写,除非必须。
为自定义模块添加说明文档,和函数或类的添加方法相同,即只需在模块开头的位置定义一个字符串即可。例如,为 demo.py 模板文件添加一个说明文档:
'''
demo 模块中包含以下内容:
name 字符串变量:初始值为“Python教程”
add 字符串变量:初始值为“http://c.biancheng.net/python”
say() 函数
CLanguage类:包含 name 和 add 属性和 say() 方法。
'''
经典说明文档实例如下:
'''
@Author: your name
@Date: 2020-07-06 11:48:19
@LastEditTime: 2020-07-09 19:27:25
@LastEditors: Please set LastEditors
@Description: In User Settings Edit
@FilePath: Coding-Notes.cpp
'''
然后使用在主程序中使用模块的魔法方法可以直接输出文档,实例两个代码在一起
# main.py
import module
print(module.__doc__)
# module.py
'''
@Author: your name
@Date: 2020-07-06 11:48:19
@LastEditTime: 2020-07-09 19:27:25
@LastEditors: Please set LastEditors
@Description: In User Settings Edit
@FilePath: Coding-Notes.cpp
'''
结果输出:
@Author: your name
@Date: 2020-07-06 11:48:19
@LastEditTime: 2020-07-09 19:27:25
@LastEditors: Please set LastEditors
@Description: In User Settings Edit
@FilePath: Coding-Notes.cpp
可以打印文档
2-模块升级!包
代码中是有作用域的,模块中的变量可能和主程序中的变量重复,而且模块中也不可能一个模块写下所有程序,这时包光荣出场,其实就是一个文件夹,包括一个__init__.py
的文件夹,可以包含很多模块或者包中包。
例如,现在我们创建一个非常简单的包,该包的名称为 my_package,可以仿照以上 2 步进行:
- 创建一个文件夹,其名称设置为 my_package;
- 在该文件夹中添加一个
__init__.py
文件,此文件中可以不编写任何代码。不过,这里向该文件编写如下代码:''' http://c.biancheng.net/ 创建第一个 Python 包 ''' print('http://c.biancheng.net/python/')
__init__.py
中的代码如果不封装在函数中,则会引入后直接执行。
创建好包之后,我们就可以向包中添加模块(也可以添加包)。这里给 my_package 包添加模块
第一个模块命名为module1.py
'''
name: module1.py
'''
def display(arc):
print(arc)
就这么点,一个函数,引入包的时候格式如下
from 包名 import 模块名 [as 别名]
from 包名.模块名 import 函数名 [as 别名]
import 包名[as 别名]
import 包名.模块名
方式很多,也可能包中还有包
import 包名.包名.包名
下面是主程序,如果包没有保存进Python Lib里面,就要把包和主程序放在一起,最好是一个工程文件夹。
——工程文件夹
——包
——主程序
——一些模块
from myPackage import module1
module1.display("fff")
print(module1.__doc__)
这个运行结果就是输出hello world
然后输出fff
结束
包中的init是自动执行的,所以直接输出helloworld。
最后
以上就是眯眯眼毛衣为你收集整理的Python模块与包笔记(自用)1-多个文件!模块2-模块升级!包的全部内容,希望文章能够帮你解决Python模块与包笔记(自用)1-多个文件!模块2-模块升级!包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复