函数简介
一个函数可以理解为 是一个功能
为什么要用函数?
在开发程序时,使用函数可以提高代码的编写效率以及重复利用
使用步骤:
- 定义函数
def 函数名():
函数封装的代码(注意缩进)- 调用函数
函数名()
#定义了一个名叫hi的函数
#定义函数时内部代码并不会执行,只有调用时才会执行
def hi():
print("hahaha")
#调用函数
hi()
终端显示:
hahaha
- 练习小作业
定义函数,输出20个函数def my_deng: print("="*20) my_deng() 终端显示: ====================
函数--参数
注意:函数一旦定义好,内部代码不会轻易修改。
- 函数的主要功能是封装代码
- 一个已经定义好的函数,不要去修改函数内部的定义代码
- 可以通过函数的参数,实现函数代码的灵活性
语法:def 函数名(参数1,参数2.....): 函数封装的代码 #调用 函数名(参数1对应值,参数2对应值.....)
形参和实参
形参:定义函数时,小括号中的参数,是用来接受参数用的,在函数内部作为变量使用(形参必须是变量)
实参:调用函数时,小括号内的参数,是传递的交给函数处理的真实数据(实参可以是常量、变量、表达式)
练习:定义一个函数,名字叫my_fun01,有一个参数num1;,调用函数时,num1为1 时打印一个*,为5时,输出5个*。
#定义函数
def my_func01(num1):
print("*"*num1)
#调用函数
my_func01(5)
终端显示:*****
返回值
- 函数是完成了输入、逻辑处理或者输出三者之一,有些函数封装的代码并没有打印功能,所以需要有返回值,返回给调用者
- return后边可以是常量,变量、表达式
def sum(a,b):
return a+b
a=sum(5,6)
print(a)
练习:返回两个参数最大值
def the_max(a,b):
if a>b:
return a
else:
return b
#下边是调用函数 上边函数定义的属于逻辑处理部分,不是输入输出,我们需要赋值变量打印出来
当然直接print(the_max(8,6))也是可以的
c=the_max(8,6)
print(c)
定义一个函数,有两个参数,start和stop,start代表开始范围,stop代表终止范围,求这个范围中所有整数相加的和(累加)
def the_sum(start,stop):
sum=0
while start<=stop:
sum+=start
start+=1 #如果这行代码和上边互换,结果就不一样了,等于说11个数每个数都比这样写大1,总和就会多11
return sum #注意return的执行时机,是循环完成后返回总和,所以不在循环体内
a=the_sum(10,20)
print(a)
return的意义:
不需要打印的话,得有return
需求不停的变化,但函数一旦定义函数内部的代码不应该因为需求改变而改变
所以要把因为需求而改变的代码放到函数之外,函数之内代码函数定义完不改变
练习:
定义一个函数,名字叫my_func,参数有二,num1 num2 ,当num1能被num2整除时,返回值为True,否则返回值为False。
如:调用my_func(8,4),返回值为True
如:调用my_func(9,4),返回值为False
def my_func(num1,num2):
if num1%num2==0:
return True
else:
return False
print(my_func(8,4))
print(my_func(9,4))