栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数组在python中可以作为默认参数吗?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组在python中可以作为默认参数吗?

还记得之前我们为了使用功能避免进行多次操作,可以选择构建一个框架,框架的功能定义好后就可以直接使用了,同样我们的参数也可以这样定义。在函数调用参数之前,我们就可以给参数赋予值,调用的时候就会自动显示,也省去了我们每次输入的麻烦。那么,我们所学的数组可以作为默认参数吗?接下来我们就一起探讨一下。

默认参数用于定义函数,为参数提供默认值,调用函数时可传可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)

# 正确的默认参数定义方式--> 位置参数在前,默认参数在后
def print_hello(name, sex=1):
    ....
 
# 错误的定义方式
def print_hello(sex=1, name):
    ....
 
# 调用时不传sex的值,则使用默认值1
# print_hello('tanggu')
 
# 调用时传入sex的值,并指定为2
# print_hello('tanggu', 2)

在使用默认参数的时候要特别注意的一点是,默认参数必须要指向不可变对象,比如数组、字典这些都是可变对象,是不能被用作默认参数的,至于为什么,这里不细说了,大家先记住就好,看下面这个例子。

#默认参数,注意不能使用list或dict等作为默认参数
 
def defaultParams(m=1,n=100):
    sum = 0
    for i in range(m,n+1):
        sum += i
    print(sum)
    return sum
 
 
#如果使用list数组来作为默认参数,多次调用函数的返回值会发生变化,在使用过程要特别注意
 
def defaultParamsTemp(list=[]):
    list.append(9)
    print(list)
    return list
 
defaultParams(1,3)
defaultParamsTemp()
defaultParamsTemp()
defaultParamsTemp()
6
[9]
[9, 9]
[9, 9, 9]


通过我们对于默认参数基础知识的了解,因为数组是可变的,而只有不可变对象才能作为默认参数,所以数组是不能在python中作为默认参数的,这点小伙伴们一定不能弄错了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/11390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号