赞
踩
复现论文代码时,最常见的就是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()
以上是常见的第一种__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()
以上是常见的第二种__init__方法,在定义的时候就直接给定了两个参数name和age,且属性值不允许为空。当实例化时,必须传入这两个参数值。
比如:
p1 = Game("xiaoming", 20) # 正常实例化
若还是用第一种方式直接实例化
p1 = Person() # 错误实例化
则会报错:
TypeError missing 2 required positional arguments: 'name' and 'age'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。