m0_47932014 2022-01-20 22:18 采纳率: 100%
浏览 43
已结题

在def __init__(self)后添加代码会出错是什么原因

问题遇到的现象和发生背景
class Settings():
"""存储《外星人入侵》的所有设置的类"""
def __init__(self):"""初始化游戏的设置"""
# 屏幕设置
    self.screen_width=1200
    self.screen_height = 800
    self.bg_color = (230, 230, 230)

问题相关代码,请勿粘贴截图

运行结果及报错内容

File "C:\Users\27473\AppData\Local\Programs\Python\Python310\settings.py", line 4, in Settings
self.screen_width=1200
NameError: name 'self' is not defined

我的解答思路和尝试过的方法

把"初始化游戏的设置"这个注释删了就好了

我想要达到的结果

我网上搜了很久不知道是为什么?

  • 写回答

3条回答 默认 最新

  • 关注

    """初始化游戏的设置""" 这个要放在 def init(self):的下一行

    
    class Settings():
        """存储《外星人入侵》的所有设置的类"""
        def __init__(self):
            """初始化游戏的设置"""
            # 屏幕设置
            self.screen_width=1200
            self.screen_height = 800
            self.bg_color = (230, 230, 230)
    

    因为python中没有多行注释,"""初始化游戏的设置""" 这个实际上是多行字符串常量,
    字符串常量不能放在 def init(self):后面
    或者可以改成单行注释

    def __init__(self): #初始化游戏的设置
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月28日
  • 已采纳回答 1月20日
  • 创建了问题 1月20日

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?