python 从入门到实践_Python编程从入门到实践日记Day34

Python编程从入门到实践日记Day34

第8章 类

1.创建和使用类

使用类几乎可以模拟任何东西。下面来编写一个表示小狗的简单类Dog—它表示的不是特定的小狗,而是任何小狗。对于大多数宠物狗,我们都知道些什么呢?它们都有名字和年龄;我们还知道,大多数小狗还会蹲下和打滚。由于大多数小狗都具备上述两项信息(名字和年龄)和两种行为(蹲下和打滚),我们的Dog类将包含它们。这个类让Python知道如何创建表示小狗的对象。编写这个类后,我们将使用它来创建表示特定小狗的实例。

—  创建Dog类

根据Dog类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下(sit())和打滚(roll_over())的能力:

8e78ae08608d9bd41f6835779bc45eff.png

在第一行代码处,我们定义了一个名为Dog的类。在Python中,首字母大写的名称指的就是类。这个类定义中的括号是空的,因为我们要从空白创建这个类。在第二行代码处,我们编写了一个文档字符串,对这个类的功能作了描述。

--方法__init__()

类中的函数我们称为方法;前面学到的有关函数的一切都适用于方法,但是重要的差别是调用方法的方式。第三行代码处的方法是__init__()是一个特殊的方法,每当根据Dog类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,为了避免Python默认方法与普通方法发生名称冲突。

在第三行代码,方法__init__()定义包含三个形参:self、name、和age。这个定义形参self必不可少,必须在其他形参的前面。Python调用__init__()方法创建Dog实例时,会自动传入实参self。每个与类相关联的方法调用都会自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

创建Dog实例时,Python将调用Dog类的方法__init__(),我们将通过实参向Dog()传递名字和年龄;self会自动传递,因此我们不需要传递它。每当我们根据Dog类创建实例时,都只需给最后两个形参name和age提供值。

第五行代码处定义的两个变量都有前缀self,以self为前缀的变量都可供类中的所有方法使用,可以通过类的任何实例来访问这些变量,这种通过实例访问的变量称为属性。Dog类还定义了另外两个方法:sit()和roll_over(),它们没有别的信息,所以只有一个形参self。当前,sit()和roll_over()所做的有限,只是打印一条消息,指出小狗正蹲下和打滚。但我们可以扩展这些方法来模拟实际情况:若这个类包含在一个计算机游戏中,这些方法将包含创建小狗蹲下和打滚动画效果的代码。若这个类是用于控制机器狗的,那么这些方法将引导机器狗做出蹲下和打滚的动作。

_

如果大家有什么好的意见或建议,记得留言哦!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值