我试图弄清楚以下是否在Sage中是不可变的(它是基于Python构建的,所以我相信如果它在python中是不可变的,我相信在大多数情况下它将在Sage中不可变)
以下是对象e,f,g,i
class e: pass
f = e()
g = pi # (g's "type" in Sage is symbolic expression. It's supposed to be 3.1415....etc)
i = lambda x: x*x
Run Code Online (Sandbox Code Playgroud)
我认为e是一个类,这意味着它是可变的(不可变类是否有意义?不能修改所有类吗?).由于f是一个类的实例,我猜它也是可变的,因为类是可变的.
由于数字在Python中是不可变的,因此g也应该是不可变的,因为它是一个数字,尽管是不合理的
最后我是一个函数,这意味着它应该是可变的?
我不太确定我理解不变性的概念.函数是不可变的意味着什么?对于一个不可变的类?
我正在尝试在python中创建一个方法(并利用numpy)来获取矩阵A并使用高斯消元法将其减少为减少的行梯形形式.
我遇到了第一个试图将一个集合作为参数传递的问题.
例如:def gauss([A]):给我一个错误,这让我很惊讶.为什么是这样?
另外,我计划在程序中构建矩阵的方式(也许是唯一的方法?)如下:
a = numpy.array([[1 ,2 ,3] , [4 ,5 ,6] , [7 ,8 ,9]])
Run Code Online (Sandbox Code Playgroud)
所以我希望能够把它传递a给我的方法gauss(a),然后高高兴兴地对你的矩阵做一些可怕的事情
谢谢