当前位置: 首页 > news >正文

做视频链接网站网页搜索引擎

做视频链接网站,网页搜索引擎,苏州长尾词seo排名优化,名站在线脚本中含有默认参数,多次调用该方法,发现该默认值会沿用之前的结果 代码如下: def func(a, tes[]):tes.append(a)print(tes)if __name__ __main__:for i in range(5):func(i)func(10, [10])for x in "test":func(x)func(110, [10…

脚本中含有默认参数,多次调用该方法,发现该默认值会沿用之前的结果
代码如下:

def func(a, tes=[]):tes.append(a)print(tes)if __name__ == '__main__':for i in range(5):func(i)func(10, [10])for x in "test":func(x)func(110, [101])for x in "@@@":func(x)

输出结果为:

[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[10, 10]
[0, 1, 2, 3, 4, 't']
[0, 1, 2, 3, 4, 't', 'e']
[0, 1, 2, 3, 4, 't', 'e', 's']
[0, 1, 2, 3, 4, 't', 'e', 's', 't']
[101, 110]
[0, 1, 2, 3, 4, 't', 'e', 's', 't', '@']
[0, 1, 2, 3, 4, 't', 'e', 's', 't', '@', '@']
[0, 1, 2, 3, 4, 't', 'e', 's', 't', '@', '@', '@']

执行func(10, [10])和func(110, [101])的时候结果是正常的,但是遍历的时候就出错

这是因为:
函数的参数默认值只会被初始化一次,并且被重复利用。 当参数默认值为可变对象时,若函数调用时不传入参数值,则对该参数的默认值进行的任何操作实际上操作的是同一个对象。
将默认值修改为不可变参数

def func(a, tes=None):tes = []tes.append(a)print(tes)if __name__ == '__main__':for i in range(5):func(i)func(10, [10])for x in "test":func(x)func(110, [101])for x in "@@@":func(x)

输出就正常了:

[0]
[1]
[2]
[3]
[4]
[10]
['t']
['e']
['s']
['t']
[110]
['@']
['@']
['@']

可变数据类型:list dict set
不可变数据类型:tuple string int float bool

a = [1, 2, 3]
a[1] = 112
print(a)
# [1, 112, 3]
b = (1, 2, 3)
b[1] = 12
# TypeError: 'tuple' object does not support item assignment
a = [1, 2, 3]
b = a
print(id(a))
print(id(b))
a[1] = 112
print(a)
print(b)
print(id(a))
print(id(b))

改变a则b也跟着变,因为他们始终指向同一个地址

1899238159872
1899238159872
[1, 112, 3]
[1, 112, 3]
1899238159872
1899238159872
a = (1, 2, 3)
b = a
print(id(a))
print(id(b))
a = (112, 112)
print(a)
print(b)
print(id(a))
print(id(b))

a改变后,它的地址也发生了变化,而b则维持原来的地址,原来地址中的内容也没有发生变化

2245734362176
2245734362176
(112, 112)
(1, 2, 3)
2245732924608
2245734362176
def func(ls):ls.append("aaa")def func(ls):ls+="aaa"ls = [1, 2, 3]
print(id(ls))
func(ls)
print(ls)
print(id(ls))

可变对象作为参数传入时,在函数中对其本身进行修改,是会影响到全局中的这个变量值的,因为函数直接对该地址的值进行了修改

2397764547648
[1, 2, 3, 'a', 'a', 'a']
2397764547648
def func(ls):ls += "aaa"print(ls, id(ls))ls = "123"
print(id(ls))
func(ls)
print(ls)
print(id(ls))

虽然函数中的a值变了,但是全局中的a值没变,因为函数中的a值已经对应了另外一个地址,而全局中的a值指向的原来地址的值是没有变的

2497344780976
123aaa 2497344781424
123
2497344780976
http://www.lbrq.cn/news/2539675.html

相关文章:

  • 广东省网站免备案安徽网站设计
  • 云南网站建设费用市场营销师报名官网
  • 成都网站搜索优化百度搜索引擎的原理
  • h5商城网站是什么企业培训考试系统
  • 张店好的网站建设的公司网络推广技术外包
  • 建网站需要服务器吗百度怎么发布广告
  • 合肥企业网站建设工网络营销概述ppt
  • qq官方客服在线咨询企业网站优化推广
  • 学校教务网站的设计与实现热点新闻
  • 湖南网站建设企业长安网站优化公司
  • html5做网站网络营销广告名词解释
  • wordpress 搬家乱码网络优化公司有哪些
  • 门窗网站建设杭州seo网站建设靠谱
  • 新沂建设工程交易中心seo 视频
  • 如何策划网络推广方案搜索引擎优化的内容包括
  • 福州网站设计网址怎样在网上推广
  • 那里有专业注册网站建设的如何查看网站权重
  • 一台机器在家创业合肥优化
  • 武汉网站托管公司网址大全下载
  • 做外贸是用什么网站做网站建设及网络推广
  • 设计做图免费网站重庆seo研究中心
  • 网页设计与制作实验报告心得体会seo实战培训学校
  • 装饰公司做宣传网站宣传推广的十种方式
  • 外贸免费开发网站建设网络推广公司排行榜
  • 网站建设广州市软文营销案例分析
  • 做网站选云服务器内核百度知道首页官网
  • 网站怎么做动态背景图片深圳网络推广培训学校
  • 网络推广方案包括哪些内容网络seo哈尔滨
  • 个人网站可以做品牌推广好的产品怎么推广语言
  • 服装公司电商网站建设规划广州seo顾问
  • AOP动态代理
  • [Linux入门] Ubuntu 系统中 iptables 的配置与使用
  • day38 力扣279.完全平方数 力扣322. 零钱兑换 力扣139.单词拆分
  • 探索 VMware 虚拟机:开启虚拟化世界的大门
  • Vue2 项目实现 Gzip 压缩全攻略:从配置到部署避坑指南
  • 新一代PLC控制软件平台EsDA-AWStudio