python定义一个dog类 类属性有名字_66-分析一下Dog类这个例子-构造函数和属性

Dog类

它表示的不是特定的小狗,而是所有的狗的一个抽象分类。

我们可以抽象Dog狗的很多东西。当然我们这里挑几个常用的

比如属性上 狗有名有年龄。行为上会打滚会坐下。

类是无法具体说那个的。就好比人类

我们无法指出一个具体 人类。但是我们可以通过人类创建一个具体的人。比如小明 小强。所以类是一种抽象。一种分类。

根据约定Python中。首字母大写的名称用来表示类。

同样类也有文档字符串

"""一次模拟小狗的简单尝试"""

方法__init__()

类中的函数称为方法

方法__init__()是一个特殊的方法,

每当你根据Dog 类创建新实例时,Python都会自动运行它。

在这个方法的名称中,

开头和末尾各有两个下划线, 这是一种约定, 旨在避免Python默认方法与普通方法发生名称冲突。

658d1f6e8a4109001e5c1d375d2f07a7.png

我们这里的构造方法__init__()定义成了包含三个形参:self 、 name 和age

形参self 必不可少,

还必须位于其他形参的前面

Python调用这个__init__()方法来创建Dog 实例时,

将自动传入实参self

类本身的方法或者属性可以通过这个self调用。

它是一个指向实例本身

的引用, 让实例能够访问类中的属性和方法。

创建Dog 实例时, Python将调用Dog 类的方法__init__()。

我们将通过实参向Dog()传递名字和年龄;self 会自动传递 ,我们不需要传递它

每当我们根据Dog 类创建实例时,

都只需给最后两个形参( name和age ) 提供值

wangCai

= Dog("旺财",2)

Python中定义属性比较特别

__init__()定义的两个变量都有前缀self 。 以self 为前缀的变量都可供类中的所有方法使用, 我们还可以通过类的任何实例来访问这些变量。

def __init__(self, name, age):

"""初始化属性name和age"""

self.name = name

self.age = age

print(name + "正在生产中..")

像这样可通过实例访问的变量称为属性

self相当于一个类内部的互相传递数据的一个东西。表示它自己。在所有的方法中self都是一个东西。

可以在构造函数里面调用sit方法

也可以在方法里面调用nameclassDog():

"""一次模拟小狗的简单尝试"""

def __init__(self,name, age):

"""初始化属性name和age"""

self.name = name

self.age = age

self.height = 12

self.sit()

print(name + "正在生产中..")

# 类中的函数称为方法

def sit(self):

"""模拟小狗被命令时蹲下"""

print(self.name.title() + "正在坐下."+str(self.height))

def roll_over(self):

"""模拟小狗被命令时打滚"""

print(self.name.title() + "

rolled over!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值