当前位置: 首页 > news >正文

python中的面对对象

目录

一、面向对象

对象

二、构造函数 

总结:

​编辑 


一、面向对象

面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,Python是一种支持面向对象编程的多范式编程语言。在Python中,一切皆为对象,每个对象都拥有属性(attributes)和方法(methods),并且可以被其他对象调用或操作。

在Python中,通过定义类(class)来创建对象。类是对象的模板,描述了对象的属性和行为。

以下是一个简单的例子来说明Python中面向对象编程的基本概念:

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print(f"{self.name} is barking!")# 创建一个Dog对象实例
my_dog = Dog("Buddy", 3)# 调用对象的方法
my_dog.bark()

在这个例子中,Dog是一个类,my_dog是一个Dog类的对象实例。Dog类有一个__init__方法用来初始化对象的属性,定义了nameage属性。Dog类还有一个bark方法,用来让狗叫。通过调用对象的方法,我们可以让狗叫出声来。

 

在Python中,类(class)是用来创建对象的蓝图或模板。类定义了对象的属性和方法。通过类,可以创建多个具有相同属性和方法的对象。

 拓展:

 

在Python中定义一个类的语法如下:

class ClassName:# 属性和方法的定义def __init__(self, parameter1, parameter2):self.parameter1 = parameter1self.parameter2 = parameter2def method_name(self):# 方法实现

在类中,__init__ 方法是一个特殊的方法,用来初始化对象的属性。类中定义的方法可以访问对象的属性,并对其进行操作。类的对象可以通过实例化的方式来创建:

object_name = ClassName(value1, value2)

通过类的继承,可以创建子类,子类可以继承父类的属性和方法,并可以重写父类的方法或添加新的方法。

class ChildClassName(ParentClassName):# 子类的属性和方法定义

对象

在Python中,面向对象编程中的对象指的是类的实例。在面向对象编程中,我们通过定义类来创建对象,对象是类的实例,可以访问类中定义的属性和方法。

举个例子,假设我们有一个类表示动物:

class Animal:def __init__(self, name):self.name = namedef speak(self):print(f"{self.name} makes a sound")

然后我们创建该类的实例对象:

dog = Animal("Dog")
cat = Animal("Cat")

在这里,dogcat就是Animal类的实例对象。我们可以通过对象访问类中定义的属性和方法,如:

print(dog.name)  # 输出: Dog
dog.speak()      # 输出: Dog makes a soundprint(cat.name)  # 输出: Cat
cat.speak()      # 输出: Cat makes a sound

因此,在Python中,对象是类的实例,我们可以通过对象来访问类中的属性和方法。

 

类属性和实例属性: 

在Python中,类属性是类的所有实例共享的属性,可以通过类名直接访问和修改。实例属性是类的实例所拥有的属性,每个实例都有自己独立的实例属性副本。当实例属性与类属性同名时,实例属性会覆盖类属性。

下面是一个简单的示例代码来说明类属性和实例属性的概念:

class Person:# 类属性species = "Human"def __init__(self, name):# 实例属性self.name = name# 访问类属性
print(Person.species)  # 输出: Human# 创建实例
person1 = Person("Alice")
person2 = Person("Bob")# 访问实例属性
print(person1.name)  # 输出: Alice
print(person2.name)  # 输出: Bob# 修改类属性
Person.species = "Homo sapiens"
print(Person.species)  # 输出: Homo sapiens# 实例属性覆盖类属性
person1.species = "Person"
print(person1.species)  # 输出: Person
print(Person.species)  # 输出: Homo sapiens

在上面的示例中,species是类属性,name是实例属性。当修改类属性时,所有实例都会受到影响;而实例属性则是每个实例独立拥有的。

二、构造函数 

在 Python 中,构造函数是一种特殊的方法,用于初始化一个类的实例。构造函数的名称是__init__(),在创建一个对象时自动调用。构造函数通常用于设置对象的初始状态,可以接受参数并将其保存为类的属性。

以下是一个简单的示例:

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson1 = Person("Alice", 30)
print(person1.name)  # 输出 Alice
print(person1.age)   # 输出 30

在这个示例中,__init__()方法接受nameage两个参数,并将它们保存为Person类的属性。当创建Person类的实例person1时,构造函数会自动调用,从而初始化person1对象的属性。

总结:

 


http://www.mrgr.cn/news/96083.html

相关文章:

  • springboot在feign和线程池中使用TraceId日志链路追踪(最终版)-2
  • string 的接口
  • 【MySQL篇】DEPENDENT SUBQUERY(依赖性子查询)优化:从百秒到秒级响应的四种优化办法
  • mysql增、删、改和单表查询多表查询
  • C++ 异常
  • RAG(Retrieval-Augmented Generation)基建之PDF解析的“魔法”与“陷阱”
  • EF Core 执行原生SQL语句
  • 每天认识一个设计模式-建造者模式:复杂对象的“装配式革命“
  • 05.AI搭建preparationの(transformers01)BertTokenizer实现分词编码
  • EMC知识学习一
  • 2.7 进度控制习题-2
  • 【AI学习】Transformer 模型
  • ffmpeg+QOpenGLWidget显示视频
  • Microi吾码界面设计引擎之基础组件用法大全【内置组件篇·上】
  • Deepseek API+Python 测试用例一键生成与导出 V1.0.4 (接口文档生成接口测试用例保姆级教程)
  • 深度学习框架PyTorch——从入门到精通(10)PyTorch张量简介
  • Windows命令提示符(CMD) 中切换目录主要通过 cd(Change Directory)命令实现
  • WPF InkCanvas 控件详解
  • package.json版本前缀
  • 零拷贝原理面试回答(参考小林Coding)