21番茄网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 21番茄网
查看: 12|回复: 0

类的下面是一定要有def函数吗

[复制链接]

724

主题

946

帖子

3134

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3134
发表于 5 小时前 | 显示全部楼层 |阅读模式
类的下面是一定要有def函数吗??

类的下面不一定要有def函数,但大多数情况下我们会在类里定义方法(用def定义的函数)。
可以把类想象成一个 "容器":这个容器里可以放工具(方法,即def函数),也可以放数据(变量),甚至可以什么都不放(空容器)。

1. 可以没有def函数的类
比如一个只用来存数据的 "空容器" 类:

class 学生信息:
    # 这里没有任何def函数,只有数据
    姓名 = "小明"
    年龄 = 18
    成绩 = 90

# 直接使用类中的数据
print(学生信息.姓名)  # 输出:小明


这种类更像一个 "数据打包盒",虽然能工作,但实用性不强,因为它不能做任何操作。

2. 通常会有def函数的类
大多数时候,我们创建类是为了让它既能存数据,又能做操作(比如处理数据的方法)。这时候就需要用def定义方法:
class 学生信息:
    def __init__(self, 姓名, 年龄):
        self.姓名 = 姓名
        self.年龄 = 年龄
    
    # 用def定义方法(操作数据的功能)
    def 显示信息(self):
        print(f"我叫{self.姓名},今年{self.年龄}岁")

# 创建对象并使用方法
小明 = 学生信息("小明", 18)
小明.显示信息()  # 输出:我叫小明,今年18岁


这里的def方法就像给 "数据打包盒" 加了 "操作按钮",让类的功能更完整。

总结:
  • 类可以没有def函数(只存数据),但这样的类功能有限。
  • 实际开发中,类通常会包含def方法,因为我们需要通过方法来操作类中的数据,让类具有 "行为能力"。

就像一个盒子,既可以是空的,也可以装东西 —— 但我们造盒子,大多是为了装东西并用它来做事情。





上一篇:类名称的括号里可以有多少个参数,这些参数的位置是固定的吗,有没有什么要求或讲究?
下一篇:def函数都称为方法吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|21番茄网 ( 粤ICP备10099428号 ) 奇远富

GMT+8, 2025-8-6 14:23 , Processed in 0.178896 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表