关于__init__ __main__ __name__等的使用

Posted mo-zixuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于__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()函数

以上是关于关于__init__ __main__ __name__等的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何为基本包设置配置 __main__.py、__init__.py 和 __setup__.py?

python之__init__

关于__dict__

Python中if __name__ == '__main__',__init__和self 的解析

python中的__init__和__new__的区别

如何修复 TypeError:main.__init__() 缺少 3 个必需的位置参数:'num1'、'num2' 和 'operator' [关闭]