python列表赋值1到100_Python量化随笔丨那些年,我写Python踩过的坑(一)

这是一篇关于Python量化的笔记~坑的时候有一种很奇怪的感觉,我对Python似曾相识,又觉得陌生。打游戏发现新的隐藏关卡带来的是喜悦,而python的坑带来的是自我怀疑,甚至可能是实实在在的经济损失,所以,坑,我们踩过的,一定带你绕过去。

下面让我们一起看看python隐藏的坑,排名不分先后。

1. Python量化之基础篇

基础的坑,最重要的是举一反三,最怕的是在黑板上老师写了‘一’,回家在笔记本上写一个横线就不认识这种事情。

忘记写冒号。在def,if,while,for等语句第一行某位输入”:”。

缩进要一致。避免在缩进时混合使用制表符和空格。

不要认为在原处修改对象的函数会返回结果。例如a = list.append(),a是不会被赋值的。

不要在变量赋值前就使用变量。例如a = b写这行代码时,b在此之前一定要被赋值过的。

函数调用一定要加括号。例如dataframe.dropna()。

不要写死循环。例如while True: 之后的代码块中没有跳出循环的代码。

判断两个变量是否相等用的是‘==’号。大多数初学者,觉得‘=’号就可以了。

写字符串,写各种样式的括号时注意他们是成对出现的。常见['a', b']这样的错误,然后觉得自己代码没有问题的初学者。

2. Python量化之进阶篇

有一句歌词唱的挺好的,“跨过这道山,越过那道岭,眼前又是一座峰”。基础的坑排完了,还会有更多,更隐藏的坑等着你去踩。(比较熟悉这个歌的同学,我觉得你大概率上是北方人,更具体点的话,是东北人)

2.1 赋值仅仅生成引用

a = [1, 2, 3]

b = a

这里你认为自己构建了两个相同的列表,准备用在不同的用途。然而当开开心心的进行接下来的其他操作时,比如,对a进行修改,就发生了其他的事情。

a[1] = 100000a

out: [1, 100000, 3]

b

out: [1, 100000, 3]

结果发现,本来希望只对a进行修改,结果发现b也受到了影响,其原因在于通过b = a的方式进行对b赋值,其实a、b指向同一个列表对象。我们可以通过查看a、b的内存地址或用is进行验证

print(id(a), id(b))

out: 124006856 124006856

可以看到a、b指向的其实是同一块内存

a is b

out: True

用is也检测出a和b完全就是一个东西的不同名字而已。

上面的赋值方法还是比较容易看出,因为有等号,那么下面的赋值方法可能就稍微难一点看出来了。

c = [1, a, 3]

c

out: [1, [1, 100000, 3], 3]

当对a修改时,c同样也会受到影响

a.append(100000)

a

out: [1, 100000, 3, 100000]

c

out: [1, [1, 100000, 3, 100000], 3]

所以,不要觉得写完了,print出来的东西看着和自己想的一样就万事大吉,不实际踩一下肯定不知道接下来有坑。

那么,如何

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值