bug宝典Python篇 NameError: name ‘xx‘ is not defined

时间:2024-11-12 12:16:00

参考17个新手常见Python运行时错误中记录出现这个问题是因为变量或者函数名拼写错误导致的。下面看看这段代码

class CustomerService(object):
	"""
	客户销售明细处理类
	"""
	def __init__(self):
		self.engine = engine	

	def is_exist(self,tax_no):
		print tax_no
        logger.debug('tax_no is {}'.format(tax_no))

class CrmCustomerService(object):
	"""
    CRM中客户信息
	"""
	def __init__(self):
		pass

if __name__ == '__main__':
	customerService = CustomerService()
	customerService.is_exist('0000000000000')

上面的代码中print tax_no可以打印出值,但是到了('tax_no is {}'.format(tax_no))却提示NameError: name 'tax_no' is not defined,变量名、函数名都没有错误,为什么也出现这个问题,非常奇怪。
1
于是我把代码重新写了一遍,新的代码,编译器就可以识别,而旧的代码编译器还是无法识别出变量。代码完全一样
使用命令行执行py脚本,提示下面的异常
2
参考python问题:IndentationError:expected an indented block错误解决, 问题在于tab和空格混用导致了莫名其妙的问题。