python - 如何从课堂打印数据
问题描述
我是 python 新手,我尝试创建一个类,将 3 个值(channel, mDM, crossec)
放入从 .dat 生成的数据中,使其类似于 (x, y) 值,以使卡方拟合。现在我尝试打印以查看数据,但没有显示
我的类代码文件名 DMM.py。我试试这个
from DMM import cal
channel = str(input("Enter channel "))
mDM = int(input("Enter mDM "))
crossec = int(input("Enter crossecn "))
y = cal(channel, mDM, crossec)
print(y)
它打印出来
Enter channel t
Enter mDM 150
Enter crossec 1
<DMM.cal object at 0x00FAEBD0>
我尝试从互联网上阅读但仍然不明白
fnames = 'AtProductionNoEW_gammas.dat'
data = np.genfromtxt(fnames, names=True, dtype=None)
mass_vals = data["mDM"]
class cal():
def __init__(self, channel, mDM, crossec):
self.channel = channel
self.mDM = mDM
self.crossec = crossec
index = np.where(np.abs(mass_vals - self.mDM)/mass_vals < 0.0001)
xvals = data["Log10x"][index]
fluxs = data[self.channel][index]/xvals
loadspec = interp1d(xvals, fluxs)
def dNdx(x):
fluxval = loadspec(x)
if (fluxval<0):
return 0
else:
return loadspec(x)*/(8*pi*self.mDM**2)*self.crossec
我希望输出像
1, 2
2, 5
7, 8
9, 15
11, 25
...
解决方案
y 是您的 cal 对象,实际上 print(y) 打印了对象字符串表示形式。
我相信您想打印必须添加到类中的方法的输出。目前你没有方法,只有一个内部函数 dNdx()。
推荐阅读
- html - wordpress 中的 HTML 搜索栏
- javascript - JavaScript 数组未在终端中显示所有输出值
- java - 无法分配 8208 字节分配,其中 5640 空闲字节和 5KB 直到 OOM,最大允许占用空间 536870912,增长限制 536870912
- javascript - Javascript button toggle not working on first click, only second click or more
- javascript - Firebase 实时数据库 - 仅获取我所属的节点
- asp.net-mvc - 收到此消息连接尝试失败,因为连接方在第二次请求时没有正确响应
- python - 如何停止列表,用户输入缺少数字
- firebase - 来自 Future (Firebase) 的 TextFormField (Flutter) 中的初始值
- javascript - 将特定数组值转换为另一个数组打字稿?
- python - 我启动了一个具有所有要求但静态文件无法成功加载的 Django 项目