一,什么是函数
如果在开发程序时 ,需要某块代码块多次执行。
为了提高编写的效率以及更好去维护代码,需要把具有独立功能的代码组织成一个小模块,这个就是函数
- 函数的格式
def 函数名字():
运行代码
- 定义了函数之后,就相当于他有了一个具有某些功能的代码,想让这些代码能去执行,我们就需要去调用他
- 函数被定义之后是不会自动的去执行,需要我们自己去调用它
- 如果需要执行函数体里面的代码,我们就需要去手动调用函数
- 需要主义的是,我们每次调用函数都会让他从头开始,当这个函数中的代码执行完毕之后,就意味着调用结束了。
- 如果在函数执行的过程中,函数碰到了 return 那么他也会结束函数
- 接下来是示例代码
def sums():
print('666')
#函数调用好了不会自动去执行 而是需要去调用
sums()
def tell_story():
print('从前有座山')
print('山上有座庙')
print('庙里有个老和尚')
print('还有个小和尚')
print('老和尚在给小和尚讲故事')
print('故事的内容是:')
age = int(input('请输入孩子的年龄'))
if 0<=age<=3:
for x in range(5):
tell_story()
elif 3<age<=5:
tell_story()
def tell_story():
return '从前有座山'+'山上有座庙'+'庙里有个老和尚'+'还有个小和尚'+'老和尚在给小和尚讲故事'+'故事的内容是:'
print(tell_story())
二,函数的参数
-
说完了函数,接下来就是函数的参数。
-
为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数
1)定义,调用带有参数的函数
定义一个add2num(a, b)函数,来计算任意两个数字之和:
def add2num(a, b):
c = a+b
print c
add2num(11, 22) # 调用带有参数的函数时,需要在小括号中,传递数据
Copy
注意点:
- 在定义函数的时候,小括号里写等待赋值的变量名
- 在调用函数的时候,小括号里写真正要进行运算的数据
#将实际参数返回到形式参数
def sums(num1,num2,num3): #num1,num2,num3 统称为形式参数
"""
这个函数是用来求三个函数的和
:param num1: #第一个数字
:param num2: #第二个数字
:param num3: #第三个数字
:return: #三个数字的和
"""
return num1+num2+num3 # return 返回参数
print(sums(100,200,300)) #统称为实际参数
-
这个地方的意思是,定义一个sums函数,并且定义了3个值
-
所以在我们完成代码的时候需要将 sums中的3个值传进去,不然程序将会出现报错
-
再来一个示例代码
def tell_story(p1,p2): """ :param p1: :param p2: :return: """ print('从前有座山') print('山上有座庙') print('庙里有个'+p1) print('还有个'+p2) print(p1+'再给'+p2+'讲故事') print('故事的内容是') tell_story('老尼姑','小和尚') tell_story(p1='小和尚',p2='老尼姑')
-
这里在最后面将 P1 P2 给定了值,所以他会按照给定的顺序来传值 如果,没有给定顺序,那么将会按着顺序传上去
接下来,做两个小练习
练习1,设计一个函数,传入的参数是一个列表,返回去掉列表中重复元素之后的列表。
提示,set集合可以去重
def remove_item(lists): #定义一个参数
"""
:param list2:
:return:
"""
return list(set(lists)) #返回函数
print(remove_item([1,2,3,1,1,3,5,6,8]))
练习2,设计一个函数,传入的参数是一个列表,返回去掉列表中重复元素之后的列表,列表中的元素需要保持原来的顺序。
def remove_itmel(lists): #定义一个参数
res=[