函数基础
1.函数定义:
编程函数——>首先它不是数学函数,它是和变量、列表、字典类似。就是储存代码。
比如:我去叫外卖,我点了一份肯德基,肯德基是有一些热门菜的(汉堡、薯条、炸鸡、可乐)。
那么,我们可以弄一个套餐,把这些热门菜(xxx、xxx),例如上述热门菜可以任意组合成不同的套餐。
函数的优点: 1.如果有多个公共功能区域,可以用函数进行保存。(封装)后面直接用方法(函数调用)就行了。
2.能够规范代码编写。
3.后期可以统一修改功能或维护程序。
2.函数基础:
函数是敲两个回车键,空格则敲一下空格键。
2.1函数命名:
命名方式:1.符合标识符
2.常用命名法(大驼峰法、小驼峰法)
关键字:def
格式:def 函数名( ):
代码块 #调用
函数名( )
例如:
def func( ):
print("这是一个函数")
func( )
定义空函数:
def func( ):
pass
func( )
———————————————————————————————————————————
2.2返回值:
返回值——>return
因为函数运行程序时,是一定有一个结果的,如果我们需要这个结果时。就需要用return返回值给到我们。
比如,我们去定义一个计算函数,那我们需要运算后的结果给到我们,我们就需要return返回。
返回值的特性:
1.结果不限制类型。
2.返回值也可以是多个数据类型,返回多个数值时,用【,】。一旦运行到返回值就结束函数代码块,类似break的意思,停止函数运行。
2.3带有返回值的函数:
例如:
def add( ):
result=1+1
return result
print(add( ))
b=add( )
print(b)
3.函数参数:
函数是具有实参和形参,形参就是英文字母变量暂时代替,实参就是具体的数值。
当传入的数值是(实参)会把形参进行赋值。
例如:
def into( ): #name="梓良"
print(f'我是{name}')
into("梓良")
#当传入的数值(实参)会把形参进行赋值,再传入进去。
那么,我们如何正常输出数据呢?
3.2多参数:
格式:
def 函数名(形参1,形参2,形参3)
代码块
函数名(实参1,实参2,实参3)
注意:我们函数有多少个形参,就要有多少个实参传入。
例如:
def info(name,age,height)
print(f'我是{name},年龄{age},身高{height}')
info("资名扬",19,177)
3.3不定长参数:
即:不定义长度的参数,是根据传入的实参进行实时调整。
有时候我们不确定传入多少个参数,就可以设置一个不定长参数,这样就可以接受多少个参数。
例如:
def 储存函数:
#我不知道这一期学生有多少个。
print("打印学生名字")
储存函数(a,b,c,d,e,f,g,h,i…….)
特征:在不定长参数里面,传入的参数是自动转换为元祖或键值对,所以可以对不定长参数进行切片、索引等操作。
不定长参数1(元组)
def func(*args):
print(f"学生名字是{args[0]},{args[1]}")
func("小红","小黑","小白") #实参只能大于或等于函数运用的参数。
不定长参数2(字典)
def fun1(**kwargs):
#print(f'{kwargs["1"]},{kwargs["2"]}')
print(f'{kwargs["_1"]},{kwargs["_2"]}')
#fun1(**{"1":"小红","2":"小黑"})
fun1(_1="小红",_2="小黑")
#fun(name1="小红",name2="小黑")
——————————————————————————————————————————————
4.内置函数与匿名函数
4.1内置函数
print( )
input( )
type( )
还有我们的其他常用函数
max( )求最大值
min( )求最小值
len( )长度函数
sum( )求和
(括号中是序列名)
4.2匿名函数
它是作为一些不需要被定义函数名的函数或者子函数。
在python中,有些函数是比较简单的,并不需要def的关键字进行定义,只需要关键字lambda定义即可。
和函数相比:
1.不需要命名
2.匿名函数结构会很简洁,会处理一些简单的逻辑代码
格式:
底层代码如下图所示:
5.文档字符串
就是对函数进行解释,也是只注释但却不参与运行,但是文档字符串是可以打印出来的,也就是说我们可以在外面打印里面的信息。
例如:
def func( ):
"""
这是一个文档字符串
"""
print(print.__doc__)
print(input.__doc__)——>查询源代码