PyCharm中Python封装main函数后无打印输出的问题求助
问题原因及解决方法
核心原因
你第二个代码仅定义了main函数,但没有主动调用这个函数。Python解释器只会执行顶级代码(不在函数内的代码),函数定义本身不会触发内部代码的执行,所以print(board)从未被运行,自然没有输出。
解决办法
只需在函数定义后添加调用main()的代码即可,有两种常用写法:
写法1:直接调用函数
修改后的代码如下:
def main(): width = 8 # letters, col length = 8 # nums, row board = [[0 for col in range(length)] for row in range(width)] print(board) main() # 调用函数,触发内部代码执行
写法2:使用if __name__ == "__main__"判断(更规范)
这种写法适合脚本文件,确保只有脚本直接运行时才执行main函数,被其他模块导入时不会自动执行:
def main(): width = 8 # letters, col length = 8 # nums, row board = [[0 for col in range(length)] for row in range(width)] print(board) if __name__ == "__main__": main()
补充说明
第一个代码能正常输出,是因为所有代码都是顶级代码,未被包裹在函数中,Python解释器会从上到下依次执行每一行,包括print(board)语句。
内容的提问来源于stack exchange,提问作者aryan
相关产品推荐
相关产品推荐

