Python 基础 - 第十节
📋 本节要点
| 知识点 | 说明 |
|---|---|
import |
导入整个模块 |
from ... import |
导入模块中的特定函数/变量 |
as |
给模块或函数起别名 |
__name__ |
判断程序运行方式 |
__main__ |
程序入口标识 |
1. 模块概述
模块是一个包含 Python 代码的文件(.py 文件),可以将相关的函数、变量、类组织在一起,方便重复使用。
2. 导入模块的方式
2.1 import 导入整个模块
import 模块名
导入整个模块后,使用时需要加模块名前缀。
import random
computer = random.randint(1, 3) # 使用 random 模块的 randint 函数
2.2 from ... import 导入特定内容
从模块中导入指定的部分(函数、变量、类),使用时无需加模块名前缀。
from random import randint
computer = randint(1, 3) # 直接使用 randint,不需要 random.
2.3 as 给模块或函数起别名
如果模块名或函数名较长,可以起一个简短的别名。
import random as rd # 给模块起别名
from random import randint as ri # 给函数起别名
computer = rd.randint(1, 3)
computer = ri(1, 3)
3. 常用标准模块
3.1 random 模块
random 模块用于生成随机数。
import random
random.randint(1, 10) # 生成 1-10 之间的随机整数
random.random() # 生成 0-1 之间的随机浮点数
random.choice([1, 2, 3]) # 从列表中随机选择一个元素
random.shuffle([1, 2, 3]) # 随机打乱列表顺序
3.2 time 模块
time 模块用于时间相关的操作。
import time
time.time() # 返回当前时间戳(秒数)
time.sleep(1) # 暂停执行 1 秒
time.strftime("%Y-%m-%d %H:%M:%S") # 格式化时间
3.3 math 模块
math 模块提供数学运算函数。
import math
math.pi # 圆周率 π
math.e # 自然常数 e
math.sqrt(16) # 平方根,返回 4.0
math.floor(3.7) # 向下取整,返回 3
math.ceil(3.2) # 向上取整,返回 4
4. 自定义模块
除了使用 Python 内置的模块,我们也可以创建自己的模块。
4.1 创建模块
创建一个 my_module.py 文件:
# my_module.py
def aaa():
print("aaa")
def bbb():
print("bbb")
4.2 导入自定义模块
import my_module
my_module.aaa() # 调用 my_module 中的 aaa 函数
my_module.bbb() # 调用 my_module 中的 bbb 函数
或者:
from my_module import aaa, bbb
aaa() # 直接使用
bbb()
5. if name == "main"
__name__ 是 Python 的内置变量,用于判断模块是被导入还是直接运行。
- 当直接运行某个
.py文件时,__name__的值是"__main__" - 当该文件被导入到其他文件时,
__name__的值是模块名
# my_module.py
def aaa():
print("aaa")
def bbb():
print("bbb")
# 只有直接运行此文件时才会执行
if __name__ == "__main__":
print("直接运行模块")
aaa()
bbb()
运行效果:
- 直接运行 python my_module.py → 输出 "直接运行模块" 和 "aaa"、"bbb"
- 从其他文件 import my_module → 不会输出任何内容
作用:通常用于测试代码,区分"直接运行"和"被导入"两种情况。
6. 实战案例:剪刀石头布(使用模块)
from random import randint
while True:
computer = randint(1, 3)
people = int(input("请输入剪刀1,石头2,布3:"))
if people not in (1, 2, 3):
continue # 输入无效,重新开始
if (computer == 1 and people == 3) or \
(computer == 2 and people == 1) or \
(computer == 3 and people == 2):
print("电脑胜利!")
elif computer == people:
print("平局")
else:
print("玩家胜利!")
print("电脑出的是:", computer)
导入方式对比
| 导入方式 | 优点 | 缺点 |
|---|---|---|
import 模块 |
避免命名冲突 | 使用时需加前缀 |
from 模块 import 函数 |
使用方便 | 可能与本地命名冲突 |
import 模块 as 别名 |
简化长名称 | 需要记住别名 |
🎉 Python 基础课程完结! 恭喜你已掌握 Python 基础知识,继续加油!
评论区
1 条怎么使用