python第一天

‘’’
python之面向对象
变量:
类变量:
实例变量:
self代表类的实例,不是关键字,换成其他的也能执行
定义一个类: class 类名:
构造方法: init(self,变量1,变量2,…)
类的方法:

‘’’
#定义一个父类
class D:

#定义属性
sex=''
age=''
#定义私有属性:在类外部无法直接访问
__weight=''
#定义构造函数
def __init__(self,sex,age,weight):
    self.sex=sex
    self.age=age
    self.__weight=weight
#定义方法
def description(self):
    print("%s出来,%s年龄,%s体重"%(self.sex,self.age,self.__weight))

def d(self):
    print(self)
    print(self.__class__)

#实例化类,调用类中的方法

dengjun=D(‘哈哈’,‘呵呵’,‘嘿嘿’)

dengjun.d()

dengjun.description()

‘’’
#继承–单继承

class 子类 ( 基类名称 ): 基类的顺序:方法在子类中未找到时,从左到右查找基类中是否包含方法
基类必须与派生类定义在同一个作用域内???
‘’’
class D1(D):
skill=’’
#定义子类的构造函数,调用父类的构造函数
def init(self,sex,age,weight,skill):
D.init(self,sex,age,weight)
self.skill=skill
#覆写父类的方法
def description(self):
print(‘参数都在构造函数中传递了,子类的方法覆盖了父类的方法’)

#定义一个子类的方法
def fuction1(self):
    print('这是D1类独有的方法哦!'+'%s:,%s:,%s:.'%(self.sex,self.age,self.skill))  #父类的私有属性是不能调用的

#实例化子类
d=D1(‘性别’,‘年龄’,‘体重’,‘技能’)
d.description()
d.fuction1()

#定义第二个父类
class E:
e1=0
e2=0
def init(self,e1,e2):
self.e1=e1
self.e2=e2
def description(self): #与D类相同方法名的方法
print(‘这是第%d个功能,这是第二个数字%d’%(self.e1,self.e2))

#多继承子类继承D、E类
class D2(D,E):
d2=’’
def init(self,d2,sex,age,weight,e1,e2):
D.init(self,sex,age,weight)
E.init(self,e1,e2)
self.d2=d2

#多继承的子类
d2=D2(‘这是多继子类的属性’,‘女’,‘18’,2,1,2)
d2.description() #父类中有相同名字的方法,优先调用左边父类的方法

#super(父类,实例名).方法名 调用父类被子类覆盖的方法

init : 构造函数,在生成对象时调用

del : 析构函数,释放对象时使用

repr : 打印,转换

setitem : 按照索引赋值

getitem: 按照索引获取值

len: 获得长度

cmp: 比较运算

call: 函数调用

add: 加运算

sub: 减运算

mul: 乘运算

truediv: 除运算

mod: 求余运算

pow: 乘方

运算符重载????

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值