zoukankan      html  css  js  c++  java
  • Python正课49 —— 模块

    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12574782.html

    一:什么是模块

    模块就是一系列功能的几何体,分为三大类:

    Ⅰ:内置的模块

    print(type(print))
    

    Ⅱ:第三方的模块

    import time
    print(type(time))
    

    Ⅲ:自定义的模块

    一个Python文件 本身就是一个模块,文件名:m.py,模块名:m
    

    PS:模块分为4种形式

    1.使用Python编写的.py文件

    2.已被编译为共享库 或 DLL的 C 或者 C++扩展

    3.把一系列模块组织到一起的文件夹(注:文件夹下面有一个__init__.py文件,该文件夹称之为“包”)

    4.使用C编写 并链接到Python解释器的内置模块

    二:为何要用模块

    1.内置与第三方库模块 拿来就用,无序定义,这种拿来主义,可以极大地提升自己的开发效率

    2.自定义模块

    可以将程序的各个部分功能提取出来 放到一个模块中 供大家使用

    好处是 减少了代码冗余,程序组织结构更加清晰

    三:如何用模块

    1.首次导入模块会发生3件事

    ① 执行foo.py

    ② 产生foo.py的名称空间,将foo.py运行过程中产生的名字都丢到foo的名称空间中

    ③ 在当前文件中 产生一个名字foo,该名字 指向2中产生的名称空间

    y = 333
    x = 444
    import foo
    

    2.引用

    强调1:模块名.名字 是指名道姓地 问某一个模块 要对应的值,不会与当前名称空间中的名字发生冲突

    import foo
    
    print(foo.x)
    print(foo.get)
    print(foo.change)
    x = 11111
    print(x)
    print(foo.x)
    

    强调2:无论是查看 还是 修改,操作的都是模块本身,与调用位置无关

    import foo
    x = 33333
    # foo.get()
    
    foo.change()
    print(x)
    print(foo.x)
    

    3.可以以 , 为分隔符,在一行导入多个模块,但是不建议写在一行

    建议方式:

    import time
    import foo
    import fun1
    

    不建议方式:

    import time,foo,fun1
    

    4.导入模块的规范

    Ⅰ Python内置模块

    import time
    import sys
    

    Ⅱ 第三方模块

    import 第三方1
    import 第三方2
    

    Ⅲ 程序员自定义模块

    import 自定义模块1
    import 自定义模块2
    import 自定义模块3
    

    5.import ... as ...

    # import foo as f # f=foo 起别名
    # f.get()
    
    # import abcdefgadfadfas as mmm
    #
    # mmm.f1
    # mmm.f2
    # mmm.f3
    

    6.模块是第一类对象

    import foo
    

    7.自定义模块的命名应该采用纯小写+下划线的风格

    8.可以在函数内导入模块

    def func():
        import foo
    
  • 相关阅读:
    多线程面试题
    Tcpdump MySQL Query
    Gossip和Redis集群原理
    mysql-table_open_cache_file_limits/
    introducing-backup-locks-percona-server-2/
    MySQL 一致性读 深入研究
    how-to-configure-mysql-masterslave-replication-with-mha-automatic-failover/
    mysqlOOM
    mysql 线程池
    Linux performance monitor tool
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/12574782.html
Copyright © 2011-2022 走看看