yccjm2001 发表于 2023-3-24 16:44:26

求教各位大佬,类里边的函数不能直接用return返回吗?是不能,还是格式用错。

class C:
    x = 5

    def set_x(self,v):
      self.x = v
      print(v)
      print(self.x)
    return set_x()
SyntaxError: incomplete input

求教各位大佬,类里边的函数不能直接用return返回吗?是不能,还是格式用错

isdkz 发表于 2023-3-24 16:47:02

return 是放在函数里的呀,你这里是想实现什么效果?

isdkz 发表于 2023-3-24 16:50:43

你好!首先,类的方法(函数)不应该直接用return返回。在你的代码中,出现了一些错误。这是一个修复后的例子:

class C:
    x = 5

    def set_x(self, v):
      self.x = v
      print(v)
      print(self.x)

# 创建一个C类的实例
c_instance = C()

# 调用set_x方法
c_instance.set_x(10)
在这个例子中,我们先定义了一个名为C的类。类中有一个名为x的类变量和一个名为set_x的方法。set_x方法接收一个参数v,用于设置实例变量x的值,并打印v和self.x。

要使用set_x方法,你需要首先创建一个C类的实例,然后调用该实例的set_x方法。在这个例子中,我们创建了一个名为c_instance的C类实例,然后调用了c_instance.set_x(10)。这将把x的值设置为10,并打印出10和10。

请注意,你不应该在类定义内部直接调用方法,而应该在类实例上调用它们。在你的原始代码中,return set_x()是错误的,因为它尝试在类定义内部直接调用方法。相反,你应该在创建类实例后调用方法,如上面的修复示例所示。

yccjm2001 发表于 2023-3-24 17:24:03

谢谢大佬。
页: [1]
查看完整版本: 求教各位大佬,类里边的函数不能直接用return返回吗?是不能,还是格式用错。