2025-05-27 学习记录--Python-模块
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、模块 ⭐️
(一)模块的导入与使用 🍭
模块的导入:🐝
- 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入
import
这个模块;- 每一个以扩展名
py
结尾的python
源代码文件都是一个 模块;- 在模块中定义的 全局变量、函数 都是模块能够提供给外界直接使用的工具。
import my_first_module
result = my_first_module.sum_2_num(10, 20)
print("计算结果是 %d" % result)
print(my_first_module.name)
举例: 🌰
my_module.py
author = 'mia'def add(a,b):return a+b'''
参数args:接收一个列表
return:args列表中每个元素的平方和
'''
def total(*args):result = 0for i in args:result = result + i**2return result# print(add(3,4))
# print(total(1,2,3,4))
demo1.py
# 全部导入
import my_moduleres1 = my_module.add(100,200)
print(res1)
res2 = my_module.total(1,2,3,4,5)
print(res2)
res3 = my_module.author
print(res3)
输出结果: 👇🏻
300
55
mia
demo2.py
# 部分导入
from my_module import add, total, author
# from my_module import * # 全部导入res1 = add(100,200)
print(res1)
res2 = total(1,2,3,4,5)
print(res2)
res3 = author
print(res3)
输出结果: 👇🏻
300
55
mia
(二)包的使用 🍭
包:🌲
- 包是
Python
模块的一种组织形式,将多个模块组合在一起,形成一个大的Python
工具库。包通常是一个拥有__init__.py
文件的目录,它定义了包的属性和方法。
import pack1.module1
from pack1 import module1
(三)常见的标准库 🍭
举例 —— random
例子1
: 🌰
import random
# 生成随机小数
a = random.random()
print(a)
# 生成随机整数
b = random.randint(1,100) # 随机生成范围1~100的整数
print(b)# 获取列表中的随机元素
list1 = ['mia','jack','angel','candy','frank']
# 方法1
print(list1[random.randint(0,len(list1)-1)])
# 方法2
print(random.choice(list1))
# print(random.choice('hello')) # 随机生成:'h'/'e'/'l'/'l'/'o'# 生成一个随机大写字母组成的列表
a = []
n = 5
for i in range(20):s = ''for j in range(n):t = random.randint(65, 90) # 随机生成范围65~90的整数 (65,90)可换成(ord('A'),ord('Z'))s += chr(t) # chr(t):将t转换成对应ASCII值的字母a.append(s)
print(a)
例子2
: 🌰
import random# 随机生成20位 长度为5的大写字母组成的字符串
a = []
n = 5
for i in range(20):s = ''for j in range(n):t = random.randint(65, 90) # 随机生成范围65~90的整数 (65,90)可换成(ord('A'),ord('Z'))s += chr(t) # chr(t):将t转换成对应ASCII值的字母a.append(s)
print(a)# 随机大小写字母
def random_char(upper=True):if upper:t = random.randint(ord('A'),ord('Z'))return chr(t)else:t = random.randint(ord('a'),ord('z'))return chr(t)# 随机字符串
def random_string(length):s = ''for i in range(length):s += random_char(random.choice([True,False]))return s# 验证码
def yan_zheng_ma(length):return random_string(length)def main():# 随机生成20位 长度在3到6之间的大小写字母组成的字符串a = []for i in range(20):a.append(random_string(random.randint(3,6)))print(a)# 生成8位验证码print(yan_zheng_ma(8))main()
例子3
: 🌰
import random# 石头剪刀布游戏
def game1():player_score,computer_score = 0,0for i in range(3):player = input('请输入石头剪刀布:')computer = random.choice(['石头','剪刀','布'])print('电脑出的是:',computer)if player == computer:player_score += 1computer_score += 1elif (player == '石头' and computer == '剪刀') or (player == '剪刀' and computer == '布') or (player == '布' and computer == '石头'):player_score += 1else:computer_score += 1print('玩家得分%d 电脑得分%d' % (player_score,computer_score))if player_score == computer_score:print('平局')elif player_score > computer_score:print('玩家胜利')else:print('电脑胜利')
game1()
import random# 猜数字游戏
def guess_number():number = random.randint(1, 100)while True:player = int(input('请输入你猜的数字:'))if player == number:print('猜中了')breakelif player > number:print('猜大了')else:print('猜小了')guess_number()
举例 —— re
re
:🦋
- 正则表达式处理
- 可以用于文本搜索、替换、分割等