def自定义函数(方法)(define)
示例(无参):
def abc(): #abc为自定义函数名称(方法名),名称后必须加括号()
message = "Hello World!" #方法内的每行代码必须缩进
print(message)
abc() #调用自定义函数(调用方法)
示例(多参且返回单个结果):
def abc(i, s):
total = i + s
return total #return关键字出现即为该自定义函数(方法)结束,之后在该代码块内的代码均不执行
#i = 5 #该代码不会执行
result = abc(3, 8) #调用该自定义函数(方法)并录入参数,用result变量接收结果
print(result) #结果为11
示例(返回多个结果):
def abc():
return 1, 2
x, y = abc() #调用该自定义函数(方法)并录入参数,返回多少个结果就要用多少个变量接收,且一一对应
print(x) #结果为1
print(y) #结果为2
示例(可变参数):
def uni(*args): #括号内的形参写为*args,也可以写为*wors, *items.....
return args
x = uni(1)
print(x) #结果为(1,)
y = uni('2', 3)
print(y) #结果为('2', 3),无论输入多少个参数均不会报错
z = y[1] + 5
print(z) #结果为8
# 注:调用出的结果一定是tuple元组类型,要使用元组的索引方式才能参与运算
def dic(**kwargs): #括号内的形参必须写为**kwargs
return kwargs
x = dic(name = "zhangsan", age = 23)
print(x) #结果为{'name': 'zhangsan', 'age': 23}
# 注:调用出的结果一定是dict字典类型,要使用字典方式才能操作
示例(使用全局参数):
num = 100
def abc(s):
global num #因为函数(方法)外定义的变量不能直接用于函数(方法)内部,需要将其标识为全局变量
total = num + s #如果没有上一行代码,此处报错,因为函数(方法)中无法识别num参数的来源
return total #return关键字出现即为该自定义函数(方法)结束,之后在该代码块内的代码均不执行
i = 5 #该代码不会执行
result = abc(8) #调用该自定义函数(方法)并录入参数,用result变量接收结果
print(result) #结果为108
函数的lambda表达式:
def abc(s):
return "Hello " + s
可简化为:
res = lambda s : "Hello " + s #省去了函数名称,调用时需在前方以变量接收
print(res("Zhangsan")) # Hello Zhangsan
多参数:
lambda a, b : a * b
可以在lambda函数后立即将参数添加到括号中,从而动态地为lambda表达式提供参数。lambda表达式也应该用圆括号括起来。
res = (lambda a, b: a * b) (3, 5)
print(res) #15
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了