python中面向对象基础内容整理

Python中的面向对象编程通过类和对象组织代码,核心包括封装、继承与多态。类是创建对象的模板,使用class定义,__init__()为构造方法,self指向实例。属性分实例属性(每个对象独立)和类属性(所有实例共享),方法含实例方法、类方法(@classmethod修饰,操作类)和静态方法(@staticmethod修饰,无默认参数)。封装通过下划线约定实现,_attr为受保护,__attr为私有;继承允许子类复用父类属性和方法,支持重写与多层继承;多态使不同类对同一方法调用产生不同响应,体现“鸭子类型”。特殊方法(魔术方法)如__str__、__repr__、__len__、__eq__等用于定制对象行为,提升可读性与功能性。掌握这些概念可写出结构清晰、易于维护的代码。

python中面向对象基础内容整理

Python中的面向对象编程(OOP)是一种程序设计方式,通过“类”和“对象”来组织代码,提升复用性和可维护性。核心思想是将数据和操作数据的方法封装在一起。以下是基础内容的系统整理。

类和对象

类(Class) 是创建对象的模板,定义了对象的属性和方法。对象(Object) 是类的具体实例。

定义类使用 class 关键字:

class Person:    def __init__(self, name, age):        self.name = name        self.age = age
def greet(self):    print(f"Hello, I'm {self.name}, {self.age} years old.")

创建对象

p1 = Person("Alice", 25)p1.greet() # 输出: Hello, I'm Alice, 25 years old.

__init__() 是构造方法,用于初始化对象属性。self 指向当前实例,必须作为第一个参数。

属性和方法

类中包含属性(数据)和方法(函数)。

实例属性:通过 self.属性名 定义,每个对象独立拥有类属性:在类中但不在方法内定义,所有实例共享实例方法:第一个参数为 self,操作实例数据类方法:用 @classmethod 装饰,第一个参数为 cls,操作类本身静态方法:用 @staticmethod 装饰,无默认参数,逻辑上相关但不依赖实例或类

示例:

立即学习“Python免费学习笔记(深入)”;

class Dog:    species = "Canis lupus"  # 类属性
def __init__(self, name):    self.name = name  # 实例属性@classmethoddef info(cls):    print(f"Species: {cls.species}")@staticmethoddef bark():    print("Woof!")

d = Dog("Buddy")d.info() # Species: Canis lupusDog.bark() # Woof!

封装、继承与多态

这是面向对象三大特性。

封装:隐藏内部实现细节,通过访问控制保护数据。Python 中以下划线约定访问级别:_attr:受保护成员(建议内部使用)__attr:私有成员(名称改写,外部难访问)

实际仍可访问,但体现设计意图。

继承:子类继承父类的属性和方法,实现代码复用

class Animal:    def speak(self):        pass

class Cat(Animal):def speak(self):print("Meow")

c = Cat()c.speak() # Meow

子类可重写父类方法,也支持多层继承。

多态:不同类的对象对同一方法调用做出不同响应。

def make_sound(animal):    animal.speak()

make_sound(Cat()) # Meowmake_sound(Dog()) # 需要实现 speak 方法

只要对象有 speak 方法,就能传入,体现“鸭子类型”。

特殊方法(魔术方法)

以双下划线开头和结尾的方法,用于定制类的行为。

__str__():返回对象的可读字符串表示,print() 时调用__repr__():返回对象的精确字符串表示,用于调试__len__():定义 len(obj) 的行为__eq__()__lt__() 等:定义比较操作

示例:

立即学习“Python免费学习笔记(深入)”;

class Book:    def __init__(self, title):        self.title = title
def __str__(self):    return f"Book: {self.title}"

b = Book("Python Basics")print(b) # Book: Python Basics

基本上就这些。掌握类定义、实例化、三大特性和常用魔术方法,就能写出结构清晰的面向对象代码。

以上就是python中面向对象基础内容整理的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月15日 00:38:52
下一篇 2025年12月15日 00:39:09

相关推荐

发表回复

登录后才能评论
关注微信