You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python入门新手(0.1级)求助:如何区分函数与方法?

区分Python中的函数(Function)与方法(Method)

嘿,完全不用为基础问题致歉——每个程序员都是从搞不清这些概念起步的!我来帮你把函数和方法的区别讲得明明白白,结合你提到的例子来拆解:

核心区别一句话

方法是**绑定到对象(或类)**的函数,必须通过对象/类来调用;而普通函数是独立的,不需要依附任何对象,直接调用就行。

举例子对比理解

  • 方法的例子:比如你有个列表 my_list = [1, 2, 3],调用 my_list.append(4) 时,append 就是方法。它属于这个列表对象,你没法直接写 append(4) 来用(除非手动导入,但没人会这么干)——因为方法天生和它所属的对象绑定,调用时Python会自动把这个对象作为第一个参数(也就是方法里的self)传进去。

  • 函数的例子:

    • 你提到的 len(my_list) 就是典型的独立函数:它不隶属于任何对象,你直接调用它,把列表作为参数传进去就行,没有自动传递的self参数。
    • 还有 random.choice([1,2,3]),这里的choice是模块random里定义的函数——模块本身也是一种对象,但它是模块级别的函数,不是某个类实例的方法,所以我们也把它归为函数范畴,调用时是通过模块来访问,而非某个实例对象。

快速区分小技巧

  1. 看调用形式:如果是 对象.xxx(),那xxx大概率是方法;如果是 xxx(对象),那xxx就是普通函数。
  2. 看定义位置:方法一般定义在类的内部,比如list类里的append、pop;而函数要么是Python内置的全局函数(比如len、print),要么是定义在模块里的独立函数(比如random里的各种函数)。

这样再回头看你混淆的例子,是不是就清晰多啦?

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 06:38:11