请参阅Python类外部函数中定义的变量
请原谅我的新手问题,但我想让我自己弄清楚。从类外的函数内部访问类变量时出现问题。在下面的代码中,我需要请参阅Python类外部函数中定义的变量,python,django,Python,Django,请原谅我的新手问题,但我想让我自己弄清楚。从类外的函数内部访问类变量时出现问题。在下面的代码中,我需要文本,text2。我得到的变量是元组,但我需要单独使用它们。如何更新代码以获得定义的变量,如text=var1和text2=var2?提前谢谢 from django.shortcuts import render class Someclass(): def method_1(self): self.var2 = 'var2' self.var1 =
文本,text2
。我得到的变量是元组,但我需要单独使用它们。如何更新代码以获得定义的变量,如text=var1
和text2=var2
?提前谢谢
from django.shortcuts import render
class Someclass():
def method_1(self):
self.var2 = 'var2'
self.var1 = 'var1'
return self.var1 ,self.var2
def func(request):
cls = Someclass()
text2 = cls.method_1()
text = cls.method_1()
content = {
'text': text,
'text2': text2,
}
return render(request, "web/page.html", content)
因为您返回的是元组,所以应该在单个调用中将它们的值直接分配给变量 大概是这样的:
text, text2 = cls.method_1()
因为您返回的是元组,所以应该在单个调用中将它们的值直接分配给变量 大概是这样的:
text, text2 = cls.method_1()
而不是:
text2=cls.method_1()
text=cls.method_1()
做:
text2,text=cls.method_1()而不是:
text2=cls.method_1()
text=cls.method_1()
做:
text2,text=cls.method_1()使用
元组解包
-您可以返回多个结果,并从函数接收多个结果
text, text2 = cls.method_1()
此外,最好不要将变量命名为text和text2。而且
cls
是一个类常用的词,在你的代码中cls
是一个实例,这有点不和谐:)使用tuple unpacking
-你可以返回多个结果,并从一个funct接收多个结果
text, text2 = cls.method_1()
此外,最好不要将变量命名为text和text2。而且
cls
是一个用于类的常用词,在您的代码中cls
是一个实例,这有点不和谐:)谢谢!但如何让它更“pythonic”?:)让这个名字有意义。例如,如果您有class Parser()
,那么Parser=Parser()
或facebook\u Parser=facebook Parser(args)
。text
和text2
也是如此。或者至少把它命名为obj
-而不是cls
:)谢谢!但如何让它更“pythonic”?:)让这个名字有意义。例如,如果您有class Parser()
,那么Parser=Parser()
或facebook\u Parser=facebook Parser(args)
。text
和text2
也是如此。或者至少将其命名为obj
-而不是cls
:)感谢编辑并询问如何指出灰色背景的文本?感谢编辑并询问如何指出灰色背景的文本?