20-作业-面向对象
- 
简述面向对象三大特性并用代码表示。
 - 
什么是鸭子模型?
 - 
列举面向对象中的类成员和对象成员。
 - 
@methodclass和@staticmethod的区别?
 - 
Python中双下滑 __ 有什么作用?
 - 
看代码写结果
class Base: x = 1 obj = Base() print(obj.x) obj.y = 123 print(obj.y) obj.x = 123 print(obj.x) print(Base.x) - 
看代码写结果
class Parent: x = 1 class Child1(Parent): pass class Child2(Parent): pass print(Parent.x,Child1.x,Child2.x) Child2.x = 2 print(Parent.x,Child1.x,Child2.x) Child1.x = 3 print(Parent.x,Child1.x,Child2.x) - 
看代码写结果
class Foo(object): n1 = '武沛齐' n2 = '金老板' def __init__(self): self.n1 = '女神' obj = Foo() print(obj.n1) print(obj.n2) - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): n1 = '武沛齐' def __init__(self,name): self.n2 = name obj = Foo('太白') print(obj.n1) print(obj.n2) print(Foo.n1) print(Foo.n2) - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
 
class Foo(object):
    a1 = 1
    __a2 = 2
    
    def __init__(self,num):
        self.num = num
        self.__salary = 1000
        
     def show_data(self):
         print(self.num+self.a1)
    
obj = Foo(666)
print(obj.num)
print(obj.a1)
print(obj.__salary)
print(obj.__a2)
print(Foo.a1)
print(Foo.__a2)
- 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): a1 = 1 def __init__(self,num): self.num = num def show_data(self): print(self.num+self.a1) obj1 = Foo(666) obj1 = Foo(999) print(obj1.num) print(obj1.a1) obj1.num = 18 obj1.a1 = 99 print(obj1.num) print(obj1.a1) print(obj2.a1) print(obj2.num) print(obj2.num) print(Foo.a1) print(obj1.a1) - 
看代码写结果,注意返回值。
class Foo(object): def f1(self): return 999 def f2(self): v = self.f1() print('f2') return v def f3(self): print('f3') return self.f2() def run(self): result = self.f3() print(result) obj = Foo() v1 = obj.run() print(v1) - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): def f1(self): print('f1') @staticmethod def f2(): print('f2') obj = Foo() obj.f1() obj.f2() Foo.f1() Foo.f2() - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): def f1(self): print('f1') @classmethod def f2(cls): print('f2') obj = Foo() obj.f1() obj.f2() Foo.f1() Foo.f2() - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): def f1(self): print('f1') self.f2() self.f3() @classmethod def f2(cls): print('f2') @staticmethod def f3(): print('f3') obj = Foo() obj.f1() - 
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Base(object): @classmethod def f2(cls): print('f2') @staticmethod def f3(): print('f3') class Foo(object): def f1(self): print('f1') self.f2() self.f3() obj = Foo() obj.f1() - 
看代码写结果
class Foo(object): def __init__(self, num): self.num = num v1 = [Foo for i in range(10)] v2 = [Foo(5) for i in range(10)] v3 = [Foo(i) for i in range(10)] print(v1) print(v2) print(v3) - 
看代码写结果
class StarkConfig(object): def __init__(self, num): self.num = num def changelist(self, request): print(self.num, request) config_obj_list = [StarkConfig(1), StarkConfig(2), StarkConfig(3)] for item in config_obj_list: print(item.num) - 
看代码写结果
class StarkConfig(object): def __init__(self, num): self.num = num def changelist(self, request): print(self.num, request) config_obj_list = [StarkConfig(1), StarkConfig(2), StarkConfig(3)] for item in config_obj_list: item.changelist(666) - 
看代码写结果
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('武沛齐',18,d1) p2 = Person('alex',18,d1) p3 = Person('安安',19,d2) print(p1.name) print(p2.age) print(p3.depart) print(p3.depart.title) - 
看代码写结果
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 def message(self): msg = "我是%s,年龄%s,属于%s" %(self.name,self.age,self.depart.title) print(msg) d1 = Department('人事部') d2 = Department('销售部') p1 = Person('武沛齐',18,d1) p2 = Person('alex',18,d1) p1.message() p2.message() - 
编写类完成以下的嵌套关系
""" 角色:学校、课程、班级 要求: 1. 创建北京、上海、深圳三所学校。 2. 创建课程 北京有三种课程:Linux、Python、Go 上海有两种课程:Linux、Python 深圳有一种课程:Python 3. 创建班级(班级包含:班级名称、开班时间、结课时间、班级人数) 北京Python开设:21期、22期 北京Linux开设:2期、3期 北京Go开设:1期、2期 上海Python开设:1期、2期 上海Linux开设:2期 深圳Python开设:1期、2期 """ 
预习
- 对象之间的嵌套关系
 - 异常处理
 - 类中的特殊成员:call 等
 
作者: do康解U
出处: https://www.cnblogs.com/David-domain/>
关于作者:专注数据库、Python 开发、ROS、深度学习,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(iamkuboy@163.com)咨询.
                    
                
                
            
        
浙公网安备 33010602011771号