关于__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中if __name__ == '__main__',__init__和self 的解析
如何修复 TypeError:main.__init__() 缺少 3 个必需的位置参数:'num1'、'num2' 和 'operator' [关闭]