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

相关推荐
IDZSY043014 分钟前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
七七powerful31 分钟前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
水星梦月35 分钟前
大白话讲解AI/LLM核心概念
人工智能
温九味闻醉1 小时前
关于腾讯广告算法大赛2025项目分析1 - dataset.py
人工智能·算法·机器学习
White-Legend1 小时前
第三波GPT5.4 日400刀
人工智能·ai编程
. . . . .1 小时前
Claude Code Hooks的原理、触发执行机制以及如何编写 Hooks
人工智能
w_t_y_y1 小时前
codex(一)下载安装&使用
人工智能
李昊哲小课1 小时前
第1章-PySide6 基础认知与环境配置
python·pyqt·pyside
唐兴通个人1 小时前
唐兴通应邀为平安财产险北京分公司高层主讲《新媒体营销》专项培训,引领保险业AI时代内容营销变革
人工智能