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日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序