嘿,看看pycharm中的这段代码。
import numpy as np
x = np.array( [ [1,3],[2,4] ] )
y = np.array([ [2,2],[3,5] ] )
print x*y
print x.dot(y)
所以dot()
和array()
都是numpy函数但是。
为什么我不能写
x = array( [ [1,3],[2,4] ] )
y = array([ [2,2],[3,5] ] )
并摆脱" np" ..
而且,当使用dot()函数时,为什么不让pycharm接受x.(np.dot(y))
??
答案 0 :(得分:1)
首先,Pycharm与此无任何关系。
您提出的第一个问题是Python的工作方式。您有两种选择:
import numpy
:必须将该函数调用为numpy.array()
,例如from numpy import array
:该函数可以调用为array()
使用第一个选项,您不会遇到麻烦,因为numpy
并且每个其他库都是内部一致的,这意味着函数名称是唯一的。
使用第二个选项可能会出现问题。例如,假设模块module_a
和module_b
都定义了array
并且你在做:
from module_a import array
from module_b import array
在这种情况下array
会是什么? module_a.array
或module_b.array
?
就第二个问题而言x.(np.dot(y))
:
这只是错误的语法。与numpy.dot
的矩阵(或向量)乘法如下所示:numpy.dot(x, y)