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