我在理解 Python 的内置函数和方法时遇到了一些困难。根据我的理解,函数返回有关某些东西的信息,而方法改变某些东西。这是正确的吗?
我也不清楚为什么有些函数和方法需要参数,而另一些则不需要。这是特定于函数或方法的要求参数质量吗?
最后,为什么这些内置函数 / 参数中的一些简单地声明其名称后跟参数(例如sorted(list)
),而其他(例如list.sort()
)在其语法中使用句点?
方法是适用于某个类的函数,而函数可以在任何有效的类中使用。就像list
类的sort
方法对列表进行排序一样。可变类型的方法大多会更改项目,因此list.sort
会将list
的值设置为list
的新实例的排序值1
question = "How is this?"
question.replace("How", "What") # Returns "What is this", but does not change question.
print(question) # Prints "How is this?"
print(question.replace("How", "What")) # Prints "What is this"
像sorted
这样的内置函数不会更改项目,它们会返回它的新版本或实例。
list1 = [4,3,6,2]
sorted(list1) # Returns [2,3,4,6], but does not modify list.
print(list1) # Prints [4,3,6,2]
list1.sort() # Returns None, but changes list.
print(list1) # Prints [2,3,4,6]
当你使用一个方法时,你在变量后面放一个句点,以表明它只能用于那个特定的类。为什么有些函数需要参数,而有些方法不需要-像sorted(list)
关键字需要list
,但是list.sort()
不需要参数,是当你在一个类上使用一个方法时,Python 默认情况下传递一个名为self
的参数
因此,当您输入list.sort()
时,Python 实际上是在list
类中运行函数sort
,并向其传递self
的参数。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(39条)