python零基础16:模块

2020-03-30  本文已影响0人  Iphone60Plus

什么是模块

模块是最高级别程序组成单元
每一个.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'

image.png

使用他人的模块

初探借用模块
如何自学模块
以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
上一篇 下一篇

猜你喜欢

热点阅读