美文网首页
python零基础16:模块

python零基础16:模块

作者: Iphone60Plus | 来源:发表于2020-03-30 20:44 被阅读0次

    什么是模块

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

    相关文章

      网友评论

          本文标题:python零基础16:模块

          本文链接:https://www.haomeiwen.com/subject/eigvuhtx.html