当前位置:首页>python>【Python小白速通】实例化对象?说白了就是"用模板造具体的东西"!

【Python小白速通】实例化对象?说白了就是"用模板造具体的东西"!

  • 2026-09-18 12:39:53
【Python小白速通】实例化对象?说白了就是"用模板造具体的东西"!

点击蓝字

关注我们

【Python小白速通】实例化对象?说白了就是"用模板造具体的东西"!

咱上回唠了"定义类"——像奶茶店造了"奶茶通用模板",规定了所有奶茶该有价格、甜度,能加加料、改甜度。但光有模板没用啊,总不能卖"模板"给顾客吧?得用模板做出一杯杯具体的奶茶,这就是实例化对象!

简单说,实例化对象就是"把类这个'模板'变成具体的东西",像用乐高图纸(类)拼出一个个乐高小人(对象),用蛋糕模具(类)烤出一块块蛋糕(对象),主打一个"从抽象到具体,从模板到实物"~

一、先唠透:啥是实例化对象?(纯人话版)

先掰碎了说,不整专业术语:

- 类(Class):通用模板,比如"奶茶类",只规定规则,不是具体的奶茶;

- 对象(Object):用模板造出来的具体东西,比如"一杯珍珠奶茶""一杯芋泥奶茶",也叫"类的实例";

- 实例化:把类变成对象的过程,比如用"奶茶类"造一杯珍珠奶茶,这个动作就是实例化。

举个栗子:你去奶茶店,墙上贴的"奶茶配方模板"是「类」,店员按这个模板给你做的"这一杯珍珠奶茶"就是「实例化后的对象」——模板能造无数杯奶茶,每一杯都是一个独立的对象,甜度、加料都能不一样~

二、实操!3步搞定实例化对象,小白也能秒会

实例化的核心:`对象名 = 类名(参数)`,咱还是用"奶茶类"举例,代码都标了"人话注释",复制就能跑~

第一步:先备好"模板"(定义类)

实例化的前提是有类,先把"奶茶模板"搭好,新手先记这个基础框架!

python

#定义"奶茶类"(模板):规定奶茶的属性和技能

class MilkTea:

    # 初始化方法:造奶茶时自动给属性赋值

    def __init__(self, taste, price=18, sugar=5):

        self.taste = taste  # 口味(珍珠/芋泥)

        self.price = price  # 价格

        self.sugar = sugar  # 甜度

    # 奶茶的技能:改无糖

    def change_to_no_sugar(self):

        self.sugar = 0

        print(f"✅ {self.taste}奶茶已改成无糖!")

    # 奶茶的技能:加加料(加3元)

    def add_topping(self, topping):

        self.price += 3

        print(f"✅ {self.taste}奶茶加了{topping},价格{self.price}元!")

第二步:核心操作——实例化对象(用模板造奶茶)

这是最关键的一步!就像店员按模板做第一杯具体的奶茶,一行代码搞定~

python

#实例化第1个对象:一杯珍珠奶茶(用默认价格18元、5分糖)

pearl_tea = MilkTea("珍珠")

#打印对象的属性:看看这杯奶茶的具体信息

print(f"🍵 你的第一杯奶茶:{pearl_tea.taste}味,{pearl_tea.price}元,{pearl_tea.sugar}分糖")

#实例化第2个对象:一杯芋泥奶茶(自定义价格20元、3分糖)

taro_tea = MilkTea("芋泥", price=20, sugar=3)

print(f"🍵 你的第二杯奶茶:{taro_tea.taste}味,{taro_tea.price}元,{taro_tea.sugar}分糖")

👉 运行结果:

🍵 你的第一杯奶茶:珍珠味,18元,5分糖

🍵 你的第二杯奶茶:芋泥味,20元,3分糖

第三步:操作实例化后的对象(给奶茶改配置)

造出来的对象是"活的",能调用类里的技能,比如给珍珠奶茶改无糖、加芋圆~

python

#给珍珠奶茶(对象)改无糖

pearl_tea.change_to_no_sugar()

#给珍珠奶茶加芋圆

pearl_tea.add_topping("芋圆")

#给芋泥奶茶加椰果

taro_tea.add_topping("椰果")

#打印修改后的对象属性

print(f"🍵 珍珠奶茶最终状态:{pearl_tea.price}元,{pearl_tea.sugar}分糖")

print(f"🍵 芋泥奶茶最终状态:{taro_tea.price}元,{taro_tea.sugar}分糖")

👉 运行结果:

✅ 珍珠奶茶已改成无糖!

✅ 珍珠奶茶加了芋圆,价格21元!

✅ 芋泥奶茶加了椰果,价格23元!

🍵 珍珠奶茶最终状态:21元,0分糖

🍵 芋泥奶茶最终状态:23元,3分糖

三、趣味拓展:实例化的"隐藏特性"

特性1:每个对象都是独立的"个体"

就像两杯奶茶,改其中一杯的甜度,另一杯完全不受影响——对象之间互不干扰!

python

#只改珍珠奶茶的价格,芋泥奶茶价格不变

pearl_tea.price = 25

print(f"🍵 珍珠奶茶价格:{pearl_tea.price}元")

print(f"🍵 芋泥奶茶价格:{taro_tea.price}元")

👉 运行结果:

🍵 珍珠奶茶价格:25元

🍵 芋泥奶茶价格:23元

特性2:一个类能实例化无数个对象

只要你想,能造10杯、100杯奶茶,每一杯都是独立的实例~

python

#实例化第3、4杯奶茶

grape_tea = MilkTea("葡萄", price=22, sugar=2)

mango_tea = MilkTea("芒果", price=24, sugar=4)

print(f"🍵 第三杯:{grape_tea.taste}奶茶,{grape_tea.price}元")

print(f"🍵 第四杯:{mango_tea.taste}奶茶,{mango_tea.price}元")

👉 运行结果:

🍵 第三杯:葡萄奶茶,22元

🍵 第四杯:芒果奶茶,24元

四、避坑小彩蛋:新手最容易踩的3个坑

1. 别漏参数:实例化时要传类的`__init__`方法要求的必传参数!比如`MilkTea()`没传`taste`,Python会懵:"啥口味的奶茶?没说我咋做?" 就像点奶茶只说"来一杯",老板肯定问"啥味的?"~

2. 别搞混"类"和"对象":类是模板,不能直接调方法!比如`MilkTea.change_to_no_sugar()`会报错,得先实例化成`pearl_tea`,再调`pearl_tea.change_to_no_sugar()`——总不能让"奶茶配方"自己改甜度吧?得是具体的奶茶才能改~

3. self不用传:实例化时不用给`self`传值!`__init__`里的`self`是Python自动帮你填的,你只需要传`taste、price`这些参数,比如`MilkTea("珍珠")`就行,别写成`MilkTea(self, "珍珠")`,纯属画蛇添足~

五、类vs实例化对象(大白话对比)

| 特点 | 类(模板)| 实例化对象(具体实物)|

|------|----------|----------------------|

| 存在形式 | 抽象的规则/配方 | 具体的、能操作的实物 |

| 能否调方法 | 不能(只是模板)| 能(比如改甜度、加加料) |

| 数量 | 一个类只有一个 | 能实例化出无数个对象 |

| 举例 | 奶茶配方模板 | 一杯珍珠奶茶、一杯芋泥奶茶 |

总结

1. Python实例化对象核心是`对象名 = 类名(参数)`,把"类模板"变成具体可操作的对象;

2. 实例化后的对象是独立个体,能调用类里的方法、修改自身属性,且对象之间互不影响;

3. 记住"先定义类再实例化、必传参数别漏、self不用传",能避开90%的实例化坑。

扫码关注我们

知识奇妙世界

最新文章

随机文章