鱼C论坛

 找回密码
 立即注册
查看: 2037|回复: 3

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

[复制链接]
发表于 2023-3-24 16:44:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class C:
    x = 5

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

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

最佳答案
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()是错误的,因为它尝试在类定义内部直接调用方法。相反,你应该在创建类实例后调用方法,如上面的修复示例所示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-24 16:47:02 | 显示全部楼层
return 是放在函数里的呀,你这里是想实现什么效果?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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()是错误的,因为它尝试在类定义内部直接调用方法。相反,你应该在创建类实例后调用方法,如上面的修复示例所示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-24 17:24:03 | 显示全部楼层
谢谢大佬。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 03:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表