首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python参数初始化问题

正常的初始化略过,讲讲初始化里面遇到的问题。

今天以为名叫“bill”的网友问了我一个相当“深奥”的问题,上图:

这个问题出自“廖雪峰的官网”

其实这个函数很好理解,但是有个小问题:

明明被初始化了的L,为什么在默认参数的情况下,会一直被调用。

廖雪峰给的解释是:

bill没看明白,我也看的云里雾里。我的第一反应是c语言里面的指针。呵呵,我就是因为看不懂指针才来学python的,但是为了回答bill的问题,我在网上仔细的查了一下。

最后得出了一个我觉得很靠谱,很容易明白的解释。

首先,我们要先补充一下概念。

什么是“可变量”,什么是“不可变量”

我不想说定义,因为我也没太看明白。

我们只需要了解,在python中

不可变量:字符串(str),数值(int float),元组(turpe)

可变量:列表(list),字典(dict),集合

在python函数中

可变量在每次调用时都会被初始化。

不可变量只有在第一次调用中会被初始化(往后的调用都是建立在前一次调用的运算基础上的)。

解决方案:

用不可变量做参数,然后通过判断,重新初始化

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180112A0ZYXJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券