python實例屬性,類屬性,實例名,和類名的傳遞


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())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM