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

Python中为何部分函数用点调用、部分无需点调用?

为什么Python中同一对象调用函数的方式不同?

这个问题确实和Python的类与对象系统直接相关,核心区别在于你调用的是实例方法还是独立的工具函数(比如内置函数):

  • 实例方法(如split())
    number是字符串类str的实例,split()是str类专门为自己的实例定义的方法。这类方法天生和实例绑定,必须通过对象.方法()的形式调用——因为方法内部需要操作实例自身的数据,Python会自动把当前对象作为第一个隐藏参数(self)传入方法里。比如number.split()其实相当于str.split(number),只是Python帮你省略了手动传number的步骤。

  • 内置函数(如int())
    int()是Python全局范围内的内置工具函数,它不属于某个类的实例方法,而是独立存在的。它的作用是接收一个参数(可以是字符串、数字等),并将其转换为整数类型。你只需要把要处理的对象作为参数传给它就行,不需要通过对象调用。类似的还有len()、float()、str()这些都是这类函数。

举个更直观的例子:字符串的upper()、strip()都是实例方法,得用"hello".upper()调用;而len("hello")是内置函数,直接传字符串进去就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 15:14:55