01.04 笔记 - 函数参数

2019-01-04  本文已影响0人  xxxQinli

位置参数和关键字参数(根据实参的传递方式对参数进行的分类)

a. 位置参数:实参位置和形参保持一致,按参数的先后顺序一一赋值

b. 关键字参数:调用函数的时候,以形参 = 实参的方式来传参,这个时候实参的顺序无所谓

每个形参都必须有值,且数量不能多


def func1(a, b, c):

 print(a, b, c)

# 通过位置参数给形参赋值

func1(10, 20, 30)

# 通过位置参数和关键字参数结合传参(注意关键字参数必须在位置参数的后面)


参数默认值


参数的类型说明 - 类型说明只有提示功能,没有约束功能

注意:若一个参数已经给力默认值了,就不能再加冒号写类型名

类型说明的好处:a. 对实参的类型进行指导,b. 实现函数功能的时候有类型相关的语法提示

def func2(a:int, b:str):

 print(type(a), type(b))

func2(1, '123')

func2('str', 1)

def func3(list1 = 'name or num', index = 0):

 print(list1[index])

func3()

不定长参数

注意:a. 如果函数中即有不定长参数,又有普通参数,那么不定长参数必须放在普通参数后边

开发时一般是一颗星与两颗星同时存在,或者只用一颗星

不带星要放在一颗星前面,一颗星要放在两颗星前面


def func7(\*args, \*\*kwargs): #让调用函数的时候更加随意,使用位置参数或者关键字参数都可以

 print(args, kwargs)

func7(10, 5, 89) 

func7(a = 1, b = 2, c = 3)

func7(90, 70, z = 1, v = 87)

# 写一个函数,计算多个数的和(要求可以使用位置参数也可以使用关键字参数)

def sumItem(\*args, \*\*kwargs):

 print(sum(args) + sum([value for value in kwargs.values()]))

sumItem(1,2,3)

sumItem(a=1, b=2, c=3) 

sumItem(1, 2, 3, a=1, b=2)
上一篇下一篇

猜你喜欢

热点阅读