美文网首页
python-类的概念

python-类的概念

作者: 弦好想断 | 来源:发表于2020-05-15 10:25 被阅读0次

创建 Dog 类

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

class Dog(): 
 """一次模拟小狗的简单尝试""" 
 
    def __init__(self, name, age): 
     """初始化属性name和age""" 
         self.name = name 
         self.age = age 
 
    def sit(self): 
     """模拟小狗被命令时蹲下""" 
        print(self.name.title() + " is now sitting.") 
    def roll_over(self): 
     """模拟小狗被命令时打滚""" 
        print(self.name.title() + " rolled over!") 

这里需要注意的地方很多,但你也不用担心,本章充斥着这样的结构,你有大把的机会熟悉
它。在处,我们定义了一个名为Dog的类。根据约定,在Python中,首字母大写的名称指的是类。
这个类定义中的括号是空的,因为我们要从空白创建这个类。在处,我们编写了一个文档字符串,对这个类的功能作了描述。

方法__init __()

init()是一个特殊的方法,每当你根据Dog类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。
我们将方法init()定义成了包含三个形参:self、name和age。在这个方法的定义中,形参self必不可少,还必须位于其他形参的前面。

为何必须在方法定义中包含形参self呢?因为Python调用这个init()方法来创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

我们创建Dog实例时,Python将调用Dog类的方法init()。我们将通过实参向Dog()传递名字和年龄;self会自动传递,因此我们不需要传递它。每当我们根据Dog类创建实例时,都只需给最后两个形参(name和age)提供值。
处定义的两个变量都有前缀self。以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name = name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。self.age = age的作用与此类似。像这样可通过实例访问的变量称为属性。

Dog类还定义了另外两个方法:sit()和roll_over()(见)。由于这些方法不需要额外的信息,如名字或年龄,因此它们只有一个形参self。我们后面将创建的实例能够访问这些方法,换句话说,它们都会蹲下和打滚。当前,sit()和roll_over()所做的有限,它们只是打印一条消息,指出小狗正蹲下或打滚。但可以扩展这些方法以模拟实际情况:如果这个类包含在一个计算机游戏中,这些方法将包含创建小狗蹲下和打滚动画效果的代码。如果这个类是用于控制机器狗的,这些方法将引导机器狗做出蹲下和打滚的动作。

相关文章

  • python-类的概念

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

  • python-(类)

    创建一个类 创建一个类用class关键字 类的名称首字母大写 默认继承object类 类里面的方法用def关键字 ...

  • python 收藏链接

    python主题 深刻理解Python中的元类 使用pipenv管理你的项目 Python-基础-数据结构小结 P...

  • python-类简介

    一.类的定义 定义方式:class关键字例如,下面创建了一个Person的类,并且实现了这个类的初始化函数"ini...

  • python itertools

    PYTHON-进阶-ITERTOOLS模块小结

  • Python-类与实例

    先通过两张图来了解下类 类的概念 1、面向对象最重要的概念就是类(class)和实例(instance)2、类是抽...

  • Python-类和对象

    关键词:类、实例、继承、重载创建类: 创建类实例对象: 属性操作: 类的继承: 继承类定义时,括号内填写父类名称继...

  • python-复盘-yield & return区别

    python-复盘-yield & return区别

  • Python-迭代器相关概念

    一些基本概念 1 容器 可以询问某个元素是否包含其中,如list,set,tuples,dict等都是容器 2 迭...

  • Python-类的创建和使用

    创建和使用类 创建一个宠物 Pet 类,根据该类创建的每个实例都将存储名字和物种,赋予每个宠物吃饭(eat())和...

网友评论

      本文标题:python-类的概念

      本文链接:https://www.haomeiwen.com/subject/plbqohtx.html