Python 入门
自定义模块
学会创建和使用自己的模块
- 创建自己的 .py 模块
- import 自定义模块
- 理解 __name__ == '__main__'
什么是模块
每个 .py 文件就是一个模块。把相关函数放一个文件里,其他文件导入就能用。
创建并使用模块
示例代码(可运行)
Python 0%
from...import 用法
示例代码(可运行)
Python 0%
__name__ == '__main__'
当文件被直接运行时,__name__ 是 '__main__';被导入时是模块名。这样模块可以自测又不影响导入者:
示例代码(可运行)
Python 0%
💡模块的好处
把代码拆分到不同文件,每个文件负责一个功能。代码更清晰、可复用、可维护。这是工程化的第一步。
预测输出
# mymodule.py
x = 42
# main.py
import mymodule
print(mymodule.x)找 Bug模块顶层的代码在被 import 时就会执行。测试代码应该放在 if __name__ == '__main__' 中。
# mytools.py
def greet():
print("Hi")
greet() # 导入时就会执行
# main.py
import mytools # 会打印 "Hi"
填空题填写空白处的代码
# mytools.py
def greet(name):
print("Hi", name)
# main.py
mytools
mytools.greet("小明")
选择题
文件被 import 时 __name__ 的值是?
选择题
自定义模块文件的扩展名是?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
Python 里整数、字符串甚至函数都是对象,堆在内存里;变量不是装东西的盒子,而是一张贴在对象上的「名字标签」(引用)。id(x) 看对象身份,is 比身份、== 比值。CPython 会缓存 -5~256 的小整数,所以 a=1;b=1 时 a is b 为 True,但 a=300;b=300 未必。结论:判断值是否相等永远用 ==,判断是不是 None 才用 is。
挑战任务
自定义模块
简单+50 XP
创建工具模块包含 add 和 subtract,导入使用。
自定义模块
Python 0%
2 个测试用例
课后作业
数学工具包
中等+20 XP
创建包含加减乘除的模块并导入使用。
数学工具包
Python 0%
1 个测试用例