执行结果:
也可以在可变参数后面命名关键字参数,这样就不需要星号分隔符了:
执行结果:
在Python对象及内存管理机制中介绍了python中的参数传递属于对象的引用传递(pass by object reference),在编写函数的时候需要特别注意 。
先来看个例子:
执行结果:
l1 和 l2指向相同的地址 , 由于列表可变,l1改变时 , l2也跟着变了 。
接着看下面的例子:
结果:
l1没有变化python函数传参!为什么不是[1, 2, 3, 4]呢python函数传参?
l = l + [4]表示创建一个“末尾加入元素 4“的新列表,并让 l 指向这个新的对象,l1没有进行任何操作 , 因此 l1 的值不变 。如果要改变l1的值,需要加一个返回值:
结果:
下面的代码执行结果又是什么呢?
执行结果:
和第一个例子一样,l1 和 l2指向相同的地址,所以会一起改变 。这个问题怎么解决呢?
可以使用下面的方式:
也可以使用浅拷贝或者深度拷贝,具体使用方法可参考Python对象及内存管理机制 。这个问题在Python编程时需要特别注意 。
本文主要介绍了python函数的几种参数类型:必选参数、可选参数、可变参数、位置参数、强制位置参数、关键字参数、强制关键字参数,注意他们不是完全独立的 , 比如必选参数、可选参数也可以是关键字参数,位置参数可以是必选参数或者可选参数 。
另外,python中的参数传递属于对象的引用传递 , 在对可变数据类型进行参数传递时需要特别注意,如有必要,使用python的拷贝方法 。
参考文档:
--THE END--
关于python函数传参和python函数传参指定类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- css新字体导入,怎么用css设置字体
- 嘉兴专注sap咨询公司,嘉兴spa 技师招聘
- 角色扮演游戏2456,角色扮演游戏大全
- 关于postgresql文档数据字典的信息
- mysql多表连接怎么看 mysql多表连接查询顺序
- thinkphp代码在哪里,thinkphp远程代码执行
- 图片转pdf软件高质量,图片转pdf的软件叫什么
- html5兴起,html5概述
- vb.net小游戏代码 vb游戏代码大全