类的初始化__init__使用

Posted zengsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的初始化__init__使用相关的知识,希望对你有一定的参考价值。

初始化方法:
作用:
对新创建的对象添加属性
语法:
class 类名(继承列表):
def __init__(self [, 形参列表]):
语句块

[] 代表中的内容可省略
说明:
1. 实始化方法名必须为 ‘__init__‘ 不可改变
2. 初始化方法会在构造函数创建实例后自动调用.且将实例自身通过第一个参数self 传入 __init__ 方法
3. 构造函数的实参将通过__init__方法的参数列表传入到 ‘__init__‘ 方法中
4. 初始化方法内如果需要return 语句返回,则只能返回None

class Student:
    def __init__(self, name, age, score = 0):
        self.name, self.age, self.score = name, age, score

    def set_score(self, score):
        if 0 <= score <= 100:
            self.score = score

    def show_info(self):
        print(self.name, self.age, "岁,成绩:", self.score)

L = []
while True:
    name = input("姓名:")
    if name == "":
        break
    age = input("年龄")
    score = input("分数")
    L.append(Student(name, age, score))
L[1].set_score(70)
for obj in L:
    obj.show_info()

输出结果:
[email protected]:~/zengsf$ python3 exercise823.py
姓名:zengsf
年龄22
分数90
姓名:fengshao
年龄20
分数80
姓名:
zengsf 22 岁,成绩: 90
fengshao 20 岁,成绩: 70

 












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

魔方方法之--类的构造(__init__,__new__)和析构(__del__)方法

经典类与新式类的继承顺序

python__基础 : 类的__init__,__str__,__del__方法

Python使用super初始化超类

__init__()

super的使用