1.绑定方法 只能通过对象调用
class Foo(object):
def f1(self):
print('f1')
@staticmethod
def f2():
print('f2')
obj = Foo()
obj.f1()
obj.f2()
Foo.f2()
2. 对象作为参数
class Department(object):
def __init__(self,title):
self.title = title
class Person(object):
def __init__(self,name,age,depart):
self.name = name
self.age = age
self.depart = depart
d1 = Department('人事部')
d2 = Department('销售部')
p1 = Person('gao',18,d1)
p2 = Person('bang',18,d1)
p3 = Person('chen',19,d2)
print(p1.name)
print(p2.age)
print(p3.depart)
print(p3.depart.title)
3.super(Foo,self).__init__
(name):初始化覆盖问题
class Base(object):
def __init__(self, name):
self.name = name
class Foo(Base):
def __init__(self, name):
super().__init__(name)
self.name = "于大爷"
obj1 = Foo("gao")
print(obj1.name)
obj2 = Base("bang")
print(obj2.name)
class Foo(Base):
def __init__(self, name):
self.name = "于大爷"
super().__init__(name)
obj1 = Foo("gao")
print(obj1.name)
obj2 = Base("bang")
print(obj2.name)