Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

[ Câu hỏi về Python ] : Không hiểu về đoạn mã trong Class

19:06 09-05-2017 986 lượt xem 3 bình luận 15:11 10-05-2017
import datetime


class MessageUser():
    user_details = []
    messages = []
    base_message = """Hi {name}! 

Thank you for the purchase on {date}. 
We hope you are exicted about using it. Just as a
reminder the purcase total was ${total}.
Have a great one!

Team CFE
"""
    def add_user(self, name, amount, email=None):
        name = name[0].upper() + name[1:].lower() 
        amount = "%.2f" %(amount)
        detail = {
            "name": name,
            "amount": amount,
        } 
        today = datetime.date.today()
        date_text = '{today.month}/{today.day}/{today.year}'.format(today=today)
        detail['date'] = date_text
        if email is not None: # if email != None
            detail["email"] = email
        self.user_details.append(detail)
    def get_details(self):
        return self.user_details
    def make_messages(self):
        if len(self.user_details) > 0:
            for detail in self.get_details():
                name = detail["name"]
                amount = detail["amount"]
                date = detail["date"]
                message = self.base_message
                new_msg = message.format(
                    name=name,
                    date=date,
                    total=amount
                )
                self.messages.append(new_msg)
            return self.messages
        return []

Lới đầu tiên , em xin chúc các anh chị trong Howkteam được  mạnh khỏe ,vui vẻ và cộng động sẽ ngày càng phát triển .

Em có thắc mắc xíu về 1 đoạn mã trong Python . Từ đầu đoạn mã em còn hiểu được , nhưng tới khúc message = self.base_message . Em không hiểu được đoạn self.base_message là gì ? , để làm gì ?  . Mong các anh chị giải thích cho em . Em xin cảm ơn !

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
VirusLove_7x đã bình luận 20:28 09-05-2017

base_message là một biến của class MessageUser cho nên khi thao tác với nó ta cần chữ self ở trước nếu không sẽ báo lỗi missing argument vì self là argument để nó định hướng đối tượng do đó nó không hiểu nó đang thao tác với base_message nào.
sau khi gán với message nó sẽ format. Hàm format ở đây nó sẽ thay thế các dữ liệu còn thiếu mà cái base_message còn thiếu như là name, date, total.
Cuối cùng nó đã make xong cái message. Việc của nó là add nó vào list message bằng append
Đơn giản mà. Còn nếu bạn thấy vẫn còn gì đó chưa hiểu bạn có thể reply. Mình sẽ giải thích thêm

VirusLove_7x đã bình luận 20:27 09-05-2017

base_message là một biến của class MessageUser cho nên khi thao tác với nó ta cần chữ self ở trước nếu không sẽ báo lỗi missing argument vì self là argument để nó định hướng đối tượng do đó nó không hiểu nó đang thao tác với base_message nào.
sau khi gán với message nó sẽ format. Hàm format ở đây nó sẽ thay thế các dữ liệu còn thiếu mà cái base_message còn thiếu như là name, date, total.
Cuối cùng nó đã make xong cái message. Việc của nó là add nó vào list message bằng append
Đơn giản mà. Còn nếu bạn thấy vẫn còn gì đó chưa hiểu bạn có thể reply. Mình sẽ giải thích thêm

Câu hỏi mới nhất