在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

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

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

我想要达到的结果

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

"""初始化游戏的设置""" 这个要放在 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

你要创建类啊

 
class Car:
  def __init__(self, rank, color, brand, mileage):
    self.rank = rank
    self.color = color
    self.brand = brand
    self.mileage = mileage
    self.all_mileage = int(mileage)
 
  def set_mileage(self, mileage):
    self.mileage = mileage
    self.all_mileage += mileage
  
  def get_mileage(self):
    return self.mileage
 
  def get_all_mileage(self):
    return f'{str(self.all_mileage)} km'
 
if __name__ == "__main__":
 
  # 红旗实例
  hongqi = Car("轿车", "黑色", "红旗", 0)
  print("红旗属性")
  print(hongqi.rank)
  print(hongqi.color)
  print(hongqi.brand)
  hongqi.set_mileage(20)
  hongqi.set_mileage(370)
  hongqi.set_mileage(260)
  print(hongqi.get_all_mileage())
 
  # 宝马实例
  bamao = Car("轿车", "白色", "宝马", 10)
  print("宝马属性")
  print(bamao.rank)
  print(bamao.color)
  print(bamao.brand)
  bamao.set_mileage(290)
  bamao.set_mileage(340)
  bamao.set_mileage(220)
  print(bamao.get_all_mileage())

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632