zoukankan      html  css  js  c++  java
  • Python 模块化 自定义模块 (四)

    自定义模块

    一个.py文件就是一个模块

    创建以下三个文件:

    运行test.py ,查看运行结果。

    #test.py
    print("this is test module")
    import test1
    print(dir())
    print('__name__:',__name__)
    #test1.py
    print("this is test1 module")
    import test2
    print(dir())
    class MyAdd:
    def __init__(self,x):
    self.x = x
    
    def __add__(self, other):
    return self.x + other
    a = MyAdd(4)
    print(a+5)
    print('__name__:',__name__)
    #test2.py
    print("this is test2 module")
    x = 678
    print(dir())
    print('__name__:',__name__)
    

      

    运行结果:

    this is test module
    this is test1 module
    this is test2 module
    ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'x']
    __name__: test2
    ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'test2']
    9
    __name__: test1
    ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'test1']
    __name__: __main__
    

      

    从结果中可以看到,import 语句后的子模块会独立的加载、初始化模块,dir() 收集的也是当前模块的方法属性。
    __name__方法输出的是程序的入口模块名,当自己被别的模块调用时输出的是自身的模块名称,否则就是__main__,表示当前模块没有被调用,而是单独运行。

    自定义模块命名规范:

    1.模块名就是文件名
    2.模块名必须符合标识符的要求,非数字开头的字母数字和下划线的组合。
    3.避免使用系统模块名和关键字模块名
    4.模块名通常为全小写
    5.模块名尽量见名知意

  • 相关阅读:
    读书笔记4瞬时相应网站的高性能架构
    读书笔记3大型网站的架构要素
    读书笔记2大型网站的架构模式
    可用的rtmp卫视直播地址
    html中的特殊符号表示法
    深入理解JS原型链与继承
    css3 media媒体查询器用法总结
    HTML条件注释用法诠释
    jQuery中$符号冲突问题 (转载)
    JS 输出对象的属性以及方法[转载]
  • 原文地址:https://www.cnblogs.com/i-honey/p/8033165.html
Copyright © 2011-2022 走看看