Python中内置函数:Python中内置函数与内置方法的区别

我在理解 Python 的内置函数和方法时遇到了一些困难。根据我的理解,函数返回有关某些东西的信息,而方法改变某些东西。这是正确的吗?

我也不清楚为什么有些函数和方法需要参数,而另一些则不需要。这是特定于函数或方法的要求参数质量吗?

最后,为什么这些内置函数 / 参数中的一些简单地声明其名称后跟参数(例如sorted(list)),而其他(例如list.sort())在其语法中使用句点?

0

方法是适用于某个类的函数,而函数可以在任何有效的类中使用。就像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的参数。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(670)
Python爬虫接单:Python网络爬虫:连接超时
上一篇
Python写mysql:MySQL在哪里:如何写“!=”或“不等于”(mysql where not equal)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(74条)