分享

Python面向对象编程从零开始(1)——从没对象到有对象

 SHP周 2017-07-09

作者:王大伟

博客专栏:https://www./u/wangdawei/articles

Python爱好者社区  唯一小编  

前言

最近在写关于自然语言处理的文章,but,没对象啊,这可是个大问题。

 

莫慌,看完本文,你就能有对象了。

  

人生苦短,我选Python,其他空余的时间可以和对象一起玩耍。。。(此处省略n字)

对象和类

当然,此对象非彼对象。

360百科对对象的描述如下:

还记得小时候玩过的印章么,hellokitty那种印章:

 

360百科我表示看不懂,那就举个栗子。

如果对象是一个具体的存在,而类是产生对象的模版(为了帮助理解,描述的可能不是那么准确)

就像印章是类,对象则是印出来的图形。

就像化妆品是类,则CHANEL、Lanc?meEstee Lauder、Christian Dior等是对象(我也不知道我怎么会知道这些。。。)。

所以类是对对象的抽象。

面向对象和面向过程

我们一开始,例如大学学的C语言,是面向过程的,总的执行流程是顺序的,任何功能等的实现都是自己要写代码的。

现在说的面向对象和之前熟悉的面向过程可用下面的例子解释:

假如你想吃烤鱼:

 

面向过程:自己动手,从买鱼,洗鱼洗菜,烤鱼,加调料,装入盘子,端上桌,吃!!!(还要洗碗)

       while(没吃腻):

体重++

面向对象:来到烤鱼店,点菜单,吃!!!,结账走人。

      做人做要紧开心~


所以可以总结如下:

面向过程:自己靠双手按照流程解决问题。

面向对象:找个对象,让她做,自己轻松了。

两者都是解决问题的一种思路,但这个总结总是感觉哪里不对。

 

类的描述:类名,属性,方法

class 类名(大驼峰命名法):
   #属性
   
   #方法
   def xxx():
       pass

类名:类的名字

属性:类的属性

方法:类的方法

这解释。。。【掀桌

 

类的属性可以认为是在类里对象里定义的变量。

这里的方法,注意到是def 定义的,可以理解为函数!!!

定义一个类

class Car:
   
   def drive(selt):
       print('我正在开车')
   
   def turnover(self):
       print('翻车了')

class后面定义的就是一个名为Car的类。

def定义的是类的方法(理解为类里的函数),这里定义了两个方法,开车和翻车。

 

创建一个对象

年轻人,听说你没对象?

没事,我们自己创建一个。

#创建一个对象
xiao_jie_jie=Car()

xiao_jie_jie.drive()#调用xiao_jie_jie指向的对象的方法
xiao_jie_jie.turnover()

运行结果:

看来小姐姐翻车了。。。

类的三要素集合

类的名称(Car),方法(开车,翻车)都有了,还差属性。

class Car:
    
    def drive(selt):
        print('我正在开车')
    
    def turnover(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,或许可以有那啥???算了,怕被河蟹。

运行一下程序

是不是发现程序竟然可以这样写,很好玩吧,之后会连载的啦~想知道女司机的后续故事么,请持续关注!



说到做到,新福利来啦:

关注公众号,在公众号菜单点击'免费听课',即可参与活动免费听19.9元收费课程,当然,壕大大可以直接购买听课啦。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多