Python面向对象(二)(构造方法、其它内置方法)

构造方法

属性(成员变量)的赋值

class Student:
    name = None     # 姓名
    age = None      # 年龄
    tel = None      # 手机号
    
    
stu1 = Student()
stu1.name = "张三"
stu1.age = 20
stu1.tel = "1212121211"

stu2 = Student()
stu2.name = "张四"
stu2.age = 20
stu2.tel = "1212121211"

 上面代码中,为对象的属性赋值需要依次进行,略显繁琐。

有没有更加高效的方式,能够一行代码就完成呢?

思考:Student()

这个括号,能否像函数(方法)那样,通过传参的形式对属性赋值呢?

可以,需要使用构造方法:__init__()

构造方法

Python类可以使用:__init__()方法,称之为构造方法。

  • 可以实现: 在创建类对象(构造类)的时候,会自动执行。
  • 在创建类对象(构造类)的时候,将传入参数自动传递给__init__方法使用
class Student:
    # 可以省略
    name = None  # 姓名
    age = None  # 年龄
    tel = None  # 手机号

    def __init__(self, name, age, tel): # 构建类时传入的参数会自动提供给__init__方法
        self.name = name                # 构建类的时侯__init__方法会自动执行
        self.age = age
        self.tel = tel
        print("Student类创建了一个对象")


stu3 = Student("李四", 30, "1212563")
print(stu3.name, stu3.age, stu3.tel)


结果:
Student类创建了一个对象
李四 30 1212563

 构造方法注意事项

  • 重要的事情说三遍,构造方法名称:__init__   __init__   __init__ , 千万不要忘记init前后都有2个下划线
  • 构造方法也是成员方法,不要忘记在参数列表中提供:self
  • 在构造方法内定义成员变量,需要使用self关键字
 def __init__(self, name, age, tel): # 构建类时传入的参数会自动提供给__init__方法
        self.name = name                # 构建类的时侯__init__方法会自动执行
        self.age = age
        self.tel = tel
        print("Student类创建了一个对象")

          这是因为:变量是定义在构造方法内部,如果要成为成员变量,需要用self来表示

总结:

1. 构造方法的名称是:

__init__,注意init前后的2个下划线符号

2. 构造方法的作用:

构建类对象的时候会自动运行

构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋值

3. 注意事项:

构造方法不要忘记s

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@明天更美好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值