python是边编译边执行,因此当代码中有执行语句的时候会被打印出来。
范例test4.py调用的时候会先打印-----test4---再打印函数体中的语句
#coding:utf-8
def bar1(a, b):
print "test4's bar1 is called"
print "-=------ test4 ---------"
这个时候需要再test4.py中添加限制,判断当前模块是主模块的时候才去调用
#coding:utf-8
def bar1(a, b):
print "test4's bar1 is called"
if __name__ == "__main__":
#用来表示当前模块的单元测试
print "-=------ test4 ---------"
print "__test4's __name__ " + __name__
test3.py如果import test4了,但是不想打印函数的执行语句,需要再test4.py中添加校验,因为此时的主模块是test3,调用test4中的方法的时候需要test4.bar(100,200)的形式来调用。
#coding:utf-8
import test4
#from test4 import bar
#from test4 import bar1
#from test4 import *
def foo(a, b):
print "test3's foo is called"
#表示当前模块的名称- __main__
#在python中 多文件编程 会有主模块和次模块
#python 指令后面直接跟的文件 就是主模块文件
#如果一个py文件是主模块 ,那么这个模块里面__name__就是__main__
#如果一个py文件是主模块import进来的 次模块中的__name__就是文件名本身
if __name__ == "__main__":
test4.bar(100,200)
test4.bar1(1122,11)
调用其他python方法的第二种形式,如果限制了test4的某一个方法from test4 import bar时候可以直接调用方法:
#coding:utf-8
#import test4
from test4 import bar
def foo(a, b):
print "test3's foo is called"
#表示当前模块的名称- __main__
#在python中 多文件编程 会有主模块和次模块
#python 指令后面直接跟的文件 就是主模块文件
#如果一个py文件是主模块 ,那么这个模块里面__name__就是__main__
#如果一个py文件是主模块import进来的 次模块中的__name__就是文件名本身
if __name__ == "__main__":
bar(100,200)
如果结构体和函数体内容是空的,就应该用pass来填充不然会报错。
#coding:utf-8
def bar1(a, b):
print "test4's bar1 is called"
def bar(a, b):
print "test4's bar is called"
def func1():
pass
#默认直接返回是空值"None"
def func2():
return
a = 10
if a == 10:
pass
if a == 10:
print a
if __name__ == "__main__":
#用来表示当前模块的单元测试
bar(111,333)
print "-=------ test4 ---------"
print "__test4's __name__ " + __name__
func1()
ret = func2()
if ret == None:
print "error"
执行python test4.py输出如下:
test4's bar is called
-=------ test4 ---------
__test4's __name__ __main__
error