Hướng dẫn print address python - địa chỉ in python

Nó có thể là một câu hỏi cơ bản bởi vì tôi bắt đầu học tự học với cuốn sách Think Python. Và có một bài tập mà tôi không im lặng theo dõi lý do tại sao không in chuỗi thẻ, thay vào đó nó in một địa chỉ bộ nhớ.

Nội dung chính ShowShow

  • Bàn luận
  • Làm cách nào để in một địa chỉ bộ nhớ trong Python?
  • Làm cách nào để in một địa chỉ bộ nhớ trong Python?
  • Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?
  • Làm thế nào để Python truy cập bộ nhớ?
  • Các lớp Python được lưu trữ trong bộ nhớ như thế nào?

Đây là toàn bộ mã:

import random

class Card(object):
    '''Represents a standard playing card'''

    def __init__(self, suit=0, rank=2):
        self.suit = suit
        self.rank = rank

    suit_names = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
    rank_names = [None, 'Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']

    def __str__(self):
        return '%s of %s' % (Card.rank_names[self.rank], Card.suit_names[self.suit])

    def __cmp__(self, other):
        t1= self.suit, self.rank
        t2 = other.suit, other.rank
        return cmp(t1, t2)

class Deck(object):

    def __init__(self):
        self.cards = []
        for suit in range(4):
            for rank in range(1,14):
                card = Card(suit, rank)
                self.cards.append(card)

    def __str__(self):
        res = []
        for card in self.cards:
            res.append(str(card))
        return '\n'.join(res)

    def pop_card(self):
        return self.cards.pop()

    def add_card(self, card):
        self.cards.append(card)

    def shuffle(self):
        random.shuffle(self.cards)

    def sort(self):
        self.cards.sort()

    def move_card(self, hand, num):
        for i in range(num):
            hand.add_card(self.pop_card())

    def deal_hands(self, _cards, hands):
        handsdeal = []
        for i in range(hands):
            hand = Hand()
            self.move_card(hand, _cards)
            handsdeal.append(hand.cards)
        return handsdeal

class Hand(Deck):

    def __init__(self, label=''):
        self.cards = []
        self.label = label

Hãy để tôi giải thích:

Tôi gọi phương thức Deal_Hands với boong j (j = boong ()) và _cards = 2 và tay = 3. Kết quả là danh sách bàn tay nhưng khi tôi in danh sách đó, tôi nhận được danh sách với danh sách như dự định nhưng với địa chỉ bộ nhớ xấu xí như các yếu tố. Tại sao điều này xảy ra và làm thế nào nó có thể được sửa chữa?

STR cũng nên được sử dụng bằng tay, phải không? should be used by Hand too, right? should be used by Hand too, right?

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Làm cách nào để in một địa chỉ bộ nhớ trong Python?

    Syntax:

    id(object)

    Làm cách nào để in một địa chỉ bộ nhớ trong Python?

    Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?Python program to get the address of different objects

    Python3

    Làm thế nào để Python truy cập bộ nhớ?

    a 4a 5a 6a 7

    Các lớp Python được lưu trữ trong bộ nhớ như thế nào?

    a 4a 5a 6a 7

    Đây là toàn bộ mã:

    a 4a 5a 6a 7

    Hãy để tôi giải thích:

    a 4a 5a 6a 7

    Output:

    140234866534752

    94264748411744

    140234904267376

    140234866093264

    Làm cách nào để in một địa chỉ bộ nhớ trong Python?

    Làm cách nào để in một địa chỉ bộ nhớ trong Python?

    Syntax:

    addressof(c_int(object))

    Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?

    Làm thế nào để Python truy cập bộ nhớ? Python program to get the memory address of  a variable

    Python3

    Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?

    Làm thế nào để Python truy cập bộ nhớ?

    a 4155

    Output:

    140234866278064

    Làm thế nào để Python truy cập bộ nhớ?

    Syntax:

    hex(id(object))

    where,

    • Các lớp Python được lưu trữ trong bộ nhớ như thế nào?
    • Đây là toàn bộ mã:
    • Hãy để tôi giải thích:

    Tôi gọi phương thức Deal_Hands với boong j (j = boong ()) và _cards = 2 và tay = 3. Kết quả là danh sách bàn tay nhưng khi tôi in danh sách đó, tôi nhận được danh sách với danh sách như dự định nhưng với địa chỉ bộ nhớ xấu xí như các yếu tố. Tại sao điều này xảy ra và làm thế nào nó có thể được sửa chữa? Python program to get the memory address in hexadecimal representation.

    Python3

    Làm thế nào để Python truy cập bộ nhớ?

    a 4a 531a 5a 634

    Các lớp Python được lưu trữ trong bộ nhớ như thế nào?

    a 4a 531a 5a 634

    Đây là toàn bộ mã:

    a 4a 531a 5a 634

    Hãy để tôi giải thích:

    a 4a 531a 5a 634

    Output:

    0x7fba9b0ae8c0

    0x5572da858b60

    0x7fba9f3c4a10

    0x7fba9b05b8c0


    Làm cách nào để in một địa chỉ bộ nhớ trong Python?

    Tôi gọi phương thức Deal_Hands với boong j (j = boong ()) và _cards = 2 và tay = 3. Kết quả là danh sách bàn tay nhưng khi tôi in danh sách đó, tôi nhận được danh sách với danh sách như dự định nhưng với địa chỉ bộ nhớ xấu xí như các yếu tố. Tại sao điều này xảy ra và làm thế nào nó có thể được sửa chữa?.

    Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?

    Làm thế nào để Python truy cập bộ nhớ?

    print(object_id).

    Hàm Python trả về địa chỉ bộ nhớ của một đối tượng là gì?

    Làm thế nào để Python truy cập bộ nhớ?id() returns the object's memory address.

    Làm thế nào để Python truy cập bộ nhớ?

    Các lớp Python được lưu trữ trong bộ nhớ như thế nào?internally by the Python memory manager.

    Các lớp Python được lưu trữ trong bộ nhớ như thế nào?

    Đây là toàn bộ mã:stack memory and all the values objects are stored in a private heap.