Python、Scrapy和变量范围

Python、Scrapy和变量范围,python,scrapy,Python,Scrapy,首先,我认为类变量可用于类中的所有对象。其次,我认为在与函数def相同的级别(块缩进)定义的变量在那里和内部块中定义的函数范围内。对我来说,scrapy会改变这个规则是没有意义的。我在发帖前查阅了这篇文章,我看不出我所做的和这里所解释的有什么区别。注意,我没有得到UnboundLocalError,如果这有区别的话。如果您能解释一下这里出了什么问题以及如何解决问题,我将不胜感激 类/蜘蛛声明 类/蜘蛛声明 这是OOP(面向对象编程)的一个问题。您必须放置self.start\u url,以指示s

首先,我认为类变量可用于类中的所有对象。其次,我认为在与函数def相同的级别(块缩进)定义的变量在那里和内部块中定义的函数范围内。对我来说,scrapy会改变这个规则是没有意义的。我在发帖前查阅了这篇文章,我看不出我所做的和这里所解释的有什么区别。注意,我没有得到UnboundLocalError,如果这有区别的话。如果您能解释一下这里出了什么问题以及如何解决问题,我将不胜感激

类/蜘蛛声明 类/蜘蛛声明
这是OOP(面向对象编程)的一个问题。您必须放置
self.start\u url
,以指示start\u url是一个可值类

start_urls = [example.com]

def parse(self, response):
    for url in self.start_urls:
        yield scrapy.Request(url, callback=self.parse_item)

这是OOP(面向对象编程)的一个问题。您必须放置
self.start\u url
,以指示start\u url是一个可值类

start_urls = [example.com]

def parse(self, response):
    for url in self.start_urls:
        yield scrapy.Request(url, callback=self.parse_item)
start_urls = [example.com]

def parse(self, response):
    for url in self.start_urls:
        yield scrapy.Request(url, callback=self.parse_item)