python类变量初始化_python中用函数初始化类变量 | 学步园

今天在写python的时候遇到一个问题:定义了一个list类型的类变量,但是这个list需要在初始化的时候给它加很多的url进去.这样的话我们就需要用倒函数了.结果自己刚开始这样写的:

class TianyaSpider(CrawlSpider):

def init_start():

url_l = u'http://search.tianya.cn/s?tn=sty&rn=10&pn='

url_r = u'&s=0&pid=&f=0&h=1&ma=0&q=%B8%DF%BF%BC%D6%BE%D4%B8'

urls = []

for i in range(0,75,1):

tem = url_l + str(i) + url_r

urls.append(tem)

return urls

name = 'tianya'

allowed_domains = ['tianya.cn']

start_urls = init_start()

这样写是成功了,但是总感觉不规范,如果你把函数的定义写在后面那么程序还无法识别该函数.其实我觉得这和java等是一个道理,这个方法中的代码是放在static区的.在第一次加载这个类的时候,这些代码便放了进去.这样的函数好像是不太方便在类的外部去调用的.所以这样做在python中无疑是不规范的,那么我就想换一种表达的方式

刚开始我一直想在类定义的内部去调用类函数来进行该类变量的初始化,所以代码变成下面这个样子:

# -*- coding: utf-8 -*-

from scrapy.selector import H

你可能感兴趣的:(python类变量初始化)