Python_面向对象
'''
1、面向对象概念
2、类型定义
    2.0、继承(多态)
    2.1、类属性(类变量)定义
    2.2、实例属性(实例变量)定义
    2.3、构造方法的定义以及作用
    2.4、实例方法的定义【参数】
    2.5、私有化属性 【实现原理】
    2.6、__slots__属性声明限制
    2.7、类的专有方法的重写(定制类)【init、str、len、next、enter、exit、del】
3、类型实例(生产对象)
    3.1、(封装)
    3.2、对象的信息获取(dir、hasattr、getattr、setattr、type、isinatance)【多态】
    3.3、*对象的属性使用(增加、删除、修改、查询)
    3.4、*实例属性与类属性的区别与联系
    3.5、实例方法的调用
    3.6、类属性的使用
'''
#例子一
class Cat(object): '''这是个猫类型的声明 包含属性有(name,age,color,pz) 拥有的方法有(move、eat、speak)''' #__slots__=('name','age','color','pz') def __init__(self,name,age,color,pz): self.name,self.age,self.color,self.pz=name,age,color,pz def move(self,*node): for x in node: print('%s位置->'%x ,end='') print() def eat(self,food): print('我在吃%s'%food) def speak(self,number): print('喵'*number) a=Cat('花花',8,'花','龙猫') a.name='小花' print(a.name) dir(a) print(type(a)) print(isinstance(a,Cat)) a.move('钟楼','小寨','高新','长安') a.eat('鱼') a.speak(5)
#例子2向量类型的简单声明
class V(object): def __init__(self,*p): self.value=[] for x in p: if type(x)==type(1) or type(x)==type(0.1): self.value.append(x) elif x.isdigit():self.value.append(int(x)) def __add__(self,other): a=len(self.value) b=len(other.value) l=eval(str(other.value)) #eval是取出字符串里面的内容 mix=self.value if a>b: a=b l=eval(str(self.value)) mix=other.value for i in range(a): l[i]=l[i]+mix[i] # l=V(*l) #实例化, return l def __str__(self): return str(self.value) a=V(1,2,3,4,5,6,7) b=V(1,2,3) c=a+b print(c) print(c.value)
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号