为什么这会打印对象的内存位置而不是我想要的内容?

克里斯

我不确定在打印字典时会发生什么情况。

在Python 3中,我有一个parse_blast对象字典,称为transSwiss。每个对象的蛋白质ID是整个对象作为值的键。

我可以完整地打印transSwiss,也可以打印blasto.protein,但是当我将它们组合以获得字典值时,则不能。我不确定使用时会发生什么:

print(transSwiss[blasto.protein])
<__main__.parse_blast object at 0x000000373C5666A0>

这是代码

class parse_blast(object):

    def __init__(self, line):
        #Strip end-of-line and split on tabs
        self.fields = line.strip("\n").split("\t")
        self.transcriptId, self.isoform = self.fields[0].split("|")
        self.swissStuff = self.fields[1].split("|")
        self.swissProtId = self.swissStuff[3]
        self.percentId = self.fields[2]

    def filterblast(self):
        return float(self.percentId) > 95



class parse_matrix(object):
    #Consider __init__ as a Constructor
    def __init__(self, matrix_lines):

        (self.protein, 
        self.Sp_ds, 
        self.Sp_hs, 
        self.Sp_log, 
        self.Sp_plat) = matrix_lines.strip("\n").split("\t")

    def separate_tuples(one_tuple):
        return "\t".join(one_tuple)


blastmap = map(parse_blast, blast_output.readlines())

filtered = filter(parse_blast.filterblast, blastmap)

matrixmap = map(parse_matrix, matrix_output.readlines()[1:])

transSwiss = {blasto.transcriptId:blasto for blasto in filtered}


for matrixo in matrixmap:

    print(transSwiss[matrixo.protein])
妓女

由于对象是由您定义的,因此您还需要告诉python您希望如何打印。您可以通过定义一个名为“ __str__”的函数来完成此操作,该函数返回您要打印对象的方式。

https://zh.wikibooks.org/wiki/Python_Programming/Classes#str

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Apache会打印我的PHP文件的内容,而不是将其传递给PHP-FPM?

来自分类Dev

为什么我的.bat文件会打印其内容?

来自分类Dev

Ruby on Rails:当我遍历每个孩子时,为什么会打印出每个孩子的内容?

来自分类Dev

为什么我的排序会打印出多个列表?

来自分类Dev

为什么我执行此代码时会打印inf?

来自分类Dev

为什么我的脚本会打印错误消息?

来自分类Dev

为什么我的冒泡排序实现会打印额外的数字?

来自分类Dev

代码打印对象的内存位置而不是对象本身

来自分类Dev

为什么VS蛤this这会破坏内存?

来自分类Dev

Delphi:为什么这会导致内存泄漏?

来自分类Dev

为什么我的输出未正确显示我想要的内容

来自分类Dev

为什么我的toString()打印此内容?

来自分类Dev

为什么我的toString()打印此内容?

来自分类Dev

为什么我打印的是 Hp 而不是空行?

来自分类Dev

为什么href的scrollY不能转到我想要的位置?

来自分类Dev

为什么我的write()打印空白文本文件而不是内容-WebScraper

来自分类Dev

无论我为输入放置什么,为什么我的C程序会打印出相同的输出?

来自分类Dev

为什么当我希望awk打印变量时,它会打印整行?

来自分类Dev

为什么“想要”不是“最新”?

来自分类Dev

为什么Python会打印此全局变量而不是类属性?

来自分类Dev

Ruby有时会打印Unicode转义的字符,而不是字符本身。为什么?

来自分类Dev

为什么新版本的awk会打印大整数而不是小数?

来自分类Dev

为什么我们总是必须在C编程中使用fgetc命令而不是fscanf来执行相同的操作,但是会打印出奇怪的结果?

来自分类Dev

为什么我的代码会打印一个我尚未分配的值?

来自分类Dev

当我什么都不输入时,为什么程序会打印出“ @”?

来自分类Dev

为什么这会给我InvalidArgumentError?

来自分类Dev

为什么“转换”会打破“位置:固定”?

来自分类Dev

为什么在j中调用hist时会打印出直方图对象?

来自分类Dev

为什么Vue.js即使存在也不会打印对象属性?

Related 相关文章

  1. 1

    为什么Apache会打印我的PHP文件的内容,而不是将其传递给PHP-FPM?

  2. 2

    为什么我的.bat文件会打印其内容?

  3. 3

    Ruby on Rails:当我遍历每个孩子时,为什么会打印出每个孩子的内容?

  4. 4

    为什么我的排序会打印出多个列表?

  5. 5

    为什么我执行此代码时会打印inf?

  6. 6

    为什么我的脚本会打印错误消息?

  7. 7

    为什么我的冒泡排序实现会打印额外的数字?

  8. 8

    代码打印对象的内存位置而不是对象本身

  9. 9

    为什么VS蛤this这会破坏内存?

  10. 10

    Delphi:为什么这会导致内存泄漏?

  11. 11

    为什么我的输出未正确显示我想要的内容

  12. 12

    为什么我的toString()打印此内容?

  13. 13

    为什么我的toString()打印此内容?

  14. 14

    为什么我打印的是 Hp 而不是空行?

  15. 15

    为什么href的scrollY不能转到我想要的位置?

  16. 16

    为什么我的write()打印空白文本文件而不是内容-WebScraper

  17. 17

    无论我为输入放置什么,为什么我的C程序会打印出相同的输出?

  18. 18

    为什么当我希望awk打印变量时,它会打印整行?

  19. 19

    为什么“想要”不是“最新”?

  20. 20

    为什么Python会打印此全局变量而不是类属性?

  21. 21

    Ruby有时会打印Unicode转义的字符,而不是字符本身。为什么?

  22. 22

    为什么新版本的awk会打印大整数而不是小数?

  23. 23

    为什么我们总是必须在C编程中使用fgetc命令而不是fscanf来执行相同的操作,但是会打印出奇怪的结果?

  24. 24

    为什么我的代码会打印一个我尚未分配的值?

  25. 25

    当我什么都不输入时,为什么程序会打印出“ @”?

  26. 26

    为什么这会给我InvalidArgumentError?

  27. 27

    为什么“转换”会打破“位置:固定”?

  28. 28

    为什么在j中调用hist时会打印出直方图对象?

  29. 29

    为什么Vue.js即使存在也不会打印对象属性?

热门标签

归档