python TypeError: missing 1 required positional argument:‘self‘

问题描述

Python 调用类的函数时报错如下:

TypeError: startGame() missing 1 required positional argument: ‘self’


原因分析:

MainGame是个类,startGame() 是其中的方法,不能直接这样调用,需要先将类实例化

MainGame.startGame()

注意:上面是创建一个匿名对象

解决方案:

创建对象

代码改为:

MainGame().startGame()

代码原理:
MainGame是 class 也就是类

MainGame() 是object 也就是对象

MainGame.startGame() 就是调用类的方法

MainGame().startGame()就是调用对象的方法

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeError: save() missing 1 required positional argument: 'self' 是一个常见的错误,它表示在调用一个方法时缺少了必要的参数'self'。这通常发生在没有正确实例化类的情况下。在Python中的类中,方法的第一个参数通常是'self',它代表实例本身。通过在方法调用中传递实例作为参数,可以确保方法能够访问实例的属性和方法。 要解决这个错误,首先要确保你在调用save()方法之前正确地实例化了类。实例化类可以使用类名后面跟一个括号,如Class()。确保在实例化类时,将实例赋值给一个变量,以便在调用方法时使用。 例如,假设你有一个名为MyClass的类,其中有一个save()方法,你可以这样修复这个错误: ``` my_instance = MyClass() # 实例化类 my_instance.save() # 调用save()方法 ``` 这样,你就可以正确地调用save()方法,并且不会再出现TypeError: save() missing 1 required positional argument: 'self'的错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [修复 Python 错误TypeError: Missing 1 Required Positional Argument](https://blog.csdn.net/fengqianlang/article/details/131061728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值