鱼C论坛

 找回密码
 立即注册

Python错误大全(2)

已有 177 次阅读2017-8-20 21:28 |个人分类:Python| Python

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

多行注释不能嵌套,""" """和''' '''都是多行注释,总是离得最近的认为是一对注释符,你这样的话就是 ''' 和 """ 组成一对,后面 """ 和 ''' 组成一对。



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



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“


评论 (0 个评论)

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 14:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部