铸器篇- Day66 class 定义类,实例化创建对象

0 次阅读 2026-10-20 09:02

📖 知识点

class 定义类语法

 

class 类名:
    # 类里面可以写属性、方法
    pass

 

  • 类名规范:大驼峰命名法,每个单词首字母大写,例如 Student、Book

  • pass占位符:空代码块,暂时不写任何逻辑,防止语法报错

实例化创建对象

 

对象变量 = 类名()

 

  • 调用类名加括号,就是实例化,生成一个对象

  • 同一个类,可以实例化多个互相独立的对象

基础示例

 

# 定义图纸:学员类
class Student:
    pass

# 实例化,铸造2个学员对象
stu1 = Student()
stu2 = Student()

print(stu1)
print(stu2)

 

输出示例

 

<__main__.Student object at 0x0000023456789ABC>
<__main__.Student object at 0x0000023456789DEF>

 

两个对象内存地址不同,是完全独立的个体。

💡 核心流程:class 定义类(图纸) → 对象 = 类名() 实例化(铸造实体)

⚔️ Kata 实战任务

任务需求:

  1. 使用 class 定义一个 Student 类,内部写 pass 占位

  2. 实例化创建两个对象 stu1、stu2

  3. 分别打印两个对象

  4. 打印 type (stu1),查看对象所属类

参考代码

 

# 定义学员类(图纸)
class Student:
    pass

# 实例化对象
stu1 = Student()
stu2 = Student()

print("stu1对象:", stu1)
print("stu2对象:", stu2)
print("stu1的类型:", type(stu1))

 

运行输出示例(地址每次运行不一样)

 

stu1对象: <__main__.Student object at 0x0000019C2D3A4E80>
stu2对象: <__main__.Student object at 0x0000019C2D3A4EB0>
stu1的类型: <class '__main__.Student'>

 

🧠 思考题

  1. 同一个类实例化出来的 stu1 和 stu2,是同一个东西吗?修改 stu1 会影响 stu2 吗?

  2. 类名为什么推荐使用大驼峰命名?