"""
1 什么是函数
函数就是盛放功能(一系列代码)的容器
定义函数就是造出了一个工具
事先准备工具的过程->函数的定义
遇到应用场景拿来就用->函数的调用
2 为何要用函数
不用函数写出的代码问题是:
1 程序的组织结构不清晰,可读性差,可维护性差
2 可扩展性差
3 如何用函数
原则:
先定义
后调用
定义函数的语法:
def 函数名(参数1,参数2,参数3,...):
代码1
代码2
代码3
return 值
调用函数语法:
res = 函数名(值1,值2,值3)
"""
1 定义函数与调用函数
x = 10
y = x
print(x)
def func(): # func = 函数的内存地址
print("*" * 40)
print("hello".center(40, ‘ ‘))
print(‘=‘ * 40)
print(func)
f = func
f()
func()
func()
func()
2 函数定义阶段发生的事情:
申请内存空间,把函数体代码放进去,然后把内存地址绑定给函数名
def func():
print(1)
print(2
print(3)
3 函数调用阶段发生的事情: 执行函数体代码
def func():
print(1)
print(2)
asdf
print(3)
func()
ps: 函数定义阶段只检测语法不执行代码,只有在调用函数时才会执行函数体代码
# 例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()
# 函数的参数:
def add(x,y):
res = x + y
print(res)
add(1,2)
def func(x, y):
if x > y:
print(x)
else:
print(y)
func(11231231231, 22123123123213)
def login(inp_user,inp_pwd):
if inp_user == ‘egon‘ and inp_pwd == "123":
print(‘ok‘)
else:
print(‘error‘)
login(‘egon‘,"123")
l = [111, 222, 333, 444, 555]
size = len(l)
if size > 3:
print(‘ok‘)
else:
print(‘no‘)
def max2(sal1, sal2):
if sal1 > sal2:
return sal1
else:
return sal2
res = max2(1000,2000)
print(res * 12)
l = [111, 22, 333]
res = l.append(4444)
res = l.pop()
print(res)
return返回值的语法:
函数内可以有多个return,但只要执行一次,整个函数就立即结束,并且将return后的值当作本次调用的产品返回
def func():
print(‘aaaa‘)
return 11111111111111
print(‘bbbb‘)
return 2222222222
print(‘cccc‘)
return 333333333
res = func()
print(res)
具体来说函数的返回值有三种形式
1 return 值: 返回的就是改值本身/-
2 return 值1,值2,值3:返回的是小元组
def func():
return 1111,"aaa",[11,222]
x,y,z = func()
print(x,y,z)
# 3 没有return或者return无值或者return None:返回的都是None
def func():
res = 1 + 2
return
res = func()
print(res)