【问题标题】:Error in inheriting from parent class PYTHON从父类 PYTHON 继承时出错
【发布时间】:2021-05-25 08:42:24
【问题描述】:
 class Deck:
    def __init__(self):
        self.suits = ['S', 'C', 'H', 'D']
        self.nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
        self.deck = []

    def make_deck(self):
        self.deck = [f"{j}{i}" for j in self.nums for i in self.suits]
        return self.deck

    def pop_deck(self):
        for i in range(3):
            self.deck.pop(0)  # gah don't do pop(i), do pop(1)
        return self.deck

full_deck = Deck()
print(full_deck.make_deck())
print(full_deck.pop_deck())


class CardDistribution(Deck):
    def updated_deck(self):
        return self.deck


d = CardDistribution
print(d.updated_deck())

Traceback(最近一次调用最后一次): 文件“/Users/fatimah/PycharmProjects/classes/blackjack.py”,第 37 行,在 打印(d.updated_deck()) TypeError: updated_deck() 缺少 1 个必需的位置参数:'self'

【问题讨论】:

  • 缺少()在线d = CardDistribution
  • 我正在尝试编辑我的代码以打印更新后的卡片组,但它引发了“自我”错误——不知道为什么
  • @Ruan 成功了,谢谢!

标签: python class inheritance


【解决方案1】:

在线26,你在定义对象的时候忘记加()了。 更新的代码将是:-

class Deck:
    def __init__(self):
        self.suits = ['S', 'C', 'H', 'D']
        self.nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
        self.deck = []

    def make_deck(self):
        self.deck = [f"{j}{i}" for j in self.nums for i in self.suits]
        return self.deck

    def pop_deck(self):
        for i in range(3):
            self.deck.pop(0)  # gah don't do pop(i), do pop(1)
        return self.deck

full_deck = Deck()
print(full_deck.make_deck())
print(full_deck.pop_deck())


class CardDistribution(Deck):
    def updated_deck(self):
        return self.deck


d = CardDistribution()
print(d.updated_deck())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2021-05-12
    • 2021-01-25
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多