python错误大全

 1. unexpected unident (无法预料的缩进)

python依靠indent来缩进。要么全部用空格缩进,要么全部tab键,所以我觉得你的问题是可能缩进有问题。用有些编辑器可以显示tab和空格的。Python对缩进要求很严格的。多行注释符号本身也需要注意缩进。下面的内容会根据上面的多行注释符号来判断缩进对齐是否正确。

多行注释不能嵌套,
""" """''' '''都是多行注释,总是离得最近的认为是一对注释符,你这样的话就是 ''' 和 """ 组成一对,后面 """ 和 ''' 组成一对。
详解Python中代码缩进(Indent):http://www.crifan.com/tutorial_python_indent/


2. "TypeError: not enough arguments for format string (格式化字符串)
 %在python中一是格式化(format)输出,一是求余。print 格式化输出的时候,可以用%r表示任何输出对象,%s是字符串,%d是整数,%f是浮点数....
 在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典。一般情况下使用元组;
如果要在格式化字符串里面包括百分号,那么必须使用%%,这样Python就不会将百分号误认为是转换说明符了
如果需要转换的元组作为转换表达式的一部分存在,那么必须将它用圆括号括起来;
%r 与 %s 区别:print(’i am ok %r‘," and you?")
print(’i am ok %s‘," and you?")
%r 打印出来的是你写在脚本里的内容,%s 打印的是你应该看到的内容。
 python字符串格式化 http://www.cnblogs.com/mingaixin/archive/2012/10/12/2720914.html
 http://bbs.csdn.net/topics/390084523,http://www.oschina.net/question/107361_25817?sort=time


3. can't assign to literal(不能赋值给文本)
在赋值与输出中:
bok=234,face="red"
print ("hello %d %s." % (bok,face))

两赋值语句在一个物理行中不能写成逗号,bok=234,face="red" ;而应该写成:bok,face=234,"red" 或者用分号:bok=234;face="red"
或者写成两个物理行:
bok=234
face=”red“
注意,与;的区别。 ;就代表了两个逻辑行, 而,代表了前后形成一个元组。
如果第一行后跟了逗号,就会出错: TypeError: %d format: a number is required, not tuple
bok=234,
face=”red“
Python中逗号的作用 :http://blog.csdn.net/gzhouc/article/details/44120979




原文地址:https://www.cnblogs.com/zhicn/p/4862923.html