我是 R 的 Python 新手。我最近花了很多时间阅读 Python 中的一切如何都是对象,对象可以调用自己的方法,方法是类中的函数,yada yada yada。
这是我不明白的。采取以下简单的代码:
mylist = [3, 1, 7]
如果我想知道数字 7 出现了多少次,我可以这样做:
mylist.count(7)
那当然返回 1。如果我想将计数值保存到另一个变量:
seven_counts = mylist.count(7)
到现在为止还挺好。除了语法之外,行为类似于 R。但是,假设我正在考虑在我的列表中添加一个数字:
mylist.append(9)
等一下,该方法实际上改变了变量本身!(即,“mylist”已被更改,现在将数字 9 作为列表中的第四个数字。)将代码分配给一个新变量(就像我对 Seven_counts 所做的那样)会产生垃圾:
newlist = mylist.append(9)
我发现这种行为的不一致有点奇怪,并且坦率地说是不可取的。(假设我想先看看 append 的结果是什么样的,然后可以选择决定是否要将它分配给一个新变量。)
我的问题很简单:
有没有办法提前知道调用特定方法是否会实际改变您的变量(对象)?
叮当猫咪
小怪兽爱吃肉
GCT1015
相关分类