Python函数的基本使用
什么是函数?
# 函数就相当于具备某一功能的工具 # 函数的使用必须遵循一个原则: # 先定义 # 后调用
# 函数分两大类:
# 内置函数(python自带)
#例如 len()
# 自定义函数(自己定义的)
为什么要使用函数
#不使用函数代码的特点 # 组织结构不清晰,可读性差 # 代码冗余 # 可维护性、扩展性差
函数的定义:
函数的使用必须遵循’先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于在引用一个不存在的’变量名’。
定义函数的语法格式:
def 函数名(参数1,参数2,...): """文档描述""" 函数体 return 值
解释:
def:定义函数的关键字;
函数名:函数名指向函数内存地址,是对函数体代码的引用。函数的命名应该反映出函数的功能;
括号:括号内定义参数,参数是可有可无的,且无需指定参数类型;
冒号:括号后要加冒号,然后在下一行开始缩进编写函数体的代码;
"""文档描述""": 描述函数功能,参数介绍等信息的文档,非必要,但是建议加上,从而增强函数的可读性;
函数体:由语句和表达式组成;
return 值:定义函数的返回值,return是可有可无的。
函数的三种形式
形式一:无参函数
def func(): print('哈哈哈') print('哈哈哈') print('哈哈哈')
# 定义函数发生的事情 # 1、申请内存空间保存函数体代码 # 2、将上述内存地址绑定函数名 # 3、定义函数不会执行函数体代码,但是会检测函数体语法 # 调用函数发生的事情 # 1、通过函数名找到函数的内存地址 # 2、然后加()号就是在触发函数体代码的执行 # print(func) # func()
形式二:有参函数
def func(x,y): # x=1 y=2 print(x,y) func(1,2)
形式三:空函数,函数体代码为pass
def func(x, y): pass
调用函数
1、语句的形式:只加括号调用函数
def func(): print('哈哈哈') print('哈哈哈') print('哈哈哈') func()
2、表达式形式:
def add(x,y): # 参数-》原材料 res=x + y return res # 返回值-》产品 # 赋值表达式 res=add(1,2) print(res) # 数学表达式 res=add(1,2)*10 print(res)
3、函数调用可以当做参数
def add(x,y): # 参数-》原材料 res=x + y return res # 返回值-》产品 res=add(add(1,2),10) print(res)
函数返回值(返回多个值用逗号,隔开)
# return是函数结束的标志,即函数体代码一旦运行到return会立刻终止函数的运行,并且会将return后的值当做本次运行的结果返回
# 注意
# 不加return,函数也是返回None
# 直接return,默认返回None
# return 值,返回一个值
# return 值1,值2,值3,返回一个元组(值1,值2,值3)
1、不加return或只有return
def func(): print('哈哈哈') return res=func() #==>None
2、return 值,返回一个值
def func(): print('哈哈哈') return 1 res=func() #==>1
3、return 值1,值2,值3(返回一个元组(值1,值2,值3))
def func(): print('哈哈哈') return 1,2,3 res=func() #==>(1,2,3)