一、Python 面相对象核心概念
Python 语言是一种面向对象的语言 , 对应的几个 面向对象核心概念 如下 :
- 类 : 类是一种 Python 数据和行为模板 , 在类中定义了一组属性和方法 , 根据类可以创建对象的实例 ; 类可以用来抽象和封装,使得代码更加模块化和可维护 ;
- 对象 : 在 Python 中 , 对象是指 数据 和 操作 的集合 , 是程序中的基本元素 ; 对象在程序中被广泛使用 , 如 : 变量 / 函数 / 类 都是对象 ; Python 中的一切都是对象,包括数字、字符串、列表、函数等等 ; 对象是程序的基本元素 , 它们包含了数据和操作 ; Python 对象由如下特点 :
- 动态性 : 可以随时改变。
- 独立性 : 一个对象的行为不会影响其他对象。
- 作用域 : 可以在程序的不同部分被访问。
- 访问对象 : 通过引用访问 : 引用类似于指针 ;
- 访问对象成员 : 通过
.
符号访问对象的 属性和方法 ;
- 封装 : 通过封装机制 , 可以将数据和方法封装在类内部 , 防止外部访问 ;
- 继承 : 通过继承机制 , 可以从一个类继承到另一个类的属性和方法 , 使得子类可以重用父类的代码 , 同时可以添加自己的属性和方法 ;
- 多态 : 多态现象 指的是不同的对象对同一消息做出不同的响应 ; Python 中通过如下手段实现多态 :
- 方法重载
- 动态绑定
使用 Python 进行面向对象编程可以让代码更加模块化和可维护,同时也可以提高代码的重用性和可扩展性。
二、Python 面向对象示例
定义 Python 类 : 使用 class 关键字可定义 Python 类 ;
代码语言:javascript复制# 定义 Python 类
class Student:
name = "Tom"
age = 18
创建 Python 对象 : 每个对象都在内存中占有一份数据 ;
代码语言:javascript复制# 创建对象
s1 = Student()
s2 = Student()
访问对象成员 : 通过 对象.成员 的方式 , 访问对象成员 ;
代码语言:javascript复制# 访问对象成员
s1.name = "Tom"
s1.age = 18
在下面的代码中 , 使用 class 关键字 , 定义了 Student 类 ;
在其中定义了两个成员 , name 和 age , 如果不设置初始值 , 可以先为其赋值 None 值 ;
使用 类名()
可以创建该类的对象 ;
通过 对象.成员
可以访问对象的成员变量和成员方法 ;
完整代码示例 :
代码语言:javascript复制"""
面向对象
"""
# 定义 Python 类
class Student:
name = None
age = None
# 创建对象
s1 = Student()
s2 = Student()
# 访问对象成员
s1.name = "Tom"
s1.age = 18
s2.name = "Jerry"
s2.age = 16
print(f"{s1.name} : {s1.age}")
print(f"{s2.name} : {s2.age}")
执行结果 :
代码语言:javascript复制Y: 02_WorkSpacePycharmProjectspythonProjectvenvScriptspython.exe Y:/002_WorkSpace/PycharmProjects/HelloPython/hello.py
Tom : 18
Jerry : 16
Process finished with exit code 0