Python中的函数和方法都可以被用来完成一定的任务,但是它们有着不同的使用场景和特点。
函数是一段可重复使用的代码块,它可以接受0到多个参数,按照定义的逻辑运行,并且可以返回一个值。函数具有以下特征:
- 定义格式
Python函数的定义格式如下:
def 函数名(参数列表):
函数体
return 返回值
- 调用格式
Python函数的调用格式如下:
函数名(参数列表)
- 范围
Python函数在定义之后可以在任意位置被调用。
例1:定义一个计算斐波那契数列的函数,并在主程序中调用输出前10项
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2) # 递归调用
for i in range(10):
print(fibonacci(i))
方法是一种和对象相关的函数,它和函数的定义和调用方式类似,但是它必须以对象为前提才能被调用。在Python中,所有的方法都必须在对象上调用。方法具有以下特征:
- 定义格式
Python方法的定义格式如下:
class 类名:
def 方法名(self, 参数列表):
方法体
return 返回值
- 调用格式
Python方法需要在相应的对象上调用,例如:
对象名.方法名(参数列表)
- 范围
Python方法只能在相应的类或对象内被访问和调用。
例2:定义一个圆的类,具有计算周长和面积的方法,并在主程序中调用输出半径为5的圆的周长和面积
class Circle:
def __init__(self, radius):
self.radius = radius
def calc_circumference(self):
return 2 * 3.14 * self.radius
def calc_area(self):
return 3.14 * self.radius ** 2
c = Circle(5)
print("半径为5的圆的周长为:", c.calc_circumference())
print("半径为5的圆的面积为:", c.calc_area())
综上所述,函数和方法的区别在于使用场景和特点。函数比方法更具有通用性,在任意位置都可以被调用;方法则更适用于对于对象的特定操作。在程序设计时需要根据需求灵活运用。