面向对象

               **## 面向对象 ##**

1 定义类

语法:
class ClassName:

实例:

    class My:     //声明一个My的类
        name="李"    //定义个name的属性
    x=My()   //实例化类
    print("我的名字叫",x.name)//访问My类中的属性和方法

2 构造方法

def __init__(self):
    self.data = []
  • 无参构造方法
    class My: //定义个方法体
    def hello(self): //定义无参构造方法
        return 'Hello python'
x = My() //将方法体实例
print(x.hello()) //输出构造方法
  • 有参构造方法
class Complex://声明一个方法体
    name=None
    age=None
    def __init__(self, s, i): //定义一个带参构造方法
        self.name = s
        self.age = i
x = Complex("李", 17)//将方法体实例
print("我姓",x.name,"今年",x.age,"岁了")// 输出结果:我姓 李 今年 17 岁了

3 继承
继承可以减少代码量
继承:一个子类可以继承多个父类

class M1://声明一个M1方法
    name = None //声明一个name属性
class M2://声明一个M2方法
    age = None//声明一个age属性
      def sell(s)://定义构造方法
        print("我是谁?")
class My(M1,M2): //用My方法继承M1和M2
    def __init__(self,n,a)://定义构造方法
        self.name=n
        self.age=a
    def shuo(s):  //覆盖构造方法
        print("我姓%s,今年%d岁了" %(s.name,s.age))//输出
M=My("李",17)//赋值
M.shuo()//执行输出

私有属性:
属性开头加 __就可使属性成为私有的属性,不能在类的外部被使用或直接访问。

__name="li"

类的专有方法:

  • init : 构造函数,在生成对象时调用
  • del : 析构函数,释放对象时使用
  • repr : 打印,转换
  • setitem : 按照索引赋值
  • getitem: 按照索引获取值
  • len: 获得长度
  • cmp: 比较运算
  • call: 函数调用
  • add: 加运算
  • sub: 减运算
  • mul: 乘运算
  • div: 除运算
  • mod: 求余运算
  • pow: 称方
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值