苦练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的超级能力!
最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎 点赞收藏关注,一键三连!

相关推荐
Black蜡笔小新11 小时前
企业AI算力工作站DLTM深度学习推理工作站零代码私有化重塑企业AI落地新模式
人工智能·深度学习
IT知识分享11 小时前
从零开发在线简繁转换工具:OpenCC 实战、避坑经验与方案选型
javascript·python
2601_9594801511 小时前
Moneta Markets亿汇:“比特币反弹走势仍脆弱”
人工智能
swipe11 小时前
别再把关系库和向量库拆开了:PostgreSQL 搭建 AI 长期记忆层实战
面试·langchain·llm
lunzi_082611 小时前
【学习笔记】《Python编程 从入门到实践》第8章:函数定义、参数传递与模块导入
笔记·python·学习
没事别瞎琢磨11 小时前
六、输出捕获与截断
人工智能·node.js
嘉子的秃头日记11 小时前
TRO 2026|轮椅也能“猜到”用户想往哪走?
大数据·人工智能·机器学习
杨运交11 小时前
[030][Web模块]Spring Boot 验证与 OpenAPI 集成实战:从校验规则到文档生成
前端·spring boot·python
2601_9571909011 小时前
极致裸眼沉浸!飞行影院重塑文旅游玩新体验
大数据·人工智能·旅游
Meinianda11 小时前
我用Agent 使用瑞幸官方MCP下了一单:过程全记录,优缺点分析
人工智能