py 文件直接当脚本运行时:
class Student(object):
def __init__(self, name,score):
self.name = name
self.score = score
def print_score(self):
print '%s: %s' % (self.name, self.score -2)
print __name__
if __name__ == "__main__":
Student('aaa',88).print_score()
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/web/Student.py
__main__
aaa: 86
if 里面的语句才会被执行。 这个功能经常可以用于进行测试。
此时__name__就是__main__
果这个文件是作为模块被其他文件调用,不会执行这里面的代码。
from mycompany.web.Student import *
c=Student('a',98)
c.print_score()
当作模块使用后:
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/a2.py
mycompany.web.Student
a: 96
此时__name__就是mycompany.web.Student