当前位置:   article > 正文

def __init__()类方法_def init方法

def init方法

复现论文代码时,最常见的就是class类和def __init__方法,开始学习对这块比较模糊,查阅相关资料学习后,记录下自己的理解.

第一种类方法def __init__(self) :

class Person: # 定义类Person

	# 创建方法,也可叫函数
	# __init__方法对创建对象进行初始化
	def __init__(self): 
		self.name = None
		self.age = None

    def print_age(self):
        print("%s age is %s" % (self.name,self.age))

p1 = Person()  # 实例化对象
p1.name = "xiaoming"
p1.age = 20

p1.print_age()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

以上是常见的第一种__init__方法,只包含一个self,指的是实例的本身,没有其他参数。这种方法的类内部,包含两个属性:name 和 age,当新数据来时,可以直接添加。实例化时,需要先实例化之后,再进行赋值。比如,先实例化对象p1 = Person(),然后再给对象里的属性赋值p1.name = "xiaoming" p1.age = 24

第二种类方法def __init__(self, 参数1, 参数2, ..., 参数n) :

class Person:  # 定义类Person

    def __init__(self, name, age): 
        self.name = name
        self.age = age

    def print_age(self):
        print("%s age is %s" % (self.name,self.age))

p1 = person("xiaoming", 20)  # 实例化对象,这时self = p1

p1.print_age()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

以上是常见的第二种__init__方法,在定义的时候就直接给定了两个参数name和age,且属性值不允许为空。当实例化时,必须传入这两个参数值。
比如:
p1 = Game("xiaoming", 20) # 正常实例化
若还是用第一种方式直接实例化
p1 = Person() # 错误实例化
则会报错:
TypeError missing 2 required positional arguments: 'name' and 'age'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/761956
推荐阅读
相关标签
  

闽ICP备14008679号