怎样在小程序里实现标题的更改
882
2022-11-13
Python 模块结构
模块是由 Python 代码组成的 .py 文件,任何 Python 文件都可以作为一个模块被引用。
有些模块可通过标准库来获得,因此会随着 Python 一起安装,而其他模块可以用包管理器 pip 来安装。此外,我们还可以根据需要编写属于自己的模块,也就是常说的自定义模块。
1
创建模块
模块的编写相当简单,它可以包含变量、函数和类的定义。一旦模块编写完成,便可以在其他 Python 程序中进行导入,然后使用它里面的定义。
用一个例子来进行说明,创建一个名为 my_module.py 的文件,内容如下所示:
# 定义一个变量msg = 'I am very happy.'# 定义一个函数def hello(): print("Hello, World!")# 定义一个类class Person: def __init__(self, name, age): self.name = name self.age = age def display(self): print("My name is {}, i am {} years old.".format(self.name, self.age))
这是一个典型的 Python 模块,它并没有调用任何操作,只是简单地定义了变量 msg、函数 hello() 和类 Person,其代码可以导入并在其他 Python 文件中重用。
2
导入模块
现在,在同一目录下创建一个名为 top_module.py 的文件,然后导入上述模块并访问其中的属性:
import my_module as m# 调用变量print(m.msg)# 调用函数m.hello()# 创建对象,并调用方法p = m.Person('Waleon', 18)p.display()
这是运行 Python 程序的顶级脚本,它显式地调用了模块中的函数、对象的方法,并将变量的值打印到屏幕上。
运行该脚本,将得到以下输出:
$ python3 top_module.pyI am very happy.Hello, World!My name is Waleon, i am 18 years old.
值得注意的是,一旦模块被导入(导入方式可参考:Python 模块),模块名将成为导入模块中的变量/对象,它里面的所有顶级代码定义都会成为该变量的属性。
3
模块结构
在绝大多数情况下,Python 程序会被组织在多个文件中,并使用 import 语句相互关联。一般来说,这些文件会分被为三类:
顶级模块:Python 脚本,它是程序的主要入口点,运行此文件以启动程序。自定义模块:用户自己写的 Python 模块,它往往会提供一些独立的功能,将会被导入到顶级模块或其他自定义模块中。标准库模块:内置于 Python 安装包中的模块(例如:sys、time、json 等),为日常编程中的诸多问题提供了标准的解决方案。
来看一个基本的程序结构,它包含了上面这些模块:
在这个图中,top_module.py 是顶级模块,它导入了模块 my_module1 中定义的内容,但也可以通过 my_module1 访问 my_module2 中的内容,而这两个自定义模块使用了彼此之间的资源,以及标准库中的其他模块。
Tips:导入链可以深入到任何想要的地方:导入文件的数量没有限制,它们可以彼此导入,但要小心循环导入。
实际应用
还是举一个例子吧,来详细说明这一点,先来看 my_module1.py:
from my_module2 import info, squarefrom math import pi# 定义一个形状shape = 'circle'# 求圆的面积def area(r): return pi * square(r)
接着是 my_module2.py:
# 打印一条信息def info(): import my_module1 print('Calculate the area of {}'.format(my_module1.shape))# 求平方def square(r): return r ** 2
你可能注意到了,这里的 import 语句并不在第一行,而是被放入了函数(或者是类)里面,这样做的目的正是为了避免循环导入。
再来看 top_module.py:
import my_module1my_module1.info()print(my_module1.area(3))
在这里,top_module.py 是由用户运行的顶级模块,它通过 my_module1.py 从其他模块导入内容。my_module1 和 my_module2 是用户定义的模块,而 math 模块是从标准 Python 库导入的。
运行顶级脚本,将得到以下输出:
$ python3 top_module.pyCalculate the area of circle28.274333882308138
·END·
高效程序员
谈天 · 说地 · 侃代码 · 开车
长按识别二维码,解锁更多精彩内容
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~