模块, __name__变量

模块会先搜索当前路径,然后才会到系统路径下搜索

sendmsg.py

def test():
    print("----test--------")

def test1():
    print("----test1-------")

 

第一种导入方式,

import sendmsg
sendmsg.test()

第二种导入方式

from sendmsg import test,test1
test()
test1()

第三种导入方式,建议少使用

from sendmsg import *
test()
test1()

 

import time as tt #起别名
tt.sleep(3)

 

__name__ 变量

sendmsg.py

def test():
    print("----test--------")

def test1():
    print("----test1-------")

# print(__name__) #自己调用打印__main__,别的模块调用打印模块名
if __name__ == "__main__": #只有在自己调用时才运行,别的模块调用不执行
    test()
    test1()

main.py

import sendmsg #打印的结果为sendmsg模块名

 

正常的代码样式

import xxx
class xxx(object):
    def __init__(self):
        pass

def xxx():
    pass

def main(): #一般程序的入口为main,习惯用法
    pass

if __name__=="__main__":
    main()

 

模块查找顺序 

import sys
print(sys.path) #sys.path显示环境变量,导入一个模块时先会在当当路径下查找,如果没有,在path中查询,查询到后返回,查不到报错
sys.path.append("/home") #sys.path.append,sys.path返回一个list,使用append方法添加变量
print(sys.path)

 

重新导入模块

模块在导入后,如果同时源模块被修改,只能重新再导入一次,或者使用reload(模块名)重新加载模块

import hello
from importlib import * #使用importlib中reload方法重新加载模块
hello.print_hello()
reload(hello)

 

posted @ 2020-03-28 22:44  红色天空下  阅读(123)  评论(0)    收藏  举报