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 !
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
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