【python】 numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能

经过搜索和查询源码了解到,.T就是一个方法,但是是被装饰器修饰了一下...


@property是python内置的装饰器。它可以实现把类内方法当做属性来使用,或者说负责把一个方法变成属性来调用。因此出现了ndarray.T这样看起来像是访问了属性但是却实现了方法的功能。

想把一个getter方法变成属性,只需要加上@property就可以了。例如:

class Cube():    def__init__(self, edge):        self.a=edge    @property    def v(self):        return self.a**3

这里的v虽然是一个方法,但是经过了@property的修饰,就必须以属性的形式使用了。

但是值得注意的是,这里的v是处于只读(read only)的状态的。如果想要直接修改v(从而来修改edge),那么还需要定义setter方法。

具体代码示例如下:

class Cube():    def__init__(self, edge):        self.a=edge    @property    def v(self):        return self.a**3    @v.setter    def v(self,value):        self._v = value

附录

源码

本文参考:

知乎[1]

廖雪峰的官方网站[2]

引用链接

[1] 知乎: https://www.zhihu.com/tardis/sogou/qus/395169359[2] 廖雪峰的官方网站: https://www.liaoxuefeng.com/wiki/1016959663602400/1017502538658208#0

fun是什么意思 python中def_【python】 numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能...相关推荐

  1. python 中arange函数_浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性. ...

  2. Python中用pandas将numpy中的数组数据保存到csv文件

    Python中用pandas将numpy中的数组数据保存到csv文件 本博客转载自:[1]https://blog.csdn.net/grey_csdn/article/details/7018587 ...

  3. python数组排序-python - 按列在NumPy中对数组进行排序

    python - 按列在NumPy中对数组进行排序 如何在第n列中对NumPy中的数组进行排序? 例如, a = array([[9, 2, 3], [4, 5, 6], [7, 0, 5]]) 我想 ...

  4. python 三维数组,numpy中np.shape的理解

    python 三维数组,numpy中np.shape的应用 直接贴图对于shape函数一般表示输出数组的形状,对于二维数组就是输出行与列,对于三维数组,shape[0]表示三维数组中包含多少个二维数组 ...

  5. python中matrix函数_使用python解线性矩阵方程(numpy中的matrix类)

    这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题.在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我就想用python求解线性方程.查阅资料的过程中找到了一个极 ...

  6. Python之数据分析(Numpy中的除法和取余、三角函数、ufunc对象的位运算)

    文章目录 一.四种除法 二.取余运算 三.斐波那契数的四种求法 四.坐标变化的三角函数 五.ufunc对象位运算 一.四种除法 1.真除: 结果完全保留,小数部分也保留 1)numpy.true_di ...

  7. python npv 计算公式_Python numpy 中常用的数据运算

    Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.--<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...

  8. python数组求和_Python NumPy中的数组求和函数sum | 坐倚北风

    在Python中可以使用NumPy中的sum函数来进行数值求和,sum方法的格式如下: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=, ...

  9. 【Python】详解Numpy中的点积运算

    1. 引言 根据数学家的说法,点积是一种运算,它取两个等长的向量作为输入,然后返回一个数字(标量).向量A与向量B的点积用符号表示为A•B.在线性代数中,点积是输入向量中每个对应元素的乘积之和. 本文 ...

最新文章

  1. JAVA日期加减运算
  2. python中字符串单引号、双引号、三引号_Python:字符串单引号(‘)、双引号(“)、三单引号(”’)和三双引号(“””)的区别...
  3. 判断点在直线的哪一侧_点与线、线与线、距离这些一锅煮,你能否顺利消化
  4. 计算机设备安全检查表,信息安全检查表
  5. Numpy练习题-锻炼手写机器学习模型的能力
  6. [Linux] VIM 代码折叠
  7. python 编程效率_如何有效提升数据分析效率?五大Python技巧
  8. @SuppressWarnings使用的正确姿势
  9. WebMatrix经典案例
  10. SCPPO(二十一):系统统一身份认证的改造之路(续)
  11. URL重写,asp.net URL重写,URLRewriter.dll下载
  12. Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/
  13. 不用找,你想要的3dmax最新IES光域网素材都在这里!
  14. 计算机第一个应用领域是,第一代计算机主要应用领域是什么
  15. 立波 iphone3gs越狱教程:成功把iphone3gs手机升级成ios6.1.3系统,完美越狱,解决no service和耗电量大的问题...
  16. 020_linux驱动之_输入子系统按键应用
  17. 【算法】求n的m次方(快速幂取模)
  18. 推荐下Python的IDE:PyScripter,Spyder以及使用心得分享
  19. h264_nvenc GPU硬件编码与硬件加速
  20. 新世纪大学英语(第二版)综合教程第一册 Unit 2 (中英翻译和重点单词)

热门文章

  1. 这100道Linux常见面试题,看看你会多少?
  2. 雷军1994年写的诗一样的代码,我把它运行起来了!
  3. vivado不识别HLS生成的IP解决方法
  4. dns的服务器地址是多少当前位置,dns的服务器地址设置为多少
  5. c语言提取图片yiq分量,图片数字水印C语言代码
  6. python单例模式解析_Python下简易的单例模式详解
  7. python类的专有方法_Python——类的专有方法
  8. matlab静态变量怎样分配内存,matlab中的静态变量
  9. upload-labs_less3_less4_等价扩展名绕过_.htaccess文件改变文件扩展名
  10. sqli-labs less11 POST注入-字符型