原标题:Python面向对象编程从零开始,从没对象到有对象
欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习、问答、求职,一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。 前言
最近在写关于自然语言处理的文章,but,没对象啊,这可是个大问题。
莫慌,看完本文,你就能有对象了。
人生苦短,我选Python,其他空余的时间可以和对象一起玩耍。。。(此处省略n字) 对象和类
当然,此对象非彼对象。
360百科对对象的描述如下:
还记得小时候玩过的印章么,hellokitty那种印章:
360百科我表示看不懂,那就举个栗子。
如果对象是一个具体的存在,而类是产生对象的模版(为了帮助理解,描述的可能不是那么准确)
就像印章是类,对象则是印出来的图形。
就像化妆品是类,则CHANEL、Lancôme、Estee Lauder、Christian Dior等是对象(我也不知道我怎么会知道这些。。。)。
所以类是对对象的抽象。
面向对象和面向过程
我们一开始,例如大学学的C语言,是面向过程的,总的执行流程是顺序的,任何功能等的实现都是自己要写代码的。
现在说的面向对象和之前熟悉的面向过程可用下面的例子解释:
假如你想吃烤鱼:
面向过程:自己动手,从买鱼,洗鱼洗菜,烤鱼,加调料,装入盘子,端上桌,吃!!!(还要洗碗)
while(没吃腻):
体重++
面向对象:来到烤鱼店,点菜单,吃!!!,结账走人。
做人做要紧开心~
所以可以总结如下:
面向过程:自己靠双手按照流程解决问题。
面向对象:找个对象,让她做,自己轻松了。
两者都是解决问题的一种思路,但这个总结总是感觉哪里不对。
类的描述:类名,属性,方法
class 类名(大驼峰命名法):
#属性
#方法
defxxx(): pass
类名:类的名字
属性:类的属性
方法:类的方法
这解释。。。【掀桌
类的属性可以认为是在类里对象里定义的变量。
这里的方法,注意到是def 定义的,可以理解为函数!!! 定义一个类
classCar:
defdrive(selt): print(
'我正在开车')
defturnover(self): print(
'翻车了')
class后面定义的就是一个名为Car的类。
def定义的是类的方法(理解为类里的函数),这里定义了两个方法,开车和翻车。
创建一个对象
年轻人,听说你没对象?
没事,我们自己创建一个。
#创建一个对象 xiao_jie_jie=Car() xiao_jie_jie
.drive()
#调用xiao_jie_jie指向的对象的方法 xiao_jie_jie
.turnover()
运行结果:
看来小姐姐翻车了。。。
类的三要素集合
类的名称(Car),方法(开车,翻车)都有了,还差属性。
classCar:
defdrive(selt): print(
'我正在开车')
defturnover(self): print(
'翻车了')
#创建一个对象 xiao_jie_jie=Car() xiao_jie_jie.drive()
#调用xiao_jie_jie指向的对象的方法 xiao_jie_jie.turnover()
#添加属性,属性就是变量 xiao_jie_jie.name =
'王梦瑶' xiao_jie_jie.age =
20 print(
'%s的年龄是:%d'%(xiao_jie_jie.name,xiao_jie_jie.age))
这里小姐姐的名字纯属虚构(如有雷同,别喷我,你可以认为这是缘分啊~~~)
这里属性有name和age,或许可以有那啥???算了,怕被河蟹。
运行一下程序
是不是发现程序竟然可以这样写,很好玩吧,之后会连载的啦~想知道女司机的后续故事么,请持续关注!
转载请保留以下内容:
本文来源自天善社区ID王大伟老师的博客(公众号)。
原文链接: https://ask.hellobi.com/blog/wangdawei/8429返回搜狐,查看更多
责任编辑: