什么是模块
模块是最高级别程序组成单元
每一个.py的文件都是一个模块
模块不但可以封装属性和函数,也可以封装类
模块的目的:不但方便自己调用程序和数据,而且方便分享给别人调用
类只是方便自己调用程序和数据
使用自己的模块
import语句
import test1# 导入test1模块
print(test1.a)# 使用“模块.变量”来调用模块中的变量
test1.hi()# 使用“模块.函数()”来调用模块中的函数
A = test1.Go2()# 使用“模块.类()”来实例化模块中的对象
print(A.a)# 实例化后,调用属性不再需要“模块”
A.do2()# 实例化后,调用函数不再需要“模块”
# 如引用多个模块,可用逗号隔开,a.py,b.py,c.py
import test1 as s# 如果觉得import test1太长,可以取名为 s
for i in range(10):
print(s.sentence)
s.mountain()
A = s.Temple()
print(A.sentence)
A.reading()
print()
from……import……
from test import hi # 从模块test中导入函数“hi”
hi() # 使用函数“hi”时无需加上“模块.”前缀
from test import a,hi,Go2
# 从模块test调用多个变量、函数、类,用逗号隔开
# 没有被调用的变量、函数、类,无法被引用
print(a) # 打印变量“a”
hi() # 调用函数“hi”
A = Go2() # 实例化“Go2”类
print(A.a) # 打印实例属性“a”
A.do2() # 调用实例方法“do2”
from test import *
# 此格式为用调用test的所有变量、函数、类时时,一般情况下不建议用
print(a) # 打印变量“a”
hi() # 调用函数“hi”
A = Go2() # 实例化“Go2”类
print(A.a) # 打印实例属性“a”
A.do2() # 调用实例方法“do2”
# 调用类Temple的属性。
from story import Temple
print(Temple.sentence)# 类名.属性名
if__name__=='main'
使用他人的模块
初探借用模块
如何自学模块
以random为例:
1、可以去官网查看详细教程。
2、百度。搜索感兴趣的函数和类方法笔记
import random # 调用random模块
a = random.random() # 随机从0-1之间(包括0不包括1)抽取一个小数
print(a)
a = random.randint(0,100) # 随机从0-100(包括0和100)之间抽取一个数字
print(a)
a = random.choice('abcdefg') # 随机从字符串,列表等对象中抽取一个元素(可能会重复)
print(a)
a = random.sample('abcdefg', 3) # 随机从字符串,列表等对象中抽取多个不重复的元素
print(a)
items = [1, 2, 3, 4, 5, 6] # “随机洗牌”,比如打乱列表
random.shuffle(items)
print(items)
# 对于查到的结果"__xx__"结构的(如__doc__),它们是系统相关的函数,我们不用理会,直接看全英文的函数名即可
import random # 调用random模块
print(dir(random))
>>>['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
# dir(X)可以是模块,也可以是任意对象
a = '' # 设置一个字符串
print('字符串:')
print(dir(a)) # 把字符串相关的函数展示出来
a = [] # 设置一个列表
print('列表:')
print(dir(a)) # 把列表相关的函数展示出来
a = {} # 设置一个字典
print('字典:')
print(dir(a)) # 把字典相关的函数展示出来
image.png
自学CSV模块
新建excel保存为csv
https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv
先看案例,带着疑问去找答案
打开csv文件
import csv
with open("test.csv",newline = '') as f:
reader = csv.reader(f)
#使用csv的reader()方法,创建一个reader对象
for row in reader:
#遍历reader对象的每一行
print(row)
print("读取完毕!")
# 写入csv文件
import csv
with open('test.csv','a', newline='',encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['4', '猫砂', '25', '1022', '886'])
writer.writerow(['5', '猫罐头', '18', '2234', '3121'])
image.png
image.png
网友评论