今日内容
1、什么是函数
具备某一功能的工具--------------》函数
工具的使用:
事先准备好工具--------------------》函数的定义
遇到应用场景拿来就用-----------》函数的调用
2、为何要有函数
1、程序的组织结构不清晰,可读性差
2、如果要用到重复的功能,只能拷贝功能的实现代码=》代码冗余
3、可扩展性差
3、如何用函数
函数的使用原则:先定义,后调用
定义函数:
def 函数名(参数1,参数2,参数3,...):
"""文档注释"""
代码1
代码2
代码3
...
return 返回值
调用函数:
函数名(值1,值2,值3,...)
一:函数的基本使用
1、定义函数:申请内存空间把函数体代码保存下来,
然后把内存地址绑定给函数名-》函数名=函数的内存地址
def sayhi():
print('*'*10)
print('hello')
print('*'*10)
print(sayhi)
2、调用函数: 函数名()=> 函数的内存地址(),会触发函数体代码的运行
sayhi()
sayhi()
sayhi()
二:定义函数的三种格式
2.1: 无参函数
def login():
inp_name=input("your name: ").strip()
inp_pwd=input("your pwd: ").strip()
if inp_name == "egon" and inp_pwd == "123":
print('login successful')
else:
print('login error')
login()
def sayhi():
print('='*100)
print('hello')
print('='*100)
sayhi()
2.2: 有参函数
def sayhi(s,n):
# s = '-'
# n = 20
print(s*n)
print('hello')
print(s*n)
sayhi('-',20)
sayhi('*',10)
def max2(x,y):
# x=10
# y=20
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.1,3.3)
print(res * 12 )
四:函数调用的三种格式
4.1 语句形式:单纯地调用一下函数就完了
def sayhi(s,n):
# s = '-'
# n = 20
print(s*n)
print('hello')
print(s*n)
sayhi('*',30)
4.2 表达式形式:
def max2(x,y):
if x > y:
return x
else:
return y
res=max2(11,22) * 12
print(res)
4.3 可以把函数的调用当作值传给另外一个函数
print(max2(11,22))
总结:
函数的使用一定要分两个阶段去看:
1、定义阶段:只检测语法,不执行代码
2、调用阶段:执行函数体代码
如果发生的语法错误,定义阶段就会立马检测出来
def func():
print("hello"
如果发生的不是语法错误,而是逻辑错误,只能在调用阶段检测到
def func():
xxx
func()
示范1:
def bar():
print('from bar')
def foo():
print('from foo')
bar()
foo()
示范2:
def foo():
print('from foo')
bar()
def bar():
print('from bar')
foo()