我想得到一个可以在任何类的任何方法中使用的变量。
我是这样开始的:
class clasificadorDeTweet:
"""Funciones para clasificar tweets"""
def fx():
print trendingTopics
def iniciarConjuntoTrendingTopics():
trendingTopics = ['EPN', 'PRI', 'Peña Nieto', 'México', 'PresidenciaMX', 'Osorio Chong', 'SEDENA', 'PEMEX', 'Reforma Energética', 'Guerra contra el narco', 'Reforma Fiscal', 'Los Pinos'];
return set(trendingTopics)
global trendingTopics
trendingTopics = iniciarConjuntoTrendingTopics()
x=clasificadorDeTweet()
x.fx
但我没有打印任何东西。我有什么问题?
答案 0 :(得分:1)
您需要在x.fx
之后添加()
调用:
x.fx()
然而,这不是你唯一的问题; fx
是一个实例方法,所以它需要self
(按照惯例;你可以调用任何你想要的东西,但你需要有一些参数)作为第一个参数。
您可能还想在trendingTopics
中使用unicode字符串,并在文件的开头声明源代码编码;在你的代码中嵌入非ASCII str
可能会巧合地工作,然后在移动到另一个系统时可怕地破坏。
您在模块级别的global
语句也几乎没有任何内容。在模块范围分配的变量已经是全局变量。
答案 1 :(得分:0)
如果要访问趋势主题,则必须在方法范围内将趋势主题声明为全局
def fx():global tredingTopics print tredingTopics