Wie man "__repr__" richtig implementiert / überlastet?

Neu zu Python und das mag eine dumme Frage sein, aber wie setzt man das @ richtig repr Methode

Ich habe ein kleines Programm geschrieben, um ein Kartenspiel zu simulieren, aber ich weiß nicht, was ich für das @ schreiben sol repr Methode. Das repr Methode für dasCard Klasse war ziemlich einfach, aber ich weiß nicht, was ich für das @ tun soDeckOfCards Klasse Hier ist mein Code:

import random
class Card:
'''Create a single card, by id number'''

# Class variables, created once for the class
    suits = [ '\u2660', '\u2661', '\u2662', '\u2663' ]
    ranks = [ 'A','2','3','4','5','6','7','8','9','10','J','Q','K' ]

    def __init__(self, n=0):
    # instance variables for _num, _rank, _suit, _value
    if 0 <= n < 52:
        self._num = n
        self._rank = Card.ranks[n%13]       # note referencing class vars
        self._suit = Card.suits[n//13]
        self._value = n%13 + 1
        if self._rank == 'A':
            self._value = 14
    else: # invalid card indicators
        self._rank = 'x'
        self._suit = 'x'
        self._value = -1

    def __repr__(self):
        return  self._ra,nk + self._suit

    def __lt__(self,other):
        return self._value < other._value

    def __le__(self,other):
        return self._value <= other._value

    def __eq__(self,other):
        return self._value == other._value

class DeckOfCards:
'''A Deck is a collection of cards'''

    def __init__(self):
        self._deck = [ Card(i) for i in range(52) ]

    def __repr__(self):
        return 'Deck : ', self._deck

    def shuffle(self):
        return random.shuffle(self._deck)

    def deal_a_card(self, i=-1):
    #that way player can choose where to draw from 
        return self._deck.pop(i)

    def cards_left(self,count):
        return len(self._deck)

new_deck = DeckOfCards()

Fühlen Sie sich auch frei, Kommentare zu allem abzugeben, was Sie möchten, sei es ein Konstruktionsfehler oder eine Redundanz im Code, buchstäblich alles. Danke im Voraus

Antworten auf die Frage(6)

Ihre Antwort auf die Frage