苦练Python第42天:Python类(Class)初探,面向对象编程入门

前言

大家好,我是 倔强青铜三 。欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!

欢迎来到 苦练Python第 42 天

今天我们将深入Python面向对象编程的核心------类(Class)。从基础定义到实例操作,一站式掌握类的核心用法!

🧩 类是什么?

类(Class) 是把数据(属性)和功能(方法)绑定在一起的蓝图。创建类即创建新的对象类型,通过类可以生成多个实例(Instance):

python 复制代码
class Dog:  # 类定义
    kind = 'canine'  # 类属性(所有实例共享)
    
    def __init__(self, name):  # 初始化方法
        self.name = name  # 实例属性(每个实例独有)
    
    def bark(self):  # 实例方法
        print(f"{self.name}: 汪汪!")

# 创建实例
d = Dog("旺财")
d.bark()  # 输出:旺财: 汪汪!

🔧 类定义与实例化

基础类定义

python 复制代码
class ClassName:
    """类文档字符串"""
    class_attr = value  # 类属性
    
    def __init__(self, arg):
        self.instance_attr = arg  # 实例属性
        
    def method(self):  # 方法
        return "功能实现"

__init__:特殊构造方法,实例化时自动调用

self:指向实例自身的引用(约定命名)

实例化对象

python 复制代码
class MyClass:
    count = 0  # 类属性
    
    def __init__(self, value):
        self.value = value  # 实例属性

# 创建实例
obj = MyClass(10) 
print(obj.value)  # 10

🧪 实例操作与调用

实例属性操作

python 复制代码
obj = MyClass(10)
obj.value = 20  # 修改属性
obj.new_attr = 5  # 动态添加属性(Python特色!)

方法调用机制

python 复制代码
class Calculator:
    def add(self, a, b):
        return a + b

calc = Calculator()
result = calc.add(3, 5)  
# 实际调用:Calculator.add(calc, 3, 5)
print(result)  # 8

方法可赋值给变量延迟调用:

python 复制代码
func = calc.add
print(func(2, 3))  # 5

⚠️ 关键特性与陷阱

类变量 vs 实例变量

python 复制代码
class Dog:
    tricks = []  # ❌ 错误!所有实例共享
    
    def __init__(self, name):
        self.name = name
        self.tricks = []  # ✅ 正确!独立列表

d1 = Dog("A")
d1.tricks.append("翻滚")
d2 = Dog("B")
print(d2.tricks)  # [] (独立列表)

属性查找优先级

python 复制代码
class Warehouse:
    region = "west"  # 类属性

w = Warehouse()
w.region = "east"  # 实例属性
print(w.region)  # "east"(实例>类)

动态特性

python 复制代码
# 动态添加类属性
MyClass.new_attr = 100  

# 动态添加方法
def external_func(self):
    return "外部函数"
MyClass.ext_method = external_func

🧾 类操作速查表

​操作类型​ ​示例代码​
基础类定义 class MyClass: ...
构造方法 def __init__(self, arg): ...
实例化对象 obj = MyClass()
调用实例方法 obj.method()
类属性访问 MyClass.attr
实例属性访问 obj.attr
动态添加属性 obj.new_attr = value

💡 核心总结一句话

类是数据和行为的绑定器,self是实例的身份证,实例属性 > 类属性,动态修改是Python的超级能力!
最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎 点赞收藏关注,一键三连!

相关推荐
小龙报1 分钟前
《赋能AI解锁Coze智能体搭建核心技能(1)--- 初识coze》
人工智能·语言模型·数据分析·交互·文心一言·机器翻译·coze
love530love15 分钟前
【笔记】Podman Desktop 部署 开源数字人 HeyGem.ai
人工智能·windows·笔记·python·容器·开源·podman
CoookeCola23 分钟前
开源图像与视频过曝检测工具:HSV色彩空间分析与时序平滑处理技术详解
人工智能·深度学习·算法·目标检测·计算机视觉·开源·音视频
董厂长27 分钟前
综述:deepSeek-OCR,paddle-OCR,VLM
人工智能·计算机视觉
gfdgd xi34 分钟前
deepin 终端,但是版本是 deepin 15 的
linux·python·架构·ssh·bash·shell·deepin
禁默35 分钟前
基于金仓KFS工具,破解多数据并存,浙人医改造实战医疗信创
数据库·人工智能·金仓数据库
云卓SKYDROID41 分钟前
无人机动力学模块技术要点与难点
人工智能·无人机·材质·高科技·云卓科技
王六岁42 分钟前
🐍 前端开发 0 基础学 Python 入门指南:条件语句篇
前端·python
java1234_小锋42 分钟前
PyTorch2 Python深度学习 - 初识PyTorch2,实现一个简单的线性神经网络
开发语言·python·深度学习·pytorch2
胡萝卜3.043 分钟前
C++面向对象继承全面解析:不能被继承的类、多继承、菱形虚拟继承与设计模式实践
开发语言·c++·人工智能·stl·继承·菱形继承·组合vs继承