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

冷炫風刃
发布: 2025-12-21 22:53:49
原创
192人浏览过
函数是独立可调用对象,方法是绑定在对象上的函数;函数直接调用如greet("Alice"),方法需通过对象调用如d.bark(),关键区别在于调用方式及是否隐含绑定对象参数。

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

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

函数:不依赖对象,直接调用

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

  • def greet(name): return f"Hello, {name}"
  • 调用方式:greet("Alice") —— 直接传参,不涉及对象

方法:属于对象,隐含第一个参数

方法本质是定义在类内部的函数,但被“绑定”到了类或其实例上。调用时会自动传入绑定的对象作为第一个参数(通常是 selfcls):

  • 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() 看区别:

网奇Eshop网络商城系统
网奇Eshop网络商城系统

网奇.NET网络商城系统是基于.Net平台开发的免费商城系统。功能强大,操作方便,设置简便。无需任何设置,上传到支持asp.net的主机空间即可使用。系统特色功能:1、同时支持Access和SqlServer数据库;2、支持多语言、多模板3、可定制缺货处理功能4、支持附件销售功能5、支持会员组批发功能6、提供页面设计API函数7、支持预付款功能8、配送价格分地区按数学公式计算9、商品支持多类别,可

网奇Eshop网络商城系统 0
查看详情 网奇Eshop网络商城系统

立即学习Python免费学习笔记(深入)”;

  • type(len) →
  • type("a".upper) → (实例方法)
  • type(str.upper) → (未绑定时就是普通函数)

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

以上就是python中的函数和方法的区别是什么的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号