Python-函数-参数类型(关键字、默认、不定长)

一、参数类型:

 
1、如参数为数据类型(nummber),str,则函数体中不可修改参数值
 
2、如参数为set,list,dict,则函数体中可修改参数值
 
 

二、参数基本类型分为:必需参数、关键字参数,默认参数,不定长参数

 
  1. 必需参数: 须以正确的顺序传入函数,调用时参数数量必须和声明时一样。

必须参数函数实例:
 
def myfunc(str):
  print(str)
  return
 
myfunc('aaa')

  

  2.关键字参数:允许函数调用时参数顺序与声明不一致,因为解释器会根据参数名去匹配参数值的

关键字函数实例:

 
def myfunc(name,age):
    print('name',name)
    print('age',age)
 
myfunc(age=18,name='zhangsan')

  3.默认参数:调用函数时,如果没有传递参数,则会使用默认参数

def myfunc(name ,age=18):
    print('name',name)
    print('age',age)
 
myfunc('cc')

  4.不定长参数:参数的个数不能确定,可能你需要一个函数来处理比当初声明更多的参数,这些参数就叫做不定长参数,跟上述参数不同,声明时不会命名

  • 加了星号*的参数以元组的形多导入,存放所有未命名的变量参数
  • 参数带两个星号**的参数以字典的形式导入,传参时需要通过健值对传入
  • *可以单独出现,但是调用时必须用关键字传入,如*穿插在参数中间,则*后面的参数要以关键字传入
 
例一:
def myfunc(*info):
    print(info)
    print(type(info))      #class(tuple)


myfunc('',19,'上海')

例二:
def myfunc(**info):
    print(info)

myfunc(name = '张三',age = 19)   #取值则通过表达式key,value的方式取值,即info['name']

例三:
def sum(num1,num2,*, num3):
    return num1 + num2 + num3

print(sum(1,2,num3 = 3)) 
#执行结果为6

 总结:一般参数比较多时,容易忘记传参的顺序,这时候可以用关键字参数,也可以用不定长参数