Python中类的初始化形式def __init__(self)和def __init__(self,args)

文章目录
一、形式一:def __init__(self)
二、形式二:def __init__(self,args)
一、形式一:def init(self)
这种形式在__init__方法中,只有一个self,指的是实例的本身。它允许定义一个空的类对象,当新数据来时,可以直接添加。实例化时,需要实例化之后,再进行赋值。

# -*- coding:utf-8 -*-
class Student(object):
    def __init__(self):
        self.name = None
        self.grade = None

    def print_grade(self):
        print(f"{self.name}'s grade is {self.grade}")

s1 = Student()  # 创建对象s1
s1.name = "Tom"
s1.grade = 8

s2 = Student()  # 创建对象s2
s2.name = "Jerry"
s2.grade = 7

s1.print_grade()
s2.print_grade()
在对类Student进行实例化时,因为__init__方法只有一个参数self,因此不需要传入其他参数。当需要打印print_grade方法的结果时,只需要对name和grade进行赋值即可。

二、形式二:def init(self,args)
这种形式在__init__方法中,除了有参数self,还有其他的参数args。
这种形式在定义方法时,属性值不允许为空。实例化时,直接传入参数。

# -*- coding:utf-8 -*-
class Student(object):
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade

    def print_grade(self):
        print(f"{self.name}'s grade is {self.grade}")


s1 = Student("Tom", 8)   # 创建对象s1
s2 = Student("Jerry", 7)  # 创建对象s2

s1.print_grade()
s2.print_grade()
在对类Student进行实例化时,因为__init__方法有参数self,name和grade,因此在实例化对象时一定要传入name和grade参数。当需要打印print_grade方法的结果时,直接调用即可。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值