python之函数基础
-----------------------------------------------------------------------------------------------------
函数一般格式
函数的格式包括:
def 函数名(参数):函数名符合标识符原则
#函数格式 def main(*args,**kwargs): ''' 函数实现过程 ''' return '' #返回值
参数: 没有参数,有一个参数,有多个参数;
位置参数,默认参数,动态参数,顺序参数;
没有参数:定义函数和调用函数时括号里都不写内容
有一个参数:传什么就是什么
有多个参数:位置参数
位置参数:必须传,且有几个参数就传几个值
默认参数:可以不传,如果不传就是用默认的参数,如果传了就用传的
动态参数:可以接受任意多个参数,参数名之前加*,习惯参数名args,接收的是按位置传的值,返回时元组形式,参数名之前加**,习惯参数名kwargs,接收的是按关键字传的值,返回是字典形式,args必须在kwargs之前
参数顺序:位置参数,*args,默认参数,**kwargs
如下代码示例:
#定义一个my_sum函数,传入a,b的值,返回a+b def my_sum(a,b): #my_sum是函数名,res存总和,之后返回 res = a+b return res #返回值 sum = my_sum(3,4) print(sum)
完整的额参数代码:即包含位置参数,动态参数,默认参数
def my_sum(a,b,*args,c=8,**kwargs): #my_sum是函数名,res存总和,之后返回 sum = a+b for i in args: sum+=i return sum,kwargs #返回值,将默认参数前面的数计算总和,后面的赋值存储在字典 sum = my_sum(3,4,4,5,6,78,1,default=2,e = 'aaaa',f = 'bbbb') print(sum)
函数四个部分:
函数的定义:如何定义?第一时间想到def 啪啪啪括号冒号这堆
函数的参数:位置,默认,动态,传输格式:位置,*args,默认,**kwargs
函数的调用:变量 = 函数名(),如果函数有返回值,返回一个值,没有返回值,变量=None
函数的返回值:
没有返回值 :默认返回None
不写return:函数内的代码执行完毕自动结束
只写return:结束一个函数
return None
返回一个值:结束了函数且返回一个值,可以是任意的值
返回多个值 : 多个值之间用逗号隔开,接收的时候可以用一个变量接收(元祖),也可以用等量的多个变量接收
函数的参数:
形参:定义函数的时候括号内的参数
位置参数 :必须传
*args :动态参数 可以接收任意多个按位置传入的参数
默认参数 : 可以不传 —— 陷阱
**kwargs : 动态参数 可以接受任意多个按关键字传入的参数
实参:调用函数的时候函数时候括号内的传入的实际值
按照位置传参数
按照关键字传参数
可以混用 位置参数必须在关键字传参之前
不能对一个参数重复赋值
默认参数的陷阱:如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值就公用这个数据类型的资源
函数练习题:
1、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数
解析:结合字符串方法:isdigit() ,isalpha() ,isspace()方法及if语句就可以解决