python的實例屬性的傳遞
class School: def __init__(self, address): self.address = address bj = School('北京總部') sh = School('上海分部') sz = School('深圳分部') class Course(object): def __init__(self, name, period, price, school=None): ##只使用類的初始化構造方法,來初始化實例變量 self.name = name self.period = period self.price = price self.school = school py1 = Course('Python', 110, 19999, bj) #用到的是實例屬性的傳遞 py2 = Course('Python', 110, 19999, sh) py3 = Course('Python', 110, 19999, sz) l1 = Course('Linux', 110, 19999, bj) l2 = Course('Linux', 110, 19999, sh) g1 = Course('Go開發', 119, 19999, bj) class Grade(object): def __init__(self, name, people, introduce, course=None): self.name = name self.people = people self.introduce = introduce self.course = course gr1 = Grade('全棧1期',20,'....',py1) gr2 = Grade('全棧1期',20,'....',py2) gr3 = Grade('Linux8期',20,'....',l2) # gr1.people # gr1.course.price # gr1.course.school.address print(gr1.people) print(gr1.course.price) print(gr1.course.school.address)
只用類的初始化構造方法來創建實例屬性(也可以叫實例變量),在后面可以像變量一樣進行自由傳遞
類名/實例名 的傳遞
class Foo(object): def __init__(self,age): self.age = age def display(self): print(self.age) data_list = [Foo(8),Foo(9)] #類名的傳遞,加括號實際上就成了實例名了 for item in data_list: print(item.display()) obj1=Foo(8) print(obj1.display())