【发布时间】:2021-05-23 19:33:52
【问题描述】:
我可以从类函数中获取 self 吗?例如:
class abc:
def __init__(self, name):
self.name = name
def printname(self):
print(self.name)
x = abc("test").printname()
我想从x获取原始类obj abc("test")而不使用return self或首先定义x = abc("test"),可以吗?
【问题讨论】:
-
x中没有任何内容,只有一个None值,因为printname()没有返回任何内容。所以从None你什么都做不了 -
你的问题包括两个非常好的解决方案——一个是让
printname返回对象,另一个是直接将x分配给对象。这两个有什么问题? -
我想强调@azro 所说的,你的
x值存储None,因为你的函数没有返回任何东西。因此,将无法获得课程。如果您使用abs('test').printname,(请注意缺少右括号,因此我们没有调用该函数)您可以使用该类。x.__self__. -
“我想在不使用琐碎且唯一的方法的情况下实现某事,可以吗?”这就是你的问题在我们看来,你明白吗?
-
@Samwise 这是一个例子
标签: python python-3.x class object self