python之面向对象编程(1)

最近使用scrapy,只需要改写一个在爬虫脚本里定义一个自己的爬虫类就ok。本来以为so easy,不就是定义类嘛。

开始写的时候,才发现以前根本没怎么写过类。或者说简单知道些简单概念。比如:

  • 什么是类(class)?可以理解为一类具有相同属性和方法的对象的集合,这里的对象可以看做是类的实例。举个例子:女神是一个类,姑姑(神雕侠侣)可以理解为一个女神实例。

  • 类的属性(class)?可以理解为类的变量,可以分为两种,类变量和实例变量。类变量是所有的实例都共享的变量(?),实例变量是每个实例需要独立初始化的变量。举个例子:所有的女神都共享一个属性:高颜值,但是不是所有的女神都叫姑姑。

  • 类的方法?类中定义的函数,或者类相关的行为。最熟悉当属构造方法__init__(),用于实例变量的初始化。举个例子:女神都可以定义个方法,女神的微笑(因为想到“一骑红尘妃子笑,无人知是荔枝来。”,为博女神一笑,上九天揽月亦可啊!)。

class Goddess():
  attr_1 = 'Very Beautiful'
  def __init__(self, name):
    self.name = name
  def smile(self):
    print ('goddess\'s smile is so attractive!')

上面定义了女神类,可以定义姑姑实例:

goddess_obj = Goddess('姑姑')

姑姑见到过儿时,就会给过儿笑一个:

goddess_obj.smile()

以上就是我知道的少量关于class少量知识,但是最近遇到关于继承的问题,以前只知道继承之名词——从父亲那里收获得天赋资本(隐约有点富二代的味道),继承这个名词翻译得正好,一下子就搞清楚了子类与父类之间的关系。对于继承更多的知识,就一无所知了。(先更新到这里,预知后事如何且听下回分解)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容