跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

python中的函数和方法的区别是什么

函数是独立可调用对象,方法是绑定在对象上的函数;函数直接调用如greet("Alice"),方法需通过对象调用如d.bark(),关键区别在于调用方式及是否隐含绑定对象参数。

函数是独立存在的可调用对象,方法是绑定在对象(通常是类实例)上的函数。

函数:不依赖对象,直接调用函数是定义在模块或全局/局部作用域中的独立代码块,调用时不需要依附于任何对象。比如len()、print()、max()都是内置函数;你自己用def

定义的也是函数:

def greet(name): return f"Hello, {name}"

调用方式:

greet("Alice")—— 直接传参,不涉及对象方法:属于对象,隐含第一个参数方法本质是定义在类内部的函数,但被“绑定”到了类或其实例上。调用时会自动传入绑定的对象作为第一个参数(通常是self或cls

):

class Dog: def bark(self): return "Woof!"d = Dog(),然后d.bark()就是调用实例方法,self自动指向d类方法(@classmethod)和静态方法(@staticmethod)也属于方法,只是绑定规则不同关键区别在调用方式和绑定关系函数调用:纯靠名字 + 括号,如abs(-5)方法调用:必须通过对象(或类)访问,如"hello".upper()、list.append([1], 2)底层看:方法其实是“带绑定的函数”,Python 在点号调用时自动做了封装(例如str.upper是函数,"abc".upper是绑定方法)

一个简单验证方式你可以用type()和repr()

看区别:

Python 3.14.3微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。

下载立即学习“Python免费学习笔记(深入)

”;

type(len) → type("a".upper) → (实例方法)

type(str.upper) → (未绑定时就是普通函数)

基本上就这些。记住:有没有“.”前面的对象,是区分函数和方法最直观的信号。

相关文章