为什么Python方法和/或函数中的参数有时在句点之前传递,有时在括号内传递?例如,argument.function()或function(argument)。有没有什么规则是关于什么时候或者为什么应该以某种方式调用它的?我发现很难记住它应该以哪种方式来调用某些函数。
argument.function()
function(argument)
ql3eal8s1#
你所描述的是函数和方法,方法与函数有些相似,只是它与对象/类相关联(你可以在Python文档中找到更多信息)。例如,在Python中经常调用的一个函数是print(),print()是一个标准函数,不与任何对象关联,因此可以在任何时候调用这个函数。
print()
方法首先通过绑定到一个特定的对象来调用,使用点标记法。一个常见的方法是lower(),它使一个字符串小写。要调用这个方法,你可以写text.lower(),其中text是一个包含某个字符串的变量。
lower()
text.lower()
text
不能单独调用lower(),也不能编写lower(text),因为该方法必须绑定到它所操作的对象。下面是一些示例代码:
lower(text)
text = 'Hello, here is some text that contains Mixed Case letters.' new_text = text.lower() print(new_text) # new_text now contains text but in all lowercase print(text) # text remains unmodified
至于为什么会这样,这主要是因为Python的设计使用了面向对象编程(OOP)原则。为了帮助记忆,你确实需要花时间使用代码和阅读文档。在编写代码时,一个很好的问题是:“这个函数与对象相关联吗?”
1条答案
按热度按时间ql3eal8s1#
你所描述的是函数和方法,方法与函数有些相似,只是它与对象/类相关联(你可以在Python文档中找到更多信息)。
例如,在Python中经常调用的一个函数是
print()
,print()
是一个标准函数,不与任何对象关联,因此可以在任何时候调用这个函数。方法首先通过绑定到一个特定的对象来调用,使用点标记法。一个常见的方法是
lower()
,它使一个字符串小写。要调用这个方法,你可以写text.lower()
,其中text
是一个包含某个字符串的变量。不能单独调用
lower()
,也不能编写lower(text)
,因为该方法必须绑定到它所操作的对象。下面是一些示例代码:至于为什么会这样,这主要是因为Python的设计使用了面向对象编程(OOP)原则。为了帮助记忆,你确实需要花时间使用代码和阅读文档。在编写代码时,一个很好的问题是:“这个函数与对象相关联吗?”