Python基础知识(Day 8)——对象学习

这篇博客详细介绍了Python面向对象编程的基础知识,包括对象、私有属性和方法、@property装饰器、继承、多态、特殊方法重载等概念。讲解了如何使用dir()查看对象属性、重写str()方法,以及深入探讨了MRO、super()和多态的应用。同时,还提到了对象的浅拷贝与深拷贝、组合设计模式以及工厂和单例模式的实现。
摘要由CSDN通过智能技术生成

一切都是对象

私有属性和私有方法(实现封装)

Python 对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法,有如下要点:

  1. 通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。
  2. 类内部可以访问私有属性(方法)
  3. 类外部不能直接访问私有属性(方法)
  4. 类外部可以通过“_类名 私有属性(方法)名”访问私有属性(方法)

@property 装饰器

@property 主要用于帮助我们处理属性的读操作、写操作

class Employee:                      
    def __init__(self,name,salary):  
        self._name = name            
        self._salary = salary        
                                     
    @property                        
    def salary(self):                
        return self._salary          
                                     
    @salary.setter                   
    def salary(self,salary):         
        if 100<salary<40000:         
            self._salary = salary    
        else:                        
            print("录入有误")            
                                     
emp1 = Employee("团子",30000)          
print(emp1.salary)                   
emp1.salary = 4000                   
print(emp1.salary)     


30000
4000
              

第 6 章(2) 面向对象进阶

面向对象三大特征介绍

Python 是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。

继承

Python 支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:

         class 子类类名(父类 1[,父类 2,...]):

                类体

如果在类定义中没有指定父类,则默认父类是 object 类。

定义子类时,必须在其构造函数中调用父类的构造函数。调用格式如下:  

         父类名. init (self, 参数列表)

类成员的继承和重写

  1. 成员继承:子类继承了父类除构造方法之外的所有成员。
  2. 方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也称为“重写”

查看类的继承层次结构

通过类的方法 mro()或者类的属性 mro 可以输出这个类的继承层次结构。

        object 根类

        dir()查看对象属性

重写  </

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值