精华内容
下载资源
问答
  • Python 各种运行错误(如:SyntaxError :invalid syntax
    千次阅读
    2021-01-14 23:01:45

    想要弄懂 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"

    --------------------- 本文来自 newtonnl 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/newtonnl/article/details/70792289?utm_source=copy

    更多相关内容
  • python——pip install xxx报错SyntaxError: invalid syntax 在安装好python后,进入python运行环境后,因为我要用pip安装开发Web App需要的第三方库,执行pip install aiohttp,发现会报错SyntaxError: invalid ...
  • 关于pip install xxx报错SyntaxError:invalid syntax的解决方法 声明:1.以下均以pip install requests举例; 2.Windows系统; 首先,看自己是否在python环境中运行了pip,若是,请打开“开始”菜单,输入cmd,找到...
  • 控制台的提示:Uncaught SyntaxError: Unexpected token < 按照提示进入文件,再看如下图: 仔细看了看 index.html 文件,发现原本我的 JS 文件是放在 /src/utils 文件夹下的,但引入 /src 和 /static 的文件是...
  • 主要介绍了Vue项目报错:Uncaught SyntaxError: Unexpected token <,在引入第三方依赖的 JS 文件时,遇到的一个问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法,涉及针对字符串参数的处理方法,需要的朋友可以参考下
  • start.sh: line 17: syntax error near unexpected token `$'do\r'' 'tart.sh: line 17: ` do 原因 运行cat -v start.sh,如果内容结尾为是^M,这是因为你所处理的文件换行符是dos格式的”\r\n”,你可能在windows...
  • 主要介绍了JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法,结合实例形式分析了javascript提示此类异常的常见原因与相关解决方法,需要的朋友可以参考下
  • 主要介绍了python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法的相关资料,需要的朋友可以参考下
  • 主要介绍了解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token fi错误的问题,需要的朋友可以参考下
  • 本文实例讲述了mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法。分享给大家供大家参考,具体如下: 一、问题: 工作中使用sql语句建表时,mysql报了如下错误: You have ...
  • You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(0) NOT NULL, endTime datetime(0) NOT NULL,avaliableTime int(8) ...
  • 今天帮客户配置服务器,访问php的时候提示PHP Parse Error: syntax error, unexpected $end 错误,通过查找找到了问题,特分享下
  • 在本篇文章里小编给大家整理的是关于python三元运算符 报错“SyntaxError: can't assign to conditional expression”的处理方法,需要的朋友们学习下。
  • 主要介绍了vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法,需要的朋友可以参考下
  • erics_nano_syntax_highlighting 目标:使代码的语法突出显示看起来像这样: HTML示例: 示例PHP: CSS示例: 安装说明。 将所有这些文件(someextension.nanorc)放在〜/ .nano / syntax目录下。 然后将其...
  • 语法高亮插件vue-syntax-highlight,语法高亮插件vue-syntax-highlight,语法高亮插件vue-syntax-highlight
  • zsh-syntax-highlighting.zip

    2020-09-21 16:55:14
    macos iterm2 zsh 高亮配色插件zsh-syntax-highlighting。This package provides syntax highlighting for the shell zsh. It enables highlighting of commands whilst they are typed at a zsh prompt into an ...
  • PB12.5 dw 报错Line 130 Column 487 incorrect syntax问题解决
  • 1. C++ 14 Quick Syntax Reference, 2nd Edition 2. C++ 17 Quick Syntax Reference, 3nd Edition 3. Discovering Modern C++ 三本书籍合体
  • Markdown.sublime-syntax

    2019-01-10 09:05:13
    解决Sublime TEXT 3 安装 Markdown Editing 插件 出现错误 "Error loading syntax file "Packages/Markdown/Markdown.sublime-syntax":Unable to read Packages/Markdown/Markdown.sublime-syntax
  • 【Python】SyntaxError: invalid syntax jedi

    千次阅读 2022-04-01 09:41:52
    SyntaxError: invalid syntax jedi 但必然我的if这种语句也不会写错吧,最后排查了好久 /(ㄒoㄒ)/~~ 才发现原来是在田间语句中加了多行的注释符,就这个东西’’’ 注释内容 ‘’’,这是我第一次遇到这种问题。...

    一、问题背景

      突然在写代码的时候,if的条件语句下突然报错,显示:

    It selects exactly one of the suites by evaluating the expressions one
    by one until one is found to be true (see section Boolean operations
    for the definition of true and false); then that suite is executed
    (and no other part of the "if" statement is executed or evaluated).
    If all expressions are false, the suite of the "else" clause, if
    present, is executed.
    SyntaxError: invalid syntax jedi
    

    但必然我的if这种语句也不会写错吧,最后排查了好久 /(ㄒoㄒ)/~~ 才发现原来是在田间语句中加了多行的注释符,就这个东西’’’ 注释内容 ‘’’,这是我第一次遇到这种问题。
    在这里插入图片描述
    解决方案:所以把注释这一行去掉,问题就解决了;大家在这种语句中间还是老老实实的用单行的注释符吧。
    具体来说为什么会出现这种情况,我查了一圈也没有找到具体原因,可能就是这个python内部的语法规定吧。

    展开全文
  • 目录 1、遇到问题 2、问题解决 1、遇到问题 在执行时 ...问题猜测:可能是ubuntu系统下,默认python版本的问题,可以调整优先级;...sudo update-alternatives --install /usr/bin/python python /usr

    目录

    1、遇到问题

    2、问题解决


    1、遇到问题

    在执行时

    conan install .

    出现如下问题:

    问题猜测:可能是ubuntu系统下,默认python版本的问题,可以调整优先级;

    2、问题解决

    查找python的版本(可能有多个)

    which python2.7
    which python3.6

    设置ubuntu系统优先级选择:

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
    

    命令最后的数字越大,级别越高;

    查看当前unbuntu系统所用python版本:

     发现已经更改到3.6版本了。

    成功解决问题!!!

    展开全文
  • Python错误之 SyntaxError: invalid syntax的解决方法总结 “SyntaxError: invalid syntax”的意思就是 语法错误; 经过查询解决了这个问题,所以总结一个这个问题的解决方法: **1.版本问题:** 因为python2和...

    Python错误之 SyntaxError: invalid syntax的解决方法总结
    在这里插入图片描述

    “SyntaxError: invalid syntax”的意思就是 语法错误;
    经过查询解决了这个问题,所以总结一个这个问题的解决方法:
    1.版本问题:
    因为python2和python3是不兼容的,所以一些可以在python2上运行的代码不一定可以在python3上运行;可以尝试更换版本;

    2.路径问题 :
    记得仔细查看自己的路径是否正确;

    ** 3.粗心问题: **
    忘记在 if, elif, else, for , while, class, def 声明末尾添加 冒号(: );
    误将 = 当成 == 使用;

    4.模块没有导入:
    比如用到 “string.ascii_uppercase[i]: i for i in range(10)”,这条语句是为了在range(10)范围内添加字母索引,但是string是属于string模块的,需要在之前 import sting

    5.安装第三方模块时:
    在安装第三方模块时也有可能出现“SyntaxError: invalid
    syntax”这个问题,这时需要检查一些是否是在cmd窗口下安装,同时,要到python的安装目录里面,找到pip所在的目录里面进行安装;

    原文链接:https://blog.csdn.net/qq_42719751/article/details/102535051

    展开全文
  • 【python】错误SyntaxError: invalid syntax的解决方法总结

    万次阅读 多人点赞 2019-10-13 17:09:51
    今天学习了python,然而刚开始就出了一个难题,明明代码没有一点问题,可是每次运行都会显示 “SyntaxError: invalid syntax”。 “SyntaxError: invalid syntax” 的意思就是 语法错误; 经过查询解决了这个问题,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 358,502
精华内容 143,400
关键字:

syntax