不会面向对象,肯定学不好!简易的Python面向对象攻略来啦1. 第一个类面向对象的概念面向过程的代码可能是这样的面向对象的代码2.构造方法和属性最简单的类创建实例构造方法 initself和属性默认( 二 )
这时候如果再去创建Dog的实例 , 而不传入参数就会报错了:
d1=Dog()#报错 , 必须要传入指定的参数
init函数的第一个参数永远是self , 表示当前对象 , 表示自己 。 后面的参数看我们自己的需要 , 我们希望Dog类有name,height,blood和power等几个属性 , 所以我们就加了这几个参数 。
现在来正常的创建两个实例:
d1=Dog('大黄',0.7,10,3)#创建第1个实例
d2=Dog('二黑',0.5,10,4)#创建第2个实例
创建实例的时候 , 不需要传入第一个self参数 , Python会自动传入 。 我们只要传入self后面的几个参数就行 。 注意参数的顺序 。
self和属性这里需要认识一下self:
self表示当前的实例 。 self只用在类的内部 , 在外部就直接使用变量名了 , 如d1 , d2通过self.name='XXX'就给当前实例创建了一个名为name的属性 。 不同实例的属性的值是不同的 。 默认属性并不是所有的属性都一定要在构造方法中传入 , 比如我们规定:blood在创建的时候默认都是10 , 也就是满血 。
那么就没必要在init中传入这个参数了 。 我们可以在init函数中设置默认的值为10 。
classDog:
#构造方法
def__init__(self,name,height,power):
self.name=name
self.height=height
self.blood=10
self.power=power
访问和修改属性在类的内部 , 通过self.xxx访问属性在类的外部 , 通过变量名d1.xxx访问属性修改属性 , 用赋值语句赋值即可:外部:d1.name='大黄黄' 。 内部:self.name='大黄黄'
- 以太币会不会像比特币越挖越少 来了解清晰!
- 长江十年禁渔后2030年,千斤大鱼会不会重现?期待白鲟的回归
- 迷你世界五周年庆猜测!会不会是保护麋鹿?还是保护历史文化?
- 吉利|吉利百度联姻诞生的“集度汽车”,从名字看,会不会又被人诟病呢?
- 不会等太久,这几款新车本月就会上市,你要的丰田亚洲狮也来了
- 刘思瑶蹭女闺蜜热度,不料却被“猪蹄膀”抢镜,不会是男扮女装吧
- 孤影或将对抗梦之队?面向全网举办孤影杯,高调组建自家战队!
- 真人斗罗:第二季海神岛是重点,昊天宗不会出现,主演肖战会换人
- 女人过40太保守,张萌海边穿泳装晒照,18岁少女都不会这么穿
- 小金库|不用别人来鞭策我,该上班的时候我不会迟到的
