关于__init__ __main__ __name__等的使用

__init__

class Student:
    def __init__(self):#两者之间的区别
        self.name = None
        self.score = None
    def __init__(self, name, score):
        self.name = name
        self.score = score

区别很明显,前者在__init__方法中,只有一个self,指的是实例的本身,但是在方法的类部,包含两个属性,name, score

下面的这个即是在定义方法时,就直接给定了两个参数,

第一种实例化后只能进行对内部变量的赋值工作,第二种则可直接传入变量值.

student = Student()
student.name= "sansan"
student.score = 90
susan = Student()
susan.name = "susan"
susan.score = 8

# student = Student("sansan", 90)
# susan = Student("sunny", 78)

在cmd 中直接运行.py文件,则__name__的值是'__main__';

而在import 一个.py文件后,__name__的值就不是'__main__'了;

从而用if __name__ == '__main__'来判断是否是在直接运行该.py文件

__main__作为文件运行时的缺省烋__name__是文件运行获取文件的名称.如果是import的话传入值为文件的名称.如果为调用,值为__main__

一般调用

if __name__ == __main__:
  

放到文件的最后作为main()函数

posted @ 2019-03-04 20:14  子萱  阅读(183)  评论(0编辑  收藏  举报