一、默认参数和关键字参数#

1. 默认参数#

  • 形参设定默认值 称为 默认参数
  • 调用函数时,如果没有传入默认参数对应的实参,则实参使用默认值
  • 默认参数在调用的时候可以不传递,也可以传递
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def sayHello(name='林青霞'):# 形参 没有默认数据的参数定义在有默认数据的参数后面
    '''
    给女神打招呼
    :param name:
    :return:
    '''
    print('hello %s'%(name))

# 调用时不传递参数,使用默认值
sayHello()
# 调用时传递参数
sayHello('高圆圆')

注意:默认参数一定要在参数的最后

1
2
3
4
5
6
7
8
9
def sayHello(score,name='林青霞'):# 默认参数放在参数最后面
    '''
    给女神打招呼
    :param name:
    :return:
    '''
    print('hello %s'%(name))

sayHello(60,'高圆圆')

2. 关键字参数#

  • 调用函数时,实参可以指定对应的形参,称为 关键字参数
1
2
3
4
def sayHello(name,age,score):
    print('姓名:%s,年纪:%d,分数:%f'%(name,age,score))

sayHello(name='林青霞',age=60,score=70.5)
  • 使用关键字参数调用可以改变传递参数的顺序
1
2
# 改变参数传递的顺序
sayHello(score=70,age=30,name='高圆圆')

3. 默认参数作用-代替方法重载#

网络请求是开发中最常见的需求

通常一个网络请求包含:请求地址、请求方式等

需求

1
通过一个函数实现网络请求的GET和POST

代码

1
2
3
4
5
6
7
8
9
def sendRequest(path,method='GET'):
    # 发送网络请求
    print('请求地址:%s,请求方式:%s'%(path,method))

# 30种请求 GET:25 POST:5
# 请求新闻列表
sendRequest('http://www.toutiao.com')
# 登录
sendRequest('http://toutiao.login.com','POST')

说明:

通常GET请求是最频繁的请求方式,可以直接调用不加参数

如果需要POST请求,加上请求的method即可

默认参数可以替代其它语言比如java中的方法重载