在python print语句中出现意外的NONE

Unexpected None in python print statement(在python print语句中出现意外的NONE)

本文介绍了在python print语句中出现意外的NONE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试打印出连接到其他节点的节点列表,以便我可以查看它们以调试一些围绕图形的Python代码。我这样做是为了练习,所以我自己设置节点/边/组。

我尝试使用for each类型循环在myNode类中打印出与我的函数的连接。但是,如果我指定数组的索引并对其调用相同的方法,则会得到不同的输出。

def print_connections(self):
        for node in self.connections:
            print(node.name, end = " ")

...

for node in nodes:
        node.print_connections()
        print(" ") # so I can have a newline in between groups
print(nodes[1].print_connections())

For/Each的输出很好,或者看起来很好:

2 5 3 0 

与带有索引打印的行不同:

2 5 3 0 None

这是在Python中预期的行为吗?我如何才能解决此问题?

推荐答案

您的print_connections(self)没有返回任何值,因此返回None,您尝试使用print(nodes[1].print_connections())做的是打印nodes[1].print_connections()返回的值,这将是None, 因此,您应该做的是,

for node in nodes:
        node.print_connections()
        print(" ") 
nodes[1].print_connections()

这篇关于在python print语句中出现意外的NONE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在python print语句中出现意外的NONE

基础教程推荐