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

Python参数应放句点前还是括号内?调用规则解析

Python中函数与方法的调用区别及规则

核心区别:函数 vs 方法

  • 函数:独立的代码块,不依附任何对象,调用时直接把目标参数放在括号里。比如计算字符串长度的len("hello")、输出内容的print("hi")。
  • 方法:属于某个特定对象(比如字符串、列表、自定义类的实例)的函数,调用时必须先指定所属对象(放在句点前),括号里传入除对象自身外的其他参数。比如把字符串转大写的"hello".upper()、给列表追加元素的[1,2,3].append(4)。

背后的调用规则

方法本质上也会把所属对象作为第一个参数(Python里通常命名为self)接收,只是Python帮你自动完成了这个传递。举个例子:

  • 当你写"hello".upper()时,Python实际执行的是str.upper("hello")——这里的"hello"就是upper方法的self参数。
  • 如果你直接调用类的方法(比如str.upper),就需要手动把对象作为参数传进去,这时候写法就和普通函数一致了。

所以判断调用方式的核心逻辑:

  • 如果这个功能是通用的独立操作,不绑定特定类型的对象,就用function(argument)的形式;
  • 如果这个功能是某个对象专属的操作(比如对字符串、列表的特定处理),就用argument.function()的形式。

如何快速记住正确的调用方式?

  • 从功能场景判断:如果是“对某个对象执行动作”(比如修改列表、格式化字符串),那就是方法,用对象.方法();如果是“基于某个对象计算结果”(比如算长度、求和),那更可能是独立函数,用函数(对象)。
  • 借助工具提示:用IDE写代码时,输入对象加句点会自动弹出它的所有方法;输入函数名时,IDE会提示需要传入的参数类型,一目了然。
  • 日常积累:常用的操作多写几次就记住了——比如字符串的split()、strip(),列表的sort()、pop()都是方法;而len()、sum()、max()这些是通用函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:39:17