python - 在 List 中访问对象类 Python
问题描述
我有一个关于从 python 的列表中访问对象类的问题,我将我的案例与堆栈溢出但没有用的问题进行了比较。我提出的问题如下
-
- 类 Booking 具有属性 start_date、end_date
from datetime import *
class Booking:
def __init__(self):
self.year = int(input("Enter the Year: "))
self.month = int(input("Enter the Month: "))
self.day = int(input("Enter the Day: "))
self.start_date = datetime.now()
self.end_date = datetime(self.year, self.month, self.day)
-
- 教室是抽象类
- 我创建一个
booking(list)
来存储在Booking
类初始化时初始化的Room
类的对象。
from abc import *
from booking import Booking
class Room(ABC):
bookings = []
def __init__(self, price, capacity):
self.booking = Booking()
self.price = price
self.capacity = capacity
self.bookings.append(self.booking)
@abstractmethod
def is_booked(self, start_date, end_date):
pass
-
SingleBed
继承Room(ABC)
价格 = 150 和容量 =2
from room import Room
class Singlebed(Room):
def __init__(self):
super(Singlebed, self).__init__(150, 2)
def is_booked(self, start_date, end_date):
if start_date >= end_date:
print("EndDate must be greater than StartDate")
is_Booked = False
for check_booking in self.bookings:
is_Booked = check_booking... (I wants to access objects.end_date in class Booking is saved in bookings)
single1 = Singlebed()
single2 = Singlebed()
single3 = Singlebed()
single4 = Singlebed()
single5 = Singlebed()
我的问题:如何访问使用 single1、single2、... 初始化的 object.end_date
解决方案
您正在遍历 self.bookings,因此“check_booking”是您的 Booking 实例,包含属性 start_date、end_date、year、month、day
def is_booked(self, start_date, end_date):
if start_date >= end_date:
print("EndDate must be greater than StartDate")
is_Booked = False
for check_booking in self.bookings:
is_Booked = check_booking.start_date
推荐阅读
- angular - 无法将点击事件添加到指令中动态加载的内容
- pytorch - 如何将 1x1 卷积作为分类层添加到 VGG?
- java - 局部变量初始化
- go - JSON1 支持 go-sqlite3 使用 gorm
- ansible - 如何在终端中查看 Ansible 文档?
- python - 如何将带有参数的函数作为参数传递给Python中的另一个函数?
- python - 从参数化 SQL 调用填充新的数据框列
- json - 如何在 Rails 中使用 Highchart 格式化程序?
- python - 在 ec2 实例上使用 python 脚本打开 Chrome 浏览器
- linux - 以秒为单位获取 ps aux 开始时间