函数的定义:
1.申请内存空间,将函数的代码存储到内存中
2.把内存地址和函数名建立绑定关系
需要强调的是:函数在定义阶段是不会执行函数体代码的,但是会检测语法
调用阶段:
1.通过函数名找到函数的内存地址
2.加括号触发函数体的执行
1.直接调用
func()
2.在表达式中调用
def max(a,b):
if a > b:
return a
else:
return b
print(max(10,20) * 100)
3.将函数的返回值作为参数
print(max(max(10,20),30))
import 文档注释
print(help(文档注释))
参 数是什么?
参加,参与,数据
参与运算的数据
参数是可选 那就可以将函数分为:
有参函数
当你的函数体执行需要依赖外界的数据才能完成功能,那就应该是有参函数
无参函数
当你的函数体执行不需要依赖外界的数据就能完成功能,那就应该是无参函数
比较两个数 谁大
def max(a,b): # 按照顺序 a = 10 b = 20
if a > b:
print("max is ",a)
else:
print("max is ",b)
max(10,20)
max(10,20)
li = [1,2,3,4,5]
li2 = [1,2,3,4,6]
求列表的和
def get_sum(li):
sum = 0
for i in li:
sum += i
print("sum is",sum)
get_sum(li)
get_sum(li2)
如果不包含任何函数体就就称之为空函数
在程序开发初期有用,可以用于定义出程序的结构
计算列表平均值
def avg(li):
"""
这是求平均值的函数
:parameter li: 需要计算平均值的列表,注意列表元素必须为数字
:return:
"""
sum = 0
for i in li:
sum += i
print(sum/len(li))
avg([1,2,3,4,5])
用函数来实现登录功能
def login():
name = input("name:").strip()
pwd = input("pwd:").strip()
if name == "rose" and pwd == "123":
print("登录成功!")
else:
print("登录失败!")
login()
login()
什么样的代码应该定义为函数
这段代码会多次被执行,
这个段代码是一个完整的独立的功能
return 关键字用来返回一个值
在函数定义中是可选的
什么时候该有返回值
函数是工具,是帮你完成某个功能的,一些功能在完成后必须要产生一个结果给调用者
例如生活中的榨汁机,执行完成后使用者应该得到果汁
什么时候不需要返回值
在调用这个函数时,不需要返回任何结果给调用者,那就不需要返回值
return的特殊用法:
1.一次性返回多个值
2.返回空值
不写任何的return 默认返回None
return后不返回任何值
return None
3.一个函数中可以有多个return关键字
函数执行过程中只要遇到了return 后续代码都不会执行了,函数立马返回
我们可以利用这个特点来结束函数的执行
事例:
ef juice_squeezing(food):
print("切碎")
print("旋转")
print("压榨")
result = "一杯%s汁" % food
return result
res = juice_squeezing("番茄")
print(res)
输出你的个人信息
def show_info(name,age,sex):
print("""
=========info========
name:%s
age:%s
sex:%s
=========end=========
""" % (name,age,sex))
show_info("矮根",39,"man")
1.一次性返回多个值#
def func():
return 1,2
res = func()
print(type(res))
print(res)
print(res[0])
print(res[1])
a = res[0]
b = res[1]
a,b,c = [1,2,34]
print(a)
print(b)
print(c)
对返回值进行解压
a,b = func()
print(a,b)
2.返回空值
def func2():
print("func2 run")
def func3():
print("func3 run")
res = func2()
print(func3())
3.一个函数中可以有多个return关键字
def func4():
print(1)
return
print(2)
print(3)
print(4)
func4()
def max(a,b):
if a > b:
return a
return b
函数必须遵循 先定义 后调用