有人能解释一下python函数到底是怎么回事吗?
我在python中所知道的是我可以写这样的东西有人能解释一下python函数到底是怎么回事吗?,python,class,oop,Python,Class,Oop,我在python中所知道的是我可以写这样的东西 blabla = Classname().somefunctions() 但在这种情况下,“np.arange”和“reforme”都是函数,这让我感到困惑,因为“np.arange”是一个函数,被当作一个类来对待。问题是这怎么可能 import numpy as np a = np.arange(15).reshape(3, 5) print(a) Python是一种面向对象的语言,其中每个变量都是一个对象np.arangendarray
blabla = Classname().somefunctions()
但在这种情况下,“np.arange”和“reforme”都是函数,这让我感到困惑,因为“np.arange”是一个函数,被当作一个类来对待。问题是这怎么可能
import numpy as np
a = np.arange(15).reshape(3, 5)
print(a)
Python是一种面向对象的语言,其中每个变量都是一个对象<代码>np.arange
ndarray
对象。然后,您可以调用ndarray
对象的reformate
方法
import numpy as np
a = np.arange(15)
type(a)
Out[148]: numpy.ndarray
a
Out[149]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
a = a.reshape(3, 5)
type(a)
Out[151]: numpy.ndarray
a
Out[152]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
我认为你混淆了这种行为:
blabla = Classname().somefunctions()
它通过调用classClassname()
中的方法somefunctions()
将返回的值赋给变量blabla
通过numpy模块中两个函数的链接:第一个
a=np.arange(15)
创建大小为15的数组,并将其分配给名为a
的变量,和:第二个
a.重塑(3,5)
,它将数组a
重塑为一个由3个数组组成的数组,每个数组包含5个元素
import numpy as np
a = np.arange(15) #-> [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
a = a.reshape(3, 5) #-> [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]]
print(a)
返回一个ndarray
对象
但可能让人困惑的是,这是一个将数组作为输入的类方法。但是,有一种等效方法可用于
ndarray
对象。在您的例子中,使用的是后一种方法。发生这种情况是因为np.arange(15)
返回类的实例。实际上python中的所有东西都是类。这就是为什么您可以例如执行“HELLO WORLD”.lower()
在这种情况下,代码所做的是计算np.(arange)
并在之后重塑(3,5)
因此,这将是等效的:
import numpy as np
a = np.arange(15)
a = a.reshape(3, 5)
print(a)
…被视为一个类
-你能解释一下你所说的话是什么意思吗?