首页 > 解决方案 > 如何记住我们使用的是 v.function() 还是 function(v)?

问题描述

请我想知道一种方法来记住或在 python 中使用 v.function() 或 function(v) 之间的简单区别 # v 是一个变量或对象

capitalize(c) #error
c.capitalize() # OK

c="hello"
c.capitalize()

标签: python

解决方案


第一个版本调用v作为参数的函数,第二个版本调用对象的方法v。在特定情况下是哪一个可能会因设计方法而异,但总的来说:

1)如果它修改了一个对象的状态,它很可能是一个方法。

例子:list.sort(), dict.pop().

2) 如果它适用于各种相似类型,例如容器,它可能是一个函数。

例子:len(), sum(), sorted().

3)如果它是特定于对象类型并且必须了解对象实现内部的一些信息,那么它可能是一种方法。

例子:str.capitalize(), str.split().

4) 如有疑问 - 请参阅文档。


推荐阅读