Python单元测试模块TestBlbMktData语法错误修复咨询
修复Python单元测试中
print方法的SyntaxError问题 问题根源
在Python里,print是内置函数/关键字,你不能直接用它来定义类的方法名——这就像你不能写def def(self):或者def return(self):一样,Python解释器会把它当成内置语法处理,而非自定义方法,直接触发语法错误。
修复方案
只需要把方法名改成一个非内置关键字的自定义名称即可,建议用有明确语义的名字,比如print_data、log_test_data这类。
修改后的代码示例
import unittest import os.path from dao.iotools.blbmktdata import * class TestBlbMktData(unittest.TestCase): staticName='Static.csv' reportingName='Reporting.csv' corpName='Actions.csv' fxName='PER.csv' # 替换原有的print方法名,这里用print_data举例 def print_data(self, data): # 方法内部依然可以正常调用内置的print函数 print(data) # 其他业务逻辑...
额外提示
- 可以通过在Python交互环境里输入
help('keywords')查看所有Python关键字,输入dir(__builtins__)查看所有内置函数,避免后续再踩类似命名冲突的坑。 - 尽量给方法/变量起表意清晰的名字,既提升代码可读性,也能从根源减少和内置名称冲突的概率。
内容的提问来源于stack exchange,提问作者Stacey
相关产品推荐
相关产品推荐

