原标题:Python面向对象编程从零开始(2)与对象相互了解
欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习、问答、求职,一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。 前言
咳咳,接着昨天的故事继续
昨天的传送门:https://ask.hellobi.com/blog/wangdawei/8429
昨天我们说了以下几点:
面向对象和面向过程的区别
对象和类
创建类
定义对象
类的三要素
今天继续来和对象(小姐姐)一起玩耍。 了解对象--小姐姐自我介绍
目前我们只知道小姐姐的姓名,芳龄,除了她喜欢开车,我不了解其他什么了。
所以我想让她做个自我介绍,然后可以深入了解。
让小姐姐(对象)自己介绍一下自己,她比较害羞,不想说一大串,她让我直接问她问题她回答。
所以我先要优化原来定义的类(接着上文结尾代码):
classCar:
defdrive(self): print(
'我正在开车')
defturnover(self): print(
'翻车了')
defintroduce(self): print(
'%s的年龄是:%d'%(xiao_jie_jie.name,xiao_jie_jie.age))
#创建一个对象 xiao_jie_jie=Car() xiao_jie_jie.drive()
#调用xiao_jie_jie指向的对象的方法 xiao_jie_jie.turnover()
#添加属性,属性就是变量 xiao_jie_jie.name =
'王梦瑶' xiao_jie_jie.age =
20 xiao_jie_jie.introduce()
注意:只有最后一句是小姐姐自己的自我介绍(introduce),其他的都是我完成的啦。
是不是感觉,面向对象很有优势。
运行结果如下:
注意:这里把原来在类外写的print写在了类里,写在了introduce()方法里,然后调用introduce()方法实现自我介绍。
既然小姐姐都自我介绍了,为了表示相互尊重,我也要介绍一下自己。 我的自我介绍 myself = Car() myself.name =
'王大伟' myself.age =
18 myself.features =
'玉树临风 英俊潇洒 风流倜傥 貌似潘安 形貌昳丽 器宇轩昂 一表人才 雄姿英发 风度翩翩' myself.introduce()
我把我自己也定义在Car这个类下,myself也是Car这个类下的一个对象。
然后同样介绍了我的姓名和年龄
因为我不像小姐姐一样害羞啊
所以我自我介绍就多说了几句‘大实话’,并擅自帮小姐姐补充了一下自我介绍。
classCar:
defdrive(self): print(
'我正在开车')
defturnover(self): print(
'翻车了')
defintroduce(self): print(
'%s的年龄是:%d,特点是:%s'%(self.name,self.age,self.features))
#创建一个对象 xiao_jie_jie=Car() xiao_jie_jie.drive()
#调用xiao_jie_jie指向的对象的方法 xiao_jie_jie.turnover()
#添加属性,属性就是变量 xiao_jie_jie.name =
'王梦瑶' xiao_jie_jie.age =
20 xiao_jie_jie.features =
'北方有佳人 遗世而独立 一顾倾人城 再顾倾人国' xiao_jie_jie.introduce() myself = Car() myself.name =
'王大伟' myself.age =
18 myself.features =
'玉树临风 英俊潇洒 风流倜傥 貌似潘安 形貌昳丽 器宇轩昂 一表人才 雄姿英发 风度翩翩' myself.introduce()
运行结果如下:
注意:划重点,因为我和小姐姐都要使用类中的方法introduce(),为了我和小姐姐这两个对象都能调用这个类中的方法,需要把introduce()方法传入的参数改成如下:
用self代替原来的xiao_jie_jie,self可以通俗理解为,谁调用了方法传的就是谁的参数进去,这里两次调用(小姐姐和我相互自我介绍,相当于传了xiao_jie_jie和myself进去)
这样,我们的自我介绍就完成了。
转载请保留以下内容:
本文来源自天善社区ID王大伟老师的博客(公众号)。
原文链接: https://ask.hellobi.com/blog/wangdawei/8446返回搜狐,查看更多
责任编辑: