在Python中将面向过程方式声明的函数(即不归属于类)称为函数(function),而面向对象方式声明的函数称为方法(method)。
语法糖1:
# 函数
def greeting():
print("function")
class Human:
# 实例方法
def greeting(self):
print("instance method")
# 类方法
@classmethod
def write(cls):
print("class method")
# 静态方法
@staticmethod
def read():
print("static method")
语法糖2:
参数可以具备默认值,对比Objective-C由于这项特性的缺失需要实现构造方法和便利构造方法。
def greeting(name = "Jack Ma"):
print("Hello", name)
>>> greeting()
Hello Jack Ma
>>> greeting("Pony Ma")
Hello Pony Ma
语法糖3:通过*args表示可变参数。
def calc(name, *args):
spent = 0
for v in args:
spent += v
print(name, "spent money:", spent)
>>