- 在当前执行的程序下(例如当前程序为father.py),如果导入其他模块(son.py),则运行程序时son.py的if name
== ‘main’ 语句判断失败,将不会运行下面的方法。 - 也就是说导入的模块的if name == ‘main’ 语句下的方法是不会执行的。只会执行当前的if name== ‘main’ 下的方法。
例子:
class father():
def __init__(self,name,age):
self.name=name
self.age=age
print(self.name + '今年' + str(self.age) + '岁')
def skill(self):
#print(self.name+'今年'+str(self.age)+'岁')
print('会赚钱')
def salary(self, salary):
print(self.name+'工资是{}元'.format(salary))
dad=father('god',30).salary(10000)
# if __name__ == '__main__':
# dad=father('god',30).salary(10000)
from overwrite.father import father
class son1(father):
pass
class son2(father):
def skill(self):
print('会玩')
def skill_new(self):
print('会谈恋爱')
boy = son2('joe',10).skill_new()
god今年30岁
god工资是10000元
joe今年10岁
会谈恋爱
class father():
def __init__(self,name,age):
self.name=name
self.age=age
print(self.name + '今年' + str(self.age) + '岁')
def skill(self):
#print(self.name+'今年'+str(self.age)+'岁')
print('会赚钱')
def salary(self, salary):
print(self.name+'工资是{}元'.format(salary))
# dad=father('god',30).salary(10000)
if __name__ == '__main__':
dad=father('god',30).salary(10000)
from overwrite.father import father
class son1(father):
pass
class son2(father):
def skill(self):
print('会玩')
def skill_new(self):
print('会谈恋爱')
boy = son2('joe',10).skill_new()
joe今年10岁
会谈恋爱