python __name__

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

原文地址:https://www.cnblogs.com/hzcya1995/p/13349592.html