Python中方法和函数的区别
函数
一个函数是一段用于执行特定任务的代码块,它拥有自己的作用域,并通过名称调用。所有函数可以包含零个(无)参数或多个参数。退出时,函数可以返回一个或多个值,也可以不返回值。
基本函数语法
def functionName( arg1, arg2, ...): ... # Function_body ...
让我们创建我们自己的(用户)一个非常简单的名为sum的函数(用户可以随意命名)。函数“sum”有两个参数,分别称为num1和num2,并将返回传递给函数(sum)的参数之和。当我们使用值(参数)5和6调用函数(sum)时,它返回11。
def sum(num1, num2): return (num1 + num2)
输出
>>> sum(5,6) 11
所以从上面可以看出,'return'语句从Python函数返回一个值。
函数允许我们实现代码的可重用性。函数有三种类型:
内置函数(顾名思义,这些函数随Python语言一起提供,例如,help() 用于寻求帮助,max() - 获取最大值,type() - 用于返回对象的类型等等。)
用户自定义函数(这些是用户创建以帮助他们的函数,就像我们上面创建的“sum”函数一样)。
匿名函数(也称为lambda函数,与使用def关键字定义的普通函数不同,它们使用lambda关键字定义)。
方法
Python中的方法与函数有点类似,区别在于它与对象/类相关联。Python中的方法与函数非常相似,但有两个主要区别。
方法隐式地用于调用它的对象。
方法可以访问类中包含的数据。
通用方法语法
class ClassName: def method_name(): ………….. # Method_body ………………
让我们通过一个简单的代码来了解方法:
class Pet(object): def my_method(self): print("I am a Cat") cat = Pet() cat.my_method()
输出
I am a Cat
在上面的代码中,我们首先定义了类“Pet”。然后我们从这个蓝图创建了对象“cat”。接下来,我们使用对象(即cat)调用我们自定义的方法my_method。
Python中方法和函数的关键区别
在我们掌握了函数和方法的基本概念之后,让我们重点介绍它们之间的关键区别:
与函数不同,方法是在对象上调用的。像我们上面的例子一样,我们在对象“cat”上调用我们的方法,即“my_method”,而函数“sum”则无需任何对象即可调用。此外,由于方法是在对象上调用的,因此它可以访问对象内部的数据。
与可以改变对象状态的方法不同,Python函数不会这样做,通常在对象上进行操作。
简而言之,方法是属于对象的函数。