1.1 简单函数的定义文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
函数可以把它理解为一个黑盒子,我们把写好的功能封装在里面,方便不断使用,可以达到简化代码、重复调用的效果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef 函数名():
执行的代码块
函数名() #用来调用函数,使函数运行起来
示例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html"""显示简单的问候语"""
def greet_user():
print("Hello!")
greet_user()
1.2 向函数传递信息文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
我们也可以向函数中传入参数,让它处理,参数数量不限,用 ',' 隔开
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
函数定义时的参数使用变量,函数调用时要在对应位置传入真实值
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef 函数名(参数1,参数2,参数3,...)
代码块
函数名(参数1,参数2,参数3,...)
示例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef greet_user(name1,name2):
print("Hello!")
print(name1+'和 '+name2+' 是很好的朋友!')
greet_user('li ming ','小张')#li ming和小张分别对应name1和name2的位置
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
1.3 获得函数的处理结果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
函数作为一个黑盒子,我们也可以向里面传入参数,让它进行处理,然后直接把处理结果返回给我们。就类似于一个榨汁机,我们一头放入水果,一头输出果汁。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef 函数名(参数1,参数2,参数3,...)
代码块
return 结果
res = 函数名(参数1,参数2,参数3,...)
示例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html#计算后两个数相乘再与第一个数相加的结果
def add(num1,num2,num3):
print(str(num1)+'+' +'('+str(num2)+'*'+str(num3)+')')
result = num1+(num2*num3)
return result
res = add(2,4,7)
print('结果是:'+str(res))
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
此时运行函数就会返回结果,我们将它赋值给接受的变量即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
注意以下两点:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
1)return之后函数就会停止,也就是即使return之后还有代码也不会执行,即return是函数的结束标志,遇到它函数就会停止。如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef add(num1,num2,num3):
print(str(num1)+'+' +'('+str(num2)+'*'+str(num3)+')')
result = num1+(num2*num3)
return result
print('我执行不了哦')
res = add(2,4,7)
print('结果是:'+str(res))
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
2)传入的参数类型没有限制,数字、字符串、列表、字典甚至函数都可以文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html
例如:写个计算数字列表中所有数值的平方和的函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.htmldef pingfang(list1):
res = 0
for i in list1:
res = res+ i*i
return res
nums = [2,3,5,13,67,8,9]
result = pingfang(nums)
print('结果为:'+ str(result))
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/42671.html