我时常写这样的代码:
import numpy as np
a = np.array([1,2,3])
a[1]=3.3
a[2] *= 50
print(a)
这里我没有将 a 初始化为 int,而是初始化为 float,但正如我所说,我忘记了。
现在有没有办法确保此类初始化默认为 float ,除非明确指定 dtype?
请您参考如下方法:
不改变来源,不。您的选择是:
养成在数字末尾加点的习惯:
np.array([1.,2.,3.])
明确使用dtype:
np.array([1,2,3], dtype=float)
创建一个新函数:
def ozi_array(*args, **kwargs):
if 'dtype' not in kwargs:
return np.array(*args, dtype=float, **kwargs)
return np.array(*args, **kwargs)
