Python面向对象浅析

目录

面向对象基本概念

一、类和对象

类和对象是面向对象骗程的两个核心概念。

在程序开发中,要设计一个类,通常需要满足一下三个要素:

self详解:

对象(Object)

魔法方法:

类里的一些特殊方法

__init__和__del__方法:

repr__和__str

运算符的相关魔法方法:

__eq__方法

类属性和对象属性

简单理解:类属性是整个类共有的属性,对象属性是每个对象实例的属性,类属性的值每个对象都一样,而对象属性的值每个对象各不相同。

私有属性和方法

获取私有属性的方法:

静态方法和类方法:

静态方法和类方法均可通过实例和类调用

单例模式

二、封装(Encapsulation)

三、继承(Inheritance)

父类中的私有方法和私有属性

四、多态(Polymorphism)

五、总结


面向对象基本概念

在编程领域,面向对象编程(OOP)是一种广泛使用的编程范式,它通过创建对象来模拟现实世界中的实体及其交互。Python作为一种高级编程语言,内置了对面向对象编程的全面支持,使得开发者能够轻松构建复杂且易于维护的应用程序。本文将详细探讨Python中的面向对象编程,包括类、对象、封装、继承和多态等核心概念。

一、类和对象

类和对象是面向对象骗程的两个核心概念。

类(Class)
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用.

类是创建对象的蓝图或模板,它定义了对象所具有的属性和方法。属性是对象的特征(如颜色、大小),而方法是对象能够执行的操作(如走、跑、叫)。

在程序开发中,要设计一个类,通常需要满足一下三个要素:

  • 1.类名:这类事物的名字,按照大驼峰命名法(每个单词的首字母大写)起名。
  • 2.属性:这类事物具有什么样的特征。
  • 3.方法:这类事物具有什么样的行为。
class Dog:  
    def __init__(self, name, age):  
        self.name = name  # 实例变量  
        self.age = age  
  
    def bark(self):  
        print(f"{self.name} is barking.")

在这个例子中,Dog是一个类,它有两个实例变量nameage,以及一个方法bark__init__方法是一个特殊的方法,被称为类的构造函数或初始化方法,当创建类的新实例时自动调用。

self详解:

哪个对象调用了方法,方法里的self 指的就是谁。通过self.属性名可以访问到这个对象的属性;通过self.方法名()可以调用这个对象的方法。

 代码举例:

class Student(object):#这里的object表示Student继承自object类
    def __init__(self,x,y):
        self.name=x
        self.age=y
    def say_hello(self):
        print('大家好,我是',self.name)
#Student('张三',18)这段代码具体做了什么呢?
#1.调用__new__方法,用来申请内存空间
#2.调用__init__方法传入参数,将self指向创建好的内存空间,填充数据
#3.变量s1也指向创建好的内存空间
s1=Student('张三',18)
s1.say_hello()
s2=Student('李四',18)
s2.say_hello()

 结果:

大家好,我是 张三
大家好,我是 李四

对象(Object)

对象是类的实例。通过类可以创建多个具有相同属性和方法的对象,但每个对象的属性值可能不同。

d1 = Dog("Buddy", 3)  
d2 = Dog("Max", 5)  
  
d1.bark()  # 输出: Buddy is barking.  
d2.bark()  # 输出: Max is barking.

魔法方法:

类里的一些特殊方法

 # 特点:
#1.不需要手动调用,会在合适的时机自动调用

#2、这些方法,都是使用开始,使用结束#3.方法名都是系统规定好的,在合适的时机自己调用

__init__和__del__方法:

__init__创建对象时会自动调用
__del__当对象被销毁时,会自动调用这个方法

class Person(object):
    def __init__(self,name,age):
        #在创建对象时,会自动调用这个方法
        print('__init__方法被调用了')
        self.name=name
        self.age=age
    def __del__(self):
        #当对象被销毁时会自动调用这个方法
        print('__del__方法被调用了')
p=Person('张三',18)
del p

结果:

 __init__方法被调用了
__del__方法被调用了

repr__和__str

当打印一个对象时,会调用这个对象的__repr__或__str__方法&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值