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