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.模块名尽量见名知意

  • 相关阅读:
    MySQL严格模式总结
    python筛选关键字---error
    将pem证书转换成p12格式证书
    ## 游戏网关源码赏析
    pid获取
    顺序io_磁盘队列
    nsq源码阅读3_编译nsqd
    nsq源码阅读2_核心数据结构
    nsq源码阅读1_目录结构
    如何设计Mqtt的Retain?
  • 原文地址:https://www.cnblogs.com/i-honey/p/8033165.html
Copyright © 2011-2022 走看看