什么是函数
具备某一功能的工具
对于工具的使用,我们应该先准备好工具,然后再使用。即我们对函数应该先定义后引用。和变量一样。
为什么用函数
1、程序的组织结构不清晰,可读性差
2、如果要用到重复的功能,只能拷贝功能的实现代码=》代码冗余
3、可扩展性差
如何使用函数
函数使用原则:先定义后引用
# 定义函数:
def 函数名(参数1,参数2,参数3,...):
"""文档注释"""
代码1
代码2
代码3
...
return 返回值
# 调用函数:
函数名(值1,值2,值3,...)
函数的基本使用
# 1、定义函数:申请内存空间把函数体代码保存下来,然后把内存地址绑定给函数名-》函数名=函数的内存地址
def sayhi():
print('*'*10)
print('hello')
print('*'*10)
print(sayhi) # 函数名本质是一串内存地址,注意下方开头是function,表明是一个函数。
---------------------
# 2、调用函数: 函数名()=> 函数的内存地址(),会触发函数体代码的运行
sayhi()
定义函数的三种格式
# 2.1: 无参函数,即函数本身不需要参数传入
def login():
inp_name=input("your name: ").strip()
inp_pwd=input("your pwd: ").strip()
if inp_name == "yang" and inp_pwd == "123":
print('login successful')
else:
print('login error')
login()
# 2.2: 有参函数,函数内需要外部参数传入
def max2(x,y):
if x > y:
print(x)
else:
print(y)
max2(10,20)
max2(11,22)
'''2.3: 空函数,空函数在项目初期,有些功能还没做完时,可以先用空函数顶替,防止程序无法运行'''
def func():
pass
函数的返回值
利用return 可以将函数内处理之后的结果返回
# 函数内可以有多个return,但只要执行一次函数就立刻结束,并会把return后的值当作本次调用的结果返回
'''
函数可以有三种形式的返回值
1、return 值:返回的就是该值本身
2、return 值1,值2,值3:返回一个元组
3、没有return:默认返回None
'''
def max2(x, y):
if x > y:
return x
else:
return y
res = max2(1, 2)
print(res)
--------------------
2
函数调用的三种格式
# 语句形式:单纯地调用一下函数就完了
def hello(s,n):
print(s*n)
print('hello')
print(s*n)
hello('*',30)
# 表达式形式:
def max2(x,y):
if x > y:
return x
else:
return y
res=max2(11,22) * 12
print(res)
#可以把函数的调用当作值传给另外一个函数
print(max(33,max2(11,22)))
总结
'''
函数的使用一定要分两个阶段去看:
1、定义阶段:只检测语法,不执行代码
2、调用阶段:执行函数体代码
'''
# 如果发生的语法错误,定义阶段就会立马检测出来
def func():
print("hello" # 直接报错
# 如果发生的不是语法错误,而是逻辑错误,只能在调用阶段检测到
def func():
xxx
func() # 报错
三、函数参数
函数的参数分为两大类:形参与实参
# 1、形参:在定义函数时,括号内定义的变量名,称之为形式参数,简称形参=》变量名
def func(x,y): # x,y就是形参
x