09-函数基础与函数参数

时间:2024-10-20 15:56:00

文章目录

    • 初识函数
      • 函数基础
      • 返回值-return
  • 函数参数
      • 内置函数
      • 文档字符串
      • 参数进阶

初识函数

函数编程 != 数学函数,也不是套公式,里面存的是逻辑以及功能。

函数:实现特定操作的一段代码

​ 把一些经常用到的代码吧保存下来,取一个有意义的名字,以后需要用到的时候只需要调用它就可以了。

数值类型:保存一个数据

散列类型:保存多个数据

函数:保存的是多段代码

在python中我们经常用到的代码都已经内置好了,

函数的优点;

​ 1.遇到重复的代码的时候,可以定义为函数,省事

​ 2.让代码看起来更加清晰明了,架构性更强

​ 3.修改拓展起来更加方便

本质:把一些有用的代码保存起来,取个名字,方便后续使用。

函数基础

函数的命名规则和变量是一样的:

​ 1.由数字,字母,下划线组成

​ 2.不能数字开头,不能有其他特殊符号,区分大小写

​ 3.不能用关键字

​ 4.见名知意

函数名如果没有特别的作用可以取名为fun

函数使用分两步:

​ 1.定义 --> defin – >def

​ 2.使用,调用

1.基本定义:

​ def 函数名():

​ 代码内容

def fun():
    print('666')

2.函数的基本使用:

​ 函数名()

fun()
# 666

3.定义一个空函数,还没有想好写里面的内容时,可以先放个pass

​ def 函数名():

​ pass

def fun():
	pass

4.有返回值的函数

​ def 函数名():

​ 代码块

​ 返回值

def add(num1,num2):
    num3 = num1+num2
    return num3
print(add(19, 5))
# 24

def add(num1,num2):
    return num1+num2
print(add(19, 5))
# 24

5函数的调用方式:

​ 1.直接调用的函数,直接运行里面的代码,不显示,会输出返回值

​ 函数名():

fun()

​ 2.输出返回值内容,把函数名()用print包裹起来,就会

​ 先运行函数

​ 再输出函数的返回值

​ print(函数名(参数))

print(fun(666))

​ 3.用函数来赋值

​ 1.把函数本身赋值给一个函数

​ 函数名 = 函数

a = print  #把print函数复制一份

​ 2.把函数返回值赋值给一个变量

​ 变量名 = 函数名() # 把返回值赋值给变量

a = add(666,555)

返回值-return

return就是一个返回值

把值返回给/赋值给函数本身

返回值一般是要结合函数参数来使用

可以把函数里的代码,理解为过程 ---- 返回值表示为结果

有的时候不需要过程,所有就直接取结果就可以了

有的函数没有返回值,如果没有定义返回值,默认返回一个None

​ 函数 – > 做一件事情

​ 代码块 – > 做事的过程

​ 返回值 – > 做事的结果

返回值的细节:

​ 1.返回的类型是不限的,int,str,list,tuple都是可以的,包括可以返回一个函数

​ 2.返回的数量是不限的,可以一次性返回多个数据,得到的数据为元祖类型。

def 函数名():

​ return 返回值

函数参数

​ 形参:没有具体的数据,只是先占个位置 ---- >定义时出现

​ 实参:有具体的数据,在运行时取代形参 ----> 调用时出现

定义带参函数:

​ def 函数名(参数):

​ 代码块

def fun(name):
    print(f'我是{name}')

调用带参函数:

​ 函数名(参数)

fun(BIgmouse)
# 我是BIgmouse

内置函数

python自带的一些功能函数

print 输出语句
input 输入语句
type 获取数据类型
len 获取数据长度/个数
min 获取最小值
max 获取最大值
sum 获取数据的和

文档字符串

基于函数写的注释,看起来和注释差不多.但是可以被调用.在写函数的时候更推荐用文档字符串

def 函数名():
	''' 文档字符串内容 '''
	代码块

def fun():
	'''我不是普通的注释,我是文档字符串'''
	print(123)

输出方式:
函数名.__doc__
fun.__doc__
input.__doc__

用法就是查看函数的使用说明:
	1.函数的作用
	2.函数参数的作用
	3.函数返回值的作用

参数进阶

关于函数里的参数的一些进阶用法
1.必备参数: 有几个形参就要有几个实参.数量要一致
定义时:
def 函数名(参数1,参数2):
调用时:
函数名(参数1,参数2)

def add(num1,num2):
    pass

add(123,232)

2.默认参数: 在声明参数的时候就提前赋好值,作为一个默认的参数
定义时:
def 函数名(参数1,参数2 = 值):
调用时:
函数名(参数1) # 由于有一个值是默认参数,传一个参数就可以了
函数名(参数1,参数2) # 这样就会覆盖原来的值

def info(name,age,sex = '男'):
    print(f'大家好,我是{name}今年{age}岁,是一名{sex}孩子')
info('BIgmouse',18)
# 大家好,我是BIgmouse今年18岁,是一名男孩子

注意: 赋值的默认参数要写在右边不能写左边.

3.不定长参数1:
有的时候可能出现.不清楚这个函数会接受多少个参数的情况,这时候就用不定长.
不定长参数可以一次性接受多个数据的值.接收到的数据为元组类型
不定长参数的表现形式:

​ 定义时:

​ def 函数名(*args):

​ 调用时:

​ 函数名(值1,值2,值3)

def info(*args):
    print(args[:3])

info('666','Bigmosue',True,123)
# ('666', 'Bigmosue', True)

参数是不固定的.不一定非得叫args.但是这个属于潜规则.正常情况下都叫args

4.不定长参数2:
也是一次性接受多个数据,接受的数据类型为键值对.得到的参数变量为字典类型的数据.
不定长参数2的表现形式为:**

​ 定义时:

​ def 函数名(**kwargs):

​ 调用时:

​ 函数名(**{键1:值1,键2:值2})

def info(**kwargs):
    print(kwargs)

info(**{'name':'BIgmosue','age':18,'sex':'男'})
# {'name': 'BIgmosue', 'age': 18, 'sex': '男'}

参数名同样也不是固定的,但是最好取名为kwargs