如何使用 __str__ 函数来 return class 的字符串表示
How to use __str__ function to return a string representation of a class
我的任务是在 python 中创建库存管理器,其中一项要求是在 class 中定义以下函数:
__str__
- 此函数 returns 的字符串表示形式
class.
class 指的是具有以下格式的文件 (inventory.txt):
国家、代码、产品、成本、数量
到目前为止我的代码如下:
# Creating the class:
class Shoes():
# Constructor:
def __init__(self,country,code,product,cost,quantity):
self.country = country
self.code = code
self.product = product
self.cost = cost
self.quantity = quantity
# Methods:
def get_cost():
inventory = open('inventory.txt','r')
inventory_list = inventory.readlines()
code = input("What is the code of the product:")
for line in inventory_list:
split_lines = line.split(",")
if code == split_lines[1]:
print("This product costs R{}".format(split_lines[3]))
inventory.close()
def get_quantity():
inventory = open('inventory.txt','r')
inventory_list = inventory.readlines()
code = input("What is the code of the product:")
for line in inventory_list:
split_lines = line.split(",")
if code == split_lines[1]:
print("There are {} units in inventory".format(split_lines[4]))
inventory.close()
def __str__(self):
pass
我还没有遇到过 str 所以我真的不确定它是如何工作的,以及如何使用它。任何建议将不胜感激。
这是一个例子:
def __str__(self):
return f'{self.self.country},{self.self.code},{self.self.product}, {self.cost},{self.quantity })'
这样,当您为 class 赋值时,您可以打印其字符串表示形式
print(new_shoe)
这里有更多信息
https://www.pythontutorial.net/python-oop/python-str/
我的任务是在 python 中创建库存管理器,其中一项要求是在 class 中定义以下函数:
__str__
- 此函数 returns 的字符串表示形式
class.
class 指的是具有以下格式的文件 (inventory.txt): 国家、代码、产品、成本、数量
到目前为止我的代码如下:
# Creating the class:
class Shoes():
# Constructor:
def __init__(self,country,code,product,cost,quantity):
self.country = country
self.code = code
self.product = product
self.cost = cost
self.quantity = quantity
# Methods:
def get_cost():
inventory = open('inventory.txt','r')
inventory_list = inventory.readlines()
code = input("What is the code of the product:")
for line in inventory_list:
split_lines = line.split(",")
if code == split_lines[1]:
print("This product costs R{}".format(split_lines[3]))
inventory.close()
def get_quantity():
inventory = open('inventory.txt','r')
inventory_list = inventory.readlines()
code = input("What is the code of the product:")
for line in inventory_list:
split_lines = line.split(",")
if code == split_lines[1]:
print("There are {} units in inventory".format(split_lines[4]))
inventory.close()
def __str__(self):
pass
我还没有遇到过 str 所以我真的不确定它是如何工作的,以及如何使用它。任何建议将不胜感激。
这是一个例子:
def __str__(self):
return f'{self.self.country},{self.self.code},{self.self.product}, {self.cost},{self.quantity })'
这样,当您为 class 赋值时,您可以打印其字符串表示形式
print(new_shoe)
这里有更多信息 https://www.pythontutorial.net/python-oop/python-str/