函数
一 函数的基本使用
1 什么是函数
函数就是具备某一功能的工具
2 为什么要用函数
1 程序的组织结构不清晰,可读性差
2 代码冗余
3 可扩展性差
3 如何用函数
函数的使用必须遵循的原则:先定义,后调用
修理工事先准备工具的过程即函数的定义
修理工遇到应用场景拿来工具就用即函数的调用
语法:
def 函数名(参数1,参数2,...):
"""
文档注释
"""
code1
code2
code3
......
return 返回值
def:定义函数的关键字
函数名: 就相当于一个变量名,指向函数的内存地址(print(函数名)),
注意:函数的内存地址()就可以触发函数体代码的执行
参数: 参数是函数的调用者为函数体代码传值的媒介,在python中函数的参数无需声明类型
"""文档注释""" : 推荐写上
代码块:就是函数体功能的具体实现
return 返回值 :函数体代码块运行的成果
函数的使用分为两个阶段:
定义阶段: 只检测语法,不执行代码
调用阶段:运行函数体代码
def foo():
xxx
print()
# 先定义 # def foo():9 # print("from foo") # 后调用 # print(foo) # foo() # 定义时无参,意味着调用时也无需传入参数 foo跟上()触发函数体代码的执行
# 先定义 # def bar(x,y): # print(x) # print(y) # 后调用 # bar('a',2) ## 定义时有 参,意味着调用时也必须传入参数
什么时候定义无参函数:
当函数体的代码逻辑不依赖任何传入的值就能执行,就不需要定义参数
# def print_msg(): # print('='*50) # print('welecome.....'.center(50,' ')) # print('='*50) # # print_msg() # print_msg()
什么时候定义有参数函数:
定义有参函数:当函数体的代码逻辑依赖于外部调用者传入的值才能执行,必须定义参数用来接收外部传入的值
# def max2(x,y): # if x > y: # print(x) # else: # print(y) # max2(1,4)
# def max2(x,y): # if x > y: # return x #运行函数体时,只要遇到return就会停止运行结构体 # else: # return y # res=max2(1,4) # print(res)
# 定义阶段 def foo(): print('from foo') bar() # 调用阶段 foo() def bar(): #放在调用前(即foo()前面)不会报错,放在这里会报错,因为调用前没有定义 print('from bar')
#二 定义函数的三种形式 #1.1 无参函数 # def foo(): # print('from foo') # foo() #1.2 有参函数 # def bar(x,y): # print(x,y) # bar(1,2) #1.3 空函数 # def func(): # pass #略过函数体 # ftp # def upload(): # pass # # def download(): # pass # # def login(): # pass # # def register(): # pass # # def ls(): # pass #三 调用函数的三种形式 #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 # res=max2(max2(1,2),3) # print(res)