Python学习之程序通用架构及模块(1)

本文介绍了Python程序的通用架构,强调模块作为最高级别的组织单元,详细讲解了模块的导入和属性,以及如何组织Python程序。通过import和from语句理解模块的使用,学习模块创建与使用的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前接触过一些python的基础,由于在写Python程序,学习Python程序架构和文件管理方面的知识。

21 宏伟蓝图

模块是最高级别的程序组织单元,讲程序代码和数据封装起来以便重用。(从实际的角度来看,模块往往对应于Python程序文件)每一个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名。

import x
from x import y
imp.reload x

在一个模块文件的顶层定义的所有的变量名都成了被导入的模块对象的属性,导入给予了对模块的全局作用域中的变量的读取权,模块文件的全局作用域变成了模块对象的命名空间。

Python程序的通用架构

一般的Python程序都会采用多文件系统的形式,通用的程序架构是:将一个程序分割为源代码文件的集合以及将这些部分连接在一起的方法。

如何组织一个程序

一个Python程序包括了多个文本文件(Python语句的),是作为一个主体的、顶层的文件来构造的,被包括的文件被称作模块。
这个Python程序包含了程序的主要控制流程(需要运行来启动的文件),使用在模块文件中定义的工具(这些模块也可能用了别的模块)。
一个文件导入了一个模块来获得这个模块定义的工具的访问权,这些工具被认做是这个模块的属性。

导入和属性

b.py
def spam(text):
    print(text,'spam')

a.py
import b
b.spam('gumby')

# print
>>> gumby spam

import如何工作

python中程序第一次导入文件(模块)时,会执行三个步骤:
1. 找到模块文件
2. 编译成位码(需要时)
3. 执行模块的代码来创建其所定义的对象

3 执行模块的代码

文件中的所有语句会一次执行,从头至尾,因此hi生成模块代码所定义的所有工具。

22 模块代码编写基础

模块创建

定义模块,只需要使用文本编辑器,把一些Python代码输入其中,以.py为后缀进行保存即可。

# module1.py
def printer(x):     # Module attribute
    print(x)

模块的使用

import会读取整个模块,from将获取(复制)模块特定的变量名。

import语句

>>>import module                          # Get module as a whole
>>>module.printer('Hello world!')         # Qualify to get names
Hello world!

from语句

>>>from module import printer             # Copy out one variable
>>>printer('Hello world!')                # No need to qualify name
Hello world!

import 和 from的对等性

from module import name1,name2
# 
import module
name1 = module.name1
name2 = module.name2
del module

from的第一步骤也是普通的导入操作,总是会把整个模块导入到内存中,无论是从这个文件中复制出多少变量名,只加载模块文件的一部分是不可能的(不会存在效率问题,字节码不是机械码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值