python函数的基本使用
1、函数的基本知识
1.1 函数的作用
在开发一个程序时往往会存在这样一个场景,某一个功能会频繁使用,按照传统的方法用到这个功能又得再写一次这段代码,这样会导致某个程序出现大量相同的代码导致代码冗余占用大量的空间以及大量的重复工作,并且当这个功能发生改变时,每一次用到这段代码的部分都得修改,增加代码的维护难度。
函数的两个特性:模块性、复用率。
模块性:增加代码的可读性
复用率:解决代码的冗余
模块性+复用率:解决代码难维护
1.2 函数的语法
def 函数名(参数1,参数2,...):
"""描述文档"""
函数体
return 值
def:定义函数的关键字
函数名:指向函数的内存地址,是对函数体代码的引用
括号、冒号:函数语法必须有
参数:可有可无
描述文档:对函数的描述,增加函数的可读性,可有可无
函数体:函数的整体逻辑,函数需要实现的功能,可有可无
return:定义函数的返回值
1.3 什么是函数
我们可以将函数看成一个工厂,def是开厂的证件,函数名是工厂的名字和工厂的地址,参数是工厂的原材料,描述文档是对工厂的简介,函数体是工厂的流水线,return返回值是工厂的产品。
可以认为函数是解决某一类问题的工具。
2、函数的定义
2.1 无参函数
def func():
a = 1
b = 2
c = a + b
print(c) # 3
func()
# 结果打印:3
# 无参函数就是括号里面没有任何参数
2.2 有参函数
def func(x,y):
z = x + y
print(z)
func(1,2)
# 结果打印:3
# 有参函数就是括号中带参数,且参数个数看实现的功能而定。
2.3 空函数
def func(x,y):
pass
# 空函数就是函数体还没写,用占位符pass先占位,这是参数可有可无
3、函数的返回值
return可以定义函数的返回值,同时当函数体执行到return语句时函数就强制结束了
3.1 没有返回值
函数没有返回值的三种情况:
1、没有定义return
2、没有定义return的值
3、将return定义为 return None
def func1():
a = 1
f1 = func1()
print(f1) # None
def func2():
a = 1
return
f2 = func2()
print(f2) # None
def func3():
a = 1
return None
f3 = func3()
print(f3) # None
3.2 一个返回值
当return 只有一个值时,函数返回一个值。
def func():
return 1+2
f = func()
print(f) # 3
3.3 返回多个值
当return 定义多个值时函数返回多个值,值与值之间有逗号隔开,返回一个元组。
def func():
a = 2
b = 4
return a-b,a+b,a*b,a/b
f = func()
print(f) # (-2, 6, 8, 0.5)
4、函数的调用
一个函数被定义时,并没执行函数体的代码,但是会检测函数体代码是否存在语法错误(SyntaxError),若存在语法错误报错,若存在其他错误不报错,当调用函数时其他错误才会报错。
函数调用语法:
函数名()
注:函数名绑定函数的内存地址,函数名+()才能触发函数体代码执行,当函数有参数时,括号里得写上参数。
def func():
return "调用函数"
id_func = func
print(id_func) # <function func at 0x0000025DB3923EB0>
res = func()
print(res) # 调用函数
4.1 语句形式
调用函数时,只加括号调用函数
def func():
print("hoell word!")
func() # 语句形式调用函数
print("haha") # 语句形式调用函数
int("5") # 语句形式调用函数
4.2 表达式形式
调用函数时,用函数调用进行赋值,计算等操作
def func(x,y):
z = x + y
return z
a = 1
b = 2
c = func(a,b)
d = func(a,b) * 5
print(c) # 3
print(d) # 15
4.3 参数形式
调用函数时,将一个函数的调用做为另一个函数调用的参数。
def func(x,y):
z = x + y
return z
a = 1
b = 2
d = func(func(a,b),7)
e = func(func(a,b),func(8,9))
print(d) # 10
print(e) # 20