大家好,我对使用Python进行分类有一个快速的问题。我有一个脚本,可提取区域中的房屋清单并收集
每个房子的数据并将其保存在文件中。
为简便起见,在示例代码中,我们假定已经通过声明data
个对象的list
来检索House
,并且save_file()
函数仅打印数据:app.py
文件是:
from save_data import save_file
class House:
def __init__(self, year_built, sqft):
self.year_built = year_built
self.sqft = sqft
house_one = House('2010', '2340')
house_two = House('2014', '4340')
house_list = [house_one, house_two]
save_file(house_list)
save_data.py
文件是:def save_file(final_list):
for house in final_list:
print(house.year_built)
print(house.sqft)
这很完美,但是我想知道当我在IDE(PyCharm)中编辑
save_data.py
文件时,键入house.
时它不会加载House
类变量,因为app.py
尚未运行。例如,如果我在house
文件中键入.
,然后键入app.py
,它将显示类变量。我实际的
House
类有25个以上的变量,并且很难记住所有名称,如果我只在house.
文件中键入save_data.py
,那么IDE可以加载这些名称将非常方便。无论如何,我可以将House类从
app.py
文件导入到save_data.py
文件和/或在类型house
的代码for house in final_list
中声明House
以获得此功能吗? 最佳答案
可以通过注释中提到的类型提示来实现:
from typing import List
from app import House
def save_file(final_list: List[House]):
for house in final_list:
print(house.year_built)
print(house.sqft)
关于python - 有没有办法在不同模块之间传递Python中的Class对象并保留 namespace ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58225047/