在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)
>>> calc("Jack Ma", 1000000, 2000000)
Jack Ma spent money: 3000000
传入的参数通过type(args)可以检查类型为元组(tuple),除了函数声明外函数调用亦然。
>>> args = (1000000, 2000000, 3000000

本文总结了Python中的函数传参语法糖,包括默认值、可变参数、*args、**kwargs、Positional-Only和Keyword-Only参数、处理kwargs冲突的方法、参数引用修改、函数作为一等公民的特性,以及类型标注。了解这些技巧能提升Python编程效率。
最低0.47元/天 解锁文章
184

被折叠的 条评论
为什么被折叠?



