python3模块初步

模块

  • 实质就是py文件。查看本地系统自带的模块
python3模块初步_第1张图片
Snip20170810_1.png
  • 如果想安装其他模块,可以通过
sudo pip install pygame

如果是python3

sudo pip3 install pygame

如果ubuntu系统提示找不到pip命令可以通过源添加

 sudo apt-get install python3-pip
  • 自己写一个模块,也就是写一个py文件

文件名:sendmsg.py

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

def test2():
    print ("-----test2----")

if __name__ == '__main__':
    test1()
    test2()

文件名:receivemsg.py

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

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

我们正常写代码需要测试的,比如单元测试,在公司提交代码之前也要现自己测试。毕竟不想做no1.
汇总后写一个main.py测试所有不同模块的代码。
文件名:main.py

import sendmsg as s
import revmsg as r
s.test1()
s.test2()
r.test1()

此处就看到了非常常见的import关键字,由此就证明,模块其实就是个py文件。毕竟我只写一个两个py文件,正好就可以导入了。运行main.py会发现如下运行结果


python3模块初步_第2张图片
Snip20170810_2.png

发现main.py中只进行了三次函数调用,结果确显示5个调用。
原来,每个模块被导入的时候,默认情况都会执行一遍所有的函数。注意,这里的sendmsg.py文件末尾有一处不同于receive.py文件。因此结果中只出现reveive打印两次,sendmsg并没有打印。


if __name__ == '__main__':
    test1()
    test2()

到底是什么意思?
如果是本身打印name,结果是main

Snip20170810_3.png

如果通过别人导入后打印, name,结果是它自身的文件名字
Snip20170810_5.png

因此

if __name__ == '__main__':
    test1()
    test2()

上述代码的意思就是,如果本身文件执行的,就允许执行下面的代码,一般是测试。如果是别人调用,就不给予执行

你可能感兴趣的:(python3模块初步)