Python中方法和函数的区别


函数

一个函数是一段用于执行特定任务的代码块,它拥有自己的作用域,并通过名称调用。所有函数可以包含零个(无)参数或多个参数。退出时,函数可以返回一个或多个值,也可以不返回值。

基本函数语法

def functionName( arg1, arg2, ...):
   ...
   # Function_body
   ...

让我们创建我们自己的(用户)一个非常简单的名为sum的函数(用户可以随意命名)。函数“sum”有两个参数,分别称为num1num2,并将返回传递给函数(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函数不会这样做,通常在对象上进行操作。

简而言之,方法是属于对象的函数。

更新于:2023年8月26日

3万+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告