python-面向对象基础

python-面向对象基础

一.类名:满足大驼峰命名法

备注大驼峰命名法:1.每个单词首字母大写 2.单词与单词之间没有下划线

二.dir 内置函数

——方法名——格式的方法是python提供的内置方法/属性

self:哪一个对象调用的方法,self就是那个对象的引用。类似于java中的this

——init——:专门用来定义一个类具有哪些属性,一般使用参数设置属性初始值

class Cat:

    def __init__(self, name):
        self.name = name

——del——:当一个对象被从内存中销毁时,会自动调用该方法

应用场景:如果希望在对象被销毁前,再做一些事情,可以考虑一下该方法

——str——:如果在开发中,希望使用print输出对象变量时,能够打印自定义的内容,就可以使用该方法 (java中的toString方法)

注意:——str——方法必须返回一个字符串

定义没有初始值的属性:

在定义属性时,如果不知道设置什么初始值,可以设置为None

  • None关键字表示什么都没有
  • 可以表示一个空对象,没有属性和方法,是一个特殊的常量
  • 可以将None赋值给任何一个变量

身份运算符:

is: 判断引用地址和值相等

is not:相反

is 与 == 的区别

is判断引用地址和值是否相等

== 判断值是否相等

可以使用is来判断None

方法的重写:

1.覆盖父类方法,在子类中定义一个和父类同名的方法并实现

2.对父类方法进行扩展

  • 如果在开发中,子类的方法实现中包含父类的方法实现就可以使用扩展的方式
    • 在子类中重写父类的方法
    • 在需要的位置使用super().父类方法来调用父类方法的执行
    • 在代码其他的位置针对子类的需求,编写子类特有的代码实现

关于super:

在python中super是一个特殊的类

super()就是使用super类创建出来的对象

最常使用的场景就是在重写父类方法时,调用在父类中封装的方法实现

私有属性和方法:

——属性

——方法

在继承中,子类对象不能直接访问父类私有属性和方法

但可以通过父类方法间接访问

继承:可以单继承和多继承

多态:

类属性:

定义:可以用=赋值完成

访问类属性有两种方式:

1.类名.类属性

2.对象.类属性(不推荐)

注意:如果使用 对象.类属性 = 赋值语句,只会给实例对象添加一个属性,而不会影响到类属性的值

类方法:

语法:

@classmethod

def 类方法名(cls):

​ pass

两点要注意:

1.要加@classmethod装饰器

2.类方法的第一的参数要是cls

通过类名.类方法调用,不需要传递cls参数

在类的内部

  • 可以通过cls.类属性,访问类属性
  • 也可以通过cls.方法,调用其他的类方法

静态方法:

  • 既不需要访问实例属性或者调用实例方法
  • 也不需要访问类属性或者调用类方法

这个时候,可以把这个方法封装成一个静态方法

语法:

@staticmethod

def 静态方法名():

​ pass

通过类名.静态方法名 来调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值