函数

函数
1.什么是函数
函数就是具有某一种功能的工具
函数的使用必须遵循先定义后调用

2.为什么用函数
1.程序的组织结构不清晰
2.代码冗余
3.可扩展性差
3.如何用函数
1.遵循先定义后调用

语法:
def 函数名(参数1,参数2,参数3):
"""
文档注释
"""
cord1
cord2
...
return 返回值
def:定义函数的关键字
函数名:就相当于一个变量名,指向函数的内存地址
注意:函数的内存地址()就可以触发函数体代码的执行
参数:本质是变量值,函数的调用者为函数体代码传值的依据,无需声明类型
文档注释:推荐使用
代码块:函数体功能的具体实现
:return 返回值:函数体代码块运行的成果



函数的使用分为两个阶段:
定义阶段:只检测语法,不执行代码块
调用阶段:运行函数体代码,执行代码块
def foo():
xxx
print()

'''
#
# # 函数的使用原则 先定义后调用
# # 有参无参是函数体代码逻辑决定的
# # 定义无参函数:函数体不依赖于外部传入的值就能执行,就不需要定义参数
# def fn():
# print('a')
# fn()
# # 定义有参函数:当函数的代码逻辑依赖于外部调用者传入的值才能执行,必须定义参数来接受外部传入的值
# def fn(a,b):
# return a+b
# fn(10,20)
# print(fn(10,20))
# # x=1
# # y=3
# def max2(x,y):
# if x>y:
# return x
# else:
# return y
# res=max2(1,3)
# print(res)
#
# # 定义阶段
# def bar():
# print('from bar')
#
# def foo():
# print('from foo')
# bar()
# # 调用阶段
# foo()
# #所以写代码的时候先将函数体全部写完,再调用




'''
一 函数的基础
1.1 定义与调用函数
1.2函数参数的使用
1.3函数对象
1.4函数的嵌套使用
函数递归
1.5名称空间与作用域(*******)
1.6内置函数,匿名函数
二 函数高级部分
1.7装饰器(前面的综合使用)
1.8迭代器生成器
1.9三元表达式,列表生成式,生成器表达式
1.10面向过程编程

函数参数(*******)
函数对象(*******)
函数的嵌套(******)
名称空间与作用域(*******)
函数名对于的函数地址
函数名()是触发函数体运行
想要看函数运行后的返回值,就将res=函数名()赋值给res,打印res就可以看到返回值
调用函数的语法:函数名(参数) 定义时无参,调用时也不需要参数
'''
# 定义函数的三种形式
# 1.1无参函数
def foo():
print('hello world')
foo()
# 1.2有参函数
def bar(x,y):
print(x,y)
bar(1,3)
# 1.3空函数
def func():
pass
func()

'''
空函数用于将函数架构搭建,后面慢慢添加
def update():
pass
def resgiter():
pass
def download():
pass
def login():
pass
def start():
pass
start()
'''
# 调用函数的三种形式
# 2.1语句形式
def foo():
print('from foo')
foo()#语句形式
# 2.2表达式形式
def foo(x,y):
res=x+y
return res
res=foo(1,2)#表达式形式
res1=foo(1,2)*100#表达式形式
print(res1)
# 2.3可以当作参数传给另外一个函数(是将调用函数传给两外一个函数)
def max2(x,y):
if x>y:
return x
else:
return y
# 比较1,2,3最大值
max2(max2(1,2),3)#本质是拿函数结果放到
原文地址:https://www.cnblogs.com/mcc61/p/10665237.html