Pytnon中的SyntaxError: invalid syntax出错?
发布网友
发布时间:2022-04-30 11:08
我来回答
共10个回答
懂视网
时间:2022-04-18 18:45
下面为大家分享一篇解决python 输出是省略号的问题,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧
这个问题非常非常重要,搞了一晚上都没解决好,但是真的很简单很简单, 如果你也 是用的numpy array, 如果你也想得到输出矩阵的全部内容,而不是省略形式,
[[ 0.10284943 0.0959931 0.00076021 ..., -0.01035775 0.02561938
0.09741836]
[-0.01446581 -0.0427694 -0.08351202 ..., 0.02489615 0.05786737
-0.01584686]
[-0.05037935 -0.07454829 0.09947016 ..., -0.09998163 -0.09964585
0.09975565]
...,
[-0.07702241 0.05524901 0.06280549 ..., 0.04165902 0.00985143
-0.08415554]
[ 0.08382587 -0.01704193 -0.0087511 ..., 0.02849357 -0.04322642
-0.05537828]
[-0.03705954 0.05411949 -0.06646272 ..., 0.06692882 -0.08324111
-0.07917399]]
那么你只需要加一行代码:
np.set_printoptions(threshold='nan') #全部
输出
print str(lstm_node_list[-1].param.wi)
然后就能全部输出了。
热心网友
时间:2022-04-18 15:53
答: 你现在就是在命令行窗口下逐行执行Python代码,对初学者理解作用可能会有些帮助。对于第1个截图当中的错误,主要是缩进的问题,if和elif要对齐。那么对于第2个问题,你可以尝试用4个空格代表一次缩进。如果正确缩进的话,那么在代码前面是会有类似省略号的东西。但还是建议你使用一个编辑器进行代码编写,比如pycharm或者jupyter。
热心网友
时间:2022-04-18 17:11
缩进问题。elif要与if对齐,你在交互模式下,因为有提示符【>>> 】,因此还要多退4个空格。
热心网友
时间:2022-04-18 18:46
SyntaxError: invalid syntax”的意思就是语法错误;经过查询解决了这个问题,所以总结... 打括号的时候请务必让它们成双成对好吗invalid...
热心网友
时间:2022-04-18 20:37
像 这种关键字后面需要添加冒号 :
然后python是通过空格来对齐格式的
if
elif
else
必须对齐,否则就会格式错误!!!
热心网友
时间:2022-04-18 22:45
首先,if 和 elif 还有 else 的缩进是要一样的,例如:
```python
# 这个是正确的
if boolean == True:
print("True")
elif boolean == None:
print("None")
else:
print("False")
# 这个是错误的
if boolean == True:
print("True")
else:
print("False")
```
2. 其次,在 Python 的 REPL(交互模式) 下,if 和 elif 还有 else 是要写进同一个代码块的,列入:
```python
>>> # 这个是正确的
>>> # 最终输出 "zero == 0"
>>> if zero == 0:
··· print("zero == 0")
··· else:
··· print("zero != 0")
···
>>> # 这个是错误的
>>> if zero == 0:
··· print("zero == 0")
···
>>> else:
>>> # 到这里就会报错 SyntaxError 语法错误
```
热心网友
时间:2022-04-19 01:10
if和elif在同一个缩进位,齐平的。
热心网友
时间:2022-04-19 03:51
缩进错误。
你先学习在单独文件中跑你写的这些代码,多半就不会出问题。
IDLE 上的缩进因为前面带的 >>> 使得看起来有点奇怪。但也只是看起来奇怪而已,本质上没有区别。
自己先用单个 .py 文件跑没问题了以后 IDLE 上大概就明白了。IDLE 上跑的是代码块,不能单个 else。对比一下就知道了。
热心网友
时间:2022-04-19 06:49
想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。
1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)
该错误将发生在类似如下代码中:
1
2
if spam== 42
print('Hello!')
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”)
= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:
1
2
if spam= 42:
print('Hello!')
3)错误的使用缩进量。(导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”)
记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:
1
2
3
4
5
6
7
8
9
10
11
12
13
print('Hello!')
print('Howdy!')
或者:
if spam== 42:
print('Hello!')
print('Howdy!')
或者:
if spam== 42:
print('Hello!')
4)在 for 循环语句中忘记调用 len() (导致“TypeError: 'list' object cannot be interpreted as an integer”)
通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。
该错误发生在如下代码中:
1
2
3
spam= ['cat','dog','mouse']
for iin range(spam):
print(spam[i])
5)尝试修改string的值(导致“TypeError: 'str' object does not support item assignment”)
string是一种不可变的数据类型,该错误发生在如下代码中:
1
2
3
spam= 'I have a pet cat.'
spam[13]= 'r'
print(spam)
而你实际想要这样做:
1
2
3
spam= 'I have a pet cat.'
spam= spam[:13]+ 'r' + spam[14:]
print(spam)
6)尝试连接非字符串值与字符串(导致 “TypeError: Can't convert 'int' object to str implicitly”)
该错误发生在如下代码中:
1
2
numEggs= 12
print('I have ' + numEggs+ ' eggs.')
而你实际想要这样做:
1
2
3
4
5
6
7
numEggs= 12
print('I have ' + str(numEggs)+ ' eggs.')
或者:
numEggs= 12
print('I have %s eggs.' % (numEggs))
7)在字符串首尾忘记加引号(导致“SyntaxError: EOL while scanning string literal”)
该错误发生在如下代码中:
1
2
3
4
5
6
7
8
9
10
print(Hello!')
或者:
print('Hello!)
或者:
myName= 'Al'
print('My name is ' + myName+ . How are you?')
8)变量或者函数名拼写错误(导致“NameError: name 'fooba' is not defined”)
该错误发生在如下代码中:
1
2
3
4
5
6
7
8
9
10
foobar= 'Al'
print('My name is ' + fooba)
或者:
spam= ruond(4.2)
或者:
spam= Round(4.2)
9)方法名拼写错误(导致 “AttributeError: 'str' object has no attribute 'lowerr'”)
该错误发生在如下代码中:
1
2
spam= 'THIS IS IN LOWERCASE.'
spam= spam.lowerr()
10)引用超过list最大索引(导致“IndexError: list index out of range”)
该错误发生在如下代码中:
1
2
spam= ['cat','dog','mouse']
print(spam[6])
11)使用不存在的字典键值(导致“KeyError:‘spam’”)
该错误发生在如下代码中:
1
2
spam= {'cat':'Zophie','dog':'Basil','mouse':'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])
12)尝试使用Python关键字作为变量名(导致“SyntaxError:invalid syntax”)
Python关键不能用作变量名,该错误发生在如下代码中:
1
class = 'algebra'
Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield
13)在一个定义新变量中使用增值操作符(导致“NameError: name 'foobar' is not defined”)
不要在声明变量时使用0或者空字符串作为初始值,这样使用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam需要指定一个有效的初始值。
该错误发生在如下代码中:
1
2
3
spam= 0
spam+= 42
eggs+= 42
14)在定义局部变量前在函数中使用局部变量(此时有与局部变量同名的全局变量存在)(导致“UnboundLocalError: local variable 'foobar' referenced before assignment”)
在函数中使用局部变来那个而同时又存在同名全局变量时是很复杂的,使用规则是:如果在函数中定义了任何东西,如果它只是在函数中使用那它就是局部的,反之就是全局变量。
这意味着你不能在定义它之前把它当全局变量在函数中使用。
该错误发生在如下代码中:
1
2
3
4
5
someVar= 42
def myFunction():
print(someVar)
someVar= 100
myFunction()
15)尝试使用 range()创建整数列表(导致“TypeError: 'range' object does not support item assignment”)
有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式。然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
该错误发生在如下代码中:
1
2
spam= range(10)
spam[4]= -1
也许这才是你想做:
1
2
spam= list(range(10))
spam[4]= -1
(注意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,但是在 Python 3 中就会产生以上错误)
16)不错在 ++ 或者 -- 自增自减操作符。(导致“SyntaxError: invalid syntax”)
如果你习惯于例如 C++ , Java , PHP 等其他的语言,也许你会想要尝试使用 ++ 或者 -- 自增自减一个变量。在Python中是没有这样的操作符的。
该错误发生在如下代码中:
1
2
spam= 1
spam++
也许这才是你想做的:
1
2
spam= 1
spam+= 1
17)忘记为方法的第一个参数添加self参数(导致“TypeError: myMethod() takes no arguments (1 given)”)
该错误发生在如下代码中:
1
2
3
4
5
class Foo():
def myMethod():
print('Hello!')
a= Foo()
a.myMethod()
18)第6行语句括号没有成对出现,会导致下一行代码中出现(导致“SyntaxError: invalid syntax”)
该错误发生在如下代码中:
1
2
3
4
5
def print_time(threadName,delay):
count = 0
while count<5:
time.sleep(delay)
count+= 1
print "%s:%s" % (threadName, time.ctime(time.time())
print "start main"
————————————————
热心网友
时间:2022-04-19 10:04
版本问题:
因为python2和python3是不兼容的,所以一些可以在python2上运行的代码不一定可以在python3上运行;可以尝试更换版本;
路径问题:
记得仔细查看自己的路径是否正确;
粗心问题:
忘记在 if , elif , else , for , while , class ,def 声明末尾添加 冒号( : );
误将 = 当成 == 使用;
安装第三方模块时:
在安装第三方模块时也有可能出现“SyntaxError: invalid syntax”这个问题,这时需要检查一些是否是在cmd窗口下安装,同时,要到python的安装目录里面,找到pip所在的目录里面进行安装;
————————————————
版权声明:本文为CSDN博主「Heaphaestus,RC」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。