精华内容
下载资源
问答
  • 文章的英文水平高低不齐,有时还会出现中式英文,修改起来十分耗费精力,也常看到语法、拼写错误 「中式英语」是受到思维习惯影响,阅读起来会不那么通顺,例如: (1)It is very necessary...

    英文语法

    不管愿不愿意,发表英文文章到国际期刊,几乎成为科研人员不得不面对的课题。论文可谓学术界的硬通货。近年看过许多中国作者的英文论文,包括审稿邀请、协助朋友修改文章。英文说到底不是我们的母语,有许多问题。文章的英文水平高低不齐,有时还会出现中式英文,修改起来十分耗费精力,也常看到语法、拼写错误

    「中式英语」是受到思维习惯影响,阅读起来会不那么通顺,例如:
    (1)It is very necessary to think out an idea to……
    (2)an obvious much better result……
    (3)For the sake of presentation convenience, ……
    (4)Several aspects lead us to make such an improvement.

    翻译成中文乍看没有问题,因为这是中文文章常见的表述方式,但这并非英文语法,因此简单明了一点更适合
    (1)It is necessary to……
    (2)much better result……
    (3)For convenience, ……
    (4)Several aspects lead such improvement.

    这对于学术作者来说有些困难,毕竟思维习惯需要长期、有意识地训练才有办法克服。然而语法还是有一定的规律,通过系统性的学习可以很大程度地矫正。虽然语法错误有很多种,然而归结起来主要有几点,请看下面的例子:
    (5)In this present paper, a detail study of the principle and the simulations were reported.
    (6)Results presented above demonstrates that the improved structure has obtained a obviously better performance.

    其中一种是赘词或漏字。如In this present paper中的present是多余的。英语的句构不出下面这五种(1)主+谓;(2)主+谓+表;(3)主+谓+宾;(4)主+谓+间宾+直宾;(5 )主+谓+宾+宾补。多余的成分是不必要的,科技英语表达以简洁为重点,多余词语建议都删掉。

    修饰名词应用形容词。 a detail study 中的detail跟study都是名词。应该改成形容词形态detailed。
    主语谓语应该要一致,单复数的使用要特别注意。这里Results是复数,而demonstrates则是单数形态。
    另一个是用词问题。个人觉得obviously better performance中的obviously改成significantly更舒服一点。
    上面的句子还存在时态问题。英语语法一共有16种时态,一般现在时、一般过去时、一般将来时、一般过去将来时、现在进行时、过去进行时、将来进行时、过去将来进行时、现在完成时、过去完成时、将来完成时、过去将来完成时、现在完成进行时、过去完成进行时、将来完成进行时和过去将来完成进行时。

    看起来很令人头疼,但科研文章会用的其实不多,以一般现在时、一般过去时和现在完成时这三种较为常见。一般过去式是用来描述过去发生的事情。主要用于引用别人的工作,或者阐述别人以前的结果,比如It was found that……,描述文章所使用的研究方法也应该用一般过去式,比如The experiments were measured by ……。一般现在时用来写结果。不论什么时候做,其结果都是一致的、有重复性的,这时应该用一般现在式。图表结果阐述也是使用一般现在式,如Figure 1 shows……。不过阅读文章时,有人也在阐述结果时用一般过去时。现在完成时则是用来表达别人在自己的研究之前的结果,如It has been reported that……,以用来跟自己的结果进行比较。来强调自己结果的创新性,或是使用别人的结果以支持自己的观点。因此上面这个例句:the improved structure has obtained……,使用一般现在时或者过去时皆可。

    主动态和被动态的使用也需要注意,It found that……。改正起来其实并不难,只要搞清楚施动者、被动者。
    英语语法速成是可能的,可通过短时间训练纠正语法问题,前期尽量把写作速度放慢。句子的构成、时态都应该先思考周全。且尽量先使用短句,目标是先把意思讲清楚。基础稳定再渐渐把句子加长。
    建议使用语法检测功能先进行语法检查,如WORD会用红色波浪线标注出有语法问题的地方,可以解决低级的语法错误。

    展开全文
  • Python语法案例

    2018-07-12 11:36:07
    错误说明:IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。 多行语句 Python语句中一般以新...

    一、python编译方式

    1.在线Python编译器

    http://www.compileonline.com/execute_python_online.php
    这里写图片描述

    2.交互式编程

    直接在终端命令行输入 python命令即可启动交互式编程。

    [root@79 Desktop]# python
    Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
    [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    [root@79 ~]# ipython
    Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
    
    IPython 3.2.1 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: exit
    
    3.脚本式编程

    通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。以.py为扩展名

    [root@79 ~]# cat hello.py 
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-   ##中文可读
    print "Hello,Python!"
    • #!/usr/bin/python : 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器;
    • #!/usr/bin/env python(推荐): 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。

    1.直接用python执行

    [root@79 ~]# python hello.py 
    Hello,Python!
    2.在终端输入命令解释器+执行文件
        将命令解释器路径写在脚本内,用./ 命令执行。     
    
    [root@79 ~]# chmod +x hello.py 
    [root@79 ~]# ./hello.py 
    Hello,Python!

    二、Python基本要素

    python标示符

    • 字母,数字,下划线,不能以数字开头。
    • 区分大小写
    • 以单下划线开头表示不能直接访问的类属性,需要通过类提供的接口进行访问,不能用from xxx import * 而导入
    • 以双下划线开头代表类的私有成员
    • 双下划线开头和结尾的代表特殊方法专用的标识
    • python可以统一行显示多条语句,方法是用分号分开;

    python 保留字符

    • 这些保留字不能用作常数或变数,或任何其他标识符名称。
    • 所有 Python 的关键字只包含小写字母。(具体可搜索)

    行和缩进

    • 学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
    • 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
    • 错误说明:IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

    多行语句

    Python语句中一般以新行作为为语句的结束符。
    使用斜杠( \)将一行的语句分为多行显示。

        total = item_one + \
                item_two + \
                item_three
    语句中包含 [], {} 或 () 括号就不需要使用多行连接符。
    
        days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

    Python 引号

    Python 可以使用引号( ’ )、双引号( ” )、三引号( ”’ 或 “”” ) 来表示字符串,引号的开始与结束必须的相同类型的。
    其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

    Python空行

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
    空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
    
    执行脚本参数传递
    [root@79 ~]# cat hello.py 
    #!/usr/bin/python
    import sys
    print sys.argv
    

    sys.argv 用来获取命令行参数
    运行命令,执行结果:

    [root@79 ~]# ./hello.py 'Vincent'
    ['./hello.py', 'Vincent']

    sys.argv[0] 代表文件本身路径,所带参数从 sys.argv[1] 开始。

    三、Python语句

    if条件判断语句
    i=int(raw_input("Value i="))
    if (i==2):
        print "YES"
    else:
        print "NO"
    while循环
    i=int(raw_input("Value i:"))
    while (i!=2):
        print "i doesnt equal 2"
        i+=1     ##此行为了能够跳出循环
    for循环
    a=[1,2,3,5]
    ##list=('zhangsan','lisi',2,'nihao')  ##元组用法
    for item in a:
        print item,
    print a[0]    ##输出第一个元素
    print a[2:]    ##输出第二个之后的元素
    print a[:2]    ##输出前两个元素
    a[3]=7         ##更改元素内容
    print a
    1,2,3,5
    1
    [3, 5]
    [1, 2]
    [1, 2, 3, 7]

    四、一些常用函数

    range()函数

    数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

    for i in range(5):
        print i,     ##添加,可以使输出不换行
    0 1 2 3 4

    同时,range()函数可以设置歩长,eg:

    list(range(0, -10, -1))  ##range(0,-10)以-1为步长
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    len()函数

    返回对象(字符、列表、元组等)长度或项目个数。

        print(len(range(5)))
        输出的结果就是:5
    enumerate()函数

    用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    list=[1,345,657]
    for index,value in enumerate(list):
        print index,value
    这个的输出结果是:
    0 1
    1 345
    2 657
    3 68
    In [3]: seasons=['Spring','Summer','Fall','Winter']
    
    In [4]: list(enumerate(seasons))
    Out[4]: [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    
    列表解析
        squared=[ x ** 2 for x in range(5)]
        print squared
         输出:[0, 1, 4, 9, 16]
        sqdEvens=[x ** 2 for x in range(8) if not x % 2]
        print  sqdEvens
        输出:[0, 4, 16, 36]
    open()函数

    返回的是一个文件对象,类似的操作有:close(),readlines(),下面是具体用法。

    [root@79 Desktop]# echo "OPEN() Function" > file
    In [1]: f = open('file')
    
    In [2]: f.read()
    Out[2]: 'OPEN() Function\n'
    
    split()函数
    Sentence = 'Adorable Beautiful Cute Decent Elegant'
    print Sentence.split()
    print Sentence
    ['Adorable', 'Beautiful', 'Cute', 'Decent', 'Elegant']
    Adorable Beautiful Cute Decent Elegant
    函数“装饰器”

    其实就是函数嵌套,将初始函数作为内部函数,进行增添新的功能模块或者函数,拼接成一个新的函数。
    下面是一个简单的示例:

    def PRINT():
        print "WIND----"
    def KEKE():
        print "WHO ARE YOU"
    
    def PRINT_PLUS(func,func2):
        def inner():
            print "WEATHER~~~~~"
            func()
            func2()          ##就调用了上面两个函数而已~~~
        return inner   
    
    a = PRINT_PLUS(PRINT,KEKE)
    a()

    下面再来两个例子:

    def outer(func):
        def inner(*args):        ##多个无名参数
            print "sada"
            func(*args)
        return inner
    @outer  ##相当于CCCC = outer(CCCC)
    def CCCC(name, age):
        print "The age of %s is %d " % (name, age)
    CCCC('Vincnet', 12)
    sada
    The age of Vincnet is 12 

    判断用户成绩是否合格:

    def outer(func):
        def inner(name, score1):
            if score1 > 60:
                score1 = "SUCCESS"
            else:
                score1 = "FAILED"
            func(name, score1)
        return inner
    @outer    
    def Score(name, score):
        print "The score level of %s is %s" % (name, score)
    Score('Vincent',90)
    The score level of Vincent is SUCCESS
    

    以上列举了一些Python中的内置函数,详情可参考:
    Python函数传送门
    另外,需要自定义函数的话,需要用到关键字def。

    def hello():
        print 'Hello,World'
    hello()
    Hello,World

    五、列表、元组、字典

    列表
    
    I = [12,'321',432]  ##定义列表
    print I[1]
    print type(I[0])  ##显示元素类型
    I.append('as')   ##添加列表元素
    print I
    del I[2]         ##删除列表元素
    # I.remove(432)
    print I
    b = ['b','c']
    I.extend(b)        ##拼接多项列表元素
    I.count('32')      ##统计元素出现次数
    I.insert(1,'c')    ##插入元素
    I.reverse()        ##反转元素顺序
    I.sort()           ##按字符串首个字符ASCII排序
    print sorted(I)    ##逆序输出,不改变元组
    I.sort(reverse=True) ##逆序排列
    c = I.pop(2)  
    321
    <type 'int'>
    [12, '321', 432, 'as']
    [12, '321', 'as']
    [12, '321', 'as', 'b', 'c', 'c']

    eg:输出200内的完全平方数保存到列表中

    List = []
    
    for values in range(1,200):
        if (values ** 0.5) == int(values ** 0.5):
            List.append(values)
    print List
    

    元组

    num_tuple = (1,2,'21')   ##定义元组
    print type(num_tuple)   
    num_tuple1 = (1)
    print type(num_tuple1)
    print type(list(num_tuple))
    num_list = [1,3,'de']
    print type(tuple(num_list))
    <type 'tuple'>
    <type 'int'>
    <type 'list'>
    <type 'tuple'>

    字典

    dictionary ={'Name':'瑞克','Job':'Scientist'}
    print dictionary
    print dictionary['Job']
    dictionary['Job'] = 'Nuts'
    dictionary.pop('Name')
    print dictionary
    print len(dictionary)
    {'Job': 'Scientist', 'Name': '\xe7\x91\x9e\xe5\x85\x8b'}   ##Python2.7不支持中文
    Scientist
    {'Job': 'Nuts'}
    1

    列表,元组,字典之间可以互相潜逃,
    例如:

    dictionary ={'Name':'Rick','Job':'Scientist'}
    dictionary1 ={'Name':'Morty','Job':'Boy'}
    D_L = [dictionary,dictionary1]    ##列表嵌套字典
    for i in D_L:                    ##遍历列表
        print i                  
    for i in range(len(D_L)):           ##遍历字典
        print "%s --> %s" % (i,D_L[i])
    {'Job': 'Scientist', 'Name': 'Rick'}
    {'Job': 'Boy', 'Name': 'Morty'}
    0 --> {'Job': 'Scientist', 'Name': 'Rick'}
    1 --> {'Job': 'Boy', 'Name': 'Morty'}

    列表,元组,字典区别:
    1.列表,字典可更改
    元组不可更改
    2.列表,元组有序
    字典无序

    六、字符串管理

    1.截取字符串:
    截取方式与元组中元素处理类似

    In [1]: num='asddfghj'       ##字符串创建方式:单引号,双引号,三引号
    
    In [3]: num[-1]              ##逆序从-1开始
    Out[3]: 'j'
    
    In [7]: num[:]               ##输出全部字符
    Out[7]: 'asddfghj'
    
    In [8]: num[1:5:2]           ##索引15,步长为2
    Out[8]: 'sd'
    
    In [9]: num[-3]          
    Out[9]: 'g'
    
    In [10]: num[-1::-1]       ##逆序输出
    Out[10]: 'jhgfddsa'   
    
    In [11]: num[-1:2:-1]     
    Out[11]: 'jhgfd'
    
    In [12]: num[2::2]    
    Out[12]: 'dfh'
    

    2.字符串拼接:

    str1 = "Linus Torvald"
    print "UPDATE:" , str1[:5]+'\tTechTips'   ##\t  横向制表符
    UPDATE: Linus   TechTips

    3.判断字符是否存在/统计字符频数:

    print 'rv' in str1   ##'rv'字符是否在str1中出现,返回值为boolean类型
    True
    In [10]: str.count('o')
    Out[10]: 2   ##统计'o'出现次数
    

    4.字符串内置函数:

    函数名 实现功能
    str.isalnum() 判断是否都是字母或数字
    str.isalpha() 判断是否都是字母
    str.isdigit() 判断是否都是数字
    str.islower() 判断是否都是小写
    str.isspace() 判断是否都是英文空格
    str.istitle() 判断是不是都是标题(有大小写)
    str.isupper() 判断是不是都为大写字母
    str.startswith() 判断字符串是否以给定字符开头
    str.endswith() 判断字符串是否以给定字符结尾

    5.字符串查找:
    str.find(sub[,start[,end]])

    • 判断sub是否在str中,存在返回索引值,不存在返回-1.

    str.index(sub[,start[,end]])

    • 与find方法函数功能相同,如果sub不存在时抛出ValueError异常;
    In [2]: str ="""Hello world """
    In [5]: str.find('hello',0,6)  ##未查找到则返回-1
    Out[5]: -1
    
    In [6]: str.find('ello',1,6)
    Out[6]: 1                    ##返回值为查找字符的索引
    
    In [7]: str.index('ello',1,6)
    Out[7]: 1
    

    6.字符串内置方法:(BIF-built-in function)

    cmp(x, y) -> integer ##比较a和b的大小

    In [11]: cmp(21,22)
    Out[11]: -1
    
    In [12]: cmp(21,2)
    Out[12]: 1
    
    In [13]: cmp(12.1,12.1)
    Out[13]: 0
    

    len(object) -> integer ##返回字符串长度

    In [14]: len(str)
    Out[14]: 12
    

    max(str) , min(str) 分别表示:查找字符串str中最大最小ASCLL值的字符

    In [15]: max(str)
    Out[15]: 'w'
    
    In [16]: min(str)
    Out[16]: ' '
    

    七、Python程序案例

    1.打印菱形
    LINE = int(raw_input("Lines:"))
    for i in range(1,2*LINE):    ##1到2n-1行
        a=LINE-abs(i-LINE)       
        print " " * abs(LINE-i),    ##每行有有|n-i|个空格   ##* 重复输出字符串
        print "*" * (2*a-1)         ##每行有2*(n-|i-n|)-1个星星
    Lines:4
        *
       ***
      *****
     *******
      *****
       ***
        *
    2.浮点型变量输出处理
    test=12
    print 'my test is %07d' % test
    price1=62.231
    price2=62.2
    print 'Price1:  %.2f   Price2: %f' % (price1,price2)
    scale=0.32
    print 'Scale: %.2f %%' % (scale*10)
    print '%d   ' % price2
    
    my test is 0000012
    Price1:  62.23   Price2: 62.200000
    Scale: 3.20 %
    62   
    3.猜数字游戏
    #_*_ coding=UTF-8 _*_
    
    from random import randint
    import os
    import datetime
    
    game_times = 0  # 游戏次数
    min_times = 0  # 历次游戏最小多少轮猜对
    total_times = 0  # 历次游戏总共猜的轮数
    game_save_file = "/mnt" + os.sep + "game"
    scores = {}                     # 用字典保存不同玩家的记录
    
    if os.path.exists(game_save_file):
        player = raw_input("Player Name:")
        f = open(game_save_file, 'r')
        lines = f.readlines()[1:]   # 文件第一行是时间
        f.close()
        for line in lines:
            s = line.split()
            scores[s[0]] = s[1:]
        score = scores.get(player)
        if score is None:
            score = [0, 0, 0]
        game_times = int(score[0])
        min_times = int(score[1])
        total_times = int(score[2])
    else:
        print("The Game file has been lost.Please create one firest!" + game_save_file)
        exit(0)
    
    if game_times > 0:
        avg_times = float(total_times) / game_times           # 平均猜对的轮数
    else:
        avg_times = 0
    print("**********Guess Game(1-100)*********")
    print("%s,You have played %d times,At least %d times to get the right answer,Average %.2f times" % (player, game_times, min_times, avg_times))
    
    starttime = datetime.datetime.now()
    timelabel = starttime.strftime("%Y-%m-%d %H:%M:%S %p\n")
    num = randint(1, 100)           # 电脑随机产生一个数
    times = 0                        # 记录本次游戏猜的轮数
    print("Guess what I think?")
    bingo = False
    while not bingo:
        times += 1
        ans = int(input())
        if ans < num:
            print("too small!")
        elif ans > num:
            print("too big!")
        else:
            print("Bingo!")
            bingo = True
    
    # 猜对即退出游戏,并保存游戏记录到本地
    if game_times == 0 or times < min_times:  # 如果是第一次玩或者是times小于历史记录则更新
        min_times = times
    total_times += times  # 游戏总轮数增加
    game_times += 1  # 游戏总次数增加
    scores[player] = [str(game_times), str(min_times), str(total_times)]
    res = ""
    # 本例的做法是把全部玩家的记录覆盖一遍
    for i in scores:
        line = i + " " + " ".join(scores[i]) + "\n"
        res += line
    res = timelabel + res
    
    f = open(game_save_file, 'w')
    f.write(res)
    f.close()
    Player Name:asd
    **********Guess Game(1-100)*********
    asd,You have played 0 times,At least 0 times to get the right answer,Average 0.00 times
    Guess what I think?
    56
    too big!
    34
    too big!
    15
    too small!
    26
    Bingo!
    
    展开全文
  • js基础语法案例(一) 1:输入出生年份弹出年龄 具体代码 <!doctype html> <html> <head> <meta charset="utf-8"> <title>js-1.1</title> <script type="text/javascript"&...

    js基础语法案例(一)

    1:输入出生年份弹出年龄

    具体代码

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>js-1.1</title>
    	<script type="text/javascript">
    	var age=prompt('输入你的年龄');
        var str='您今年已经'+age+'岁了';
    	 alert(str);
    	</script>
    </head>
    <body>
    </body>
    </html>
    

    出现的运行错误问题:
    在DW中一开始全部使用了中文符号,在DW中显示为英文符号较中文符号比较粗。

    2:输入年份判定闰年平年

    具体代码

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>js-3</title>
    	<script type="text/javascript">
    	var year=prompt('请您输入您要检验的年份');	
    		if(year % 4==0 && year % 100!=0||year % 400==0)
    			{
    				alert('此年份是闰年');
    			}
    		else
    			{	
    				alert('此年份是平年');
    			}	
    	</script>
    </head>
    <body>
    </body>
    </html>
    

    案例存在的问题:为什么输入为字符串的格式数据还是可以进行运算,在运行时一开始运行不出来,后来就莫名其妙的好了。

    展开全文
  • SyntaxError 语法错误 IndentationError 缩进错误 NameError 名字错误 TypeError 类型错误 KeyError 键错误 IndexError 索引错误 UNboundLocalError 未初始化本地变量错误 AttributeError 属性错误 ...

    前言

    下面是初学Python的时候比较容易犯的错误及解决方法。

    一、SyntaxError 语法错误

    (1)引号没有成对出现

    报错信息:

    SyntaxError:EOL while scanning string literal
    

    错误示例:

    string = 'hello world
    

    解决方法:
    字符串切记要放在引号中,单引号双引号无所谓。当一个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。

    (2)圆括号没有成对出现

    报错信息:

    SyntaxError:unexpected EOF while parsing
    

    错误示例1:

    result = (1024+(512*2)/128
    

    错误示例2:

    print('hello world'
    

    解决方法:
    使圆括号成对出现。在书写复杂的表达式或调用函数时会经常遇到这个问题。

    (3)错误使用自操作运算符++或–等

    报错信息:

    SyntaxError:invalid syntax
    

    错误示例:

    v = 64
    v++
    

    解决方法:
    在Python语言中,没有类似C语言的++或–等自操作运算符。与之类似功能的用法是+=或-=运算符。例如,使用下面的代码进行让变量v进行自增1的操作。

    v += 1
    

    (4)试图使用等号(=)判断两个运算量是否相等

    报错信息:

    SyntaxError:invalid syntax
    

    错误示例:

    if v=64:
        print('hello world')
    

    解决方法:
    在Python语言中使用两个等号(==)作为判断两个运算量是否相等的关系运算符,而等号(=)是赋值运算符。

    (6)错误使用Python语言关键字作为变量名

    报错信息:

    SyntaxError: can`t assign to keyword
    

    错误示例:

    False= 1
    

    解决方法:
    不要使用Python语言关键字作为变量名、函数名或类名等。在Python Shell窗口中,使用help(‘keywords’)指令可以查看Python语言的关键字列表。

    (7)忘记在if/elif/else/while/for/def/class等语句末尾添加冒号(:)

    报错信息:

    SyntaxError:invalid syntax
    

    错误示例1:

    a = '12345'
    for i  in a
        print(i)
    

    错误示例2:

    def sayhi()
        print('Hi')
    

    解决方法:
    在if/elif/else/while/for/def/class等语句末尾添加冒号(:)即可。牢记语法规则,多多练习多多敲代码。

    (8)错误地使用了中文标点符号

    报错信息:

    SyntaxError: invalid character in identifier
    

    错误示例1:

    print('hello''world')
    # 错误原因:逗号是中文标点符号
    

    错误示例2:

    for i in range(10)# 错误原因:冒号是中文标点符号
    

    解决方法:
    除了字符串中可以有中文外,其它任何情况均使用英文状态进行编辑。

    二、 IndentationError 缩进错误

    报错信息:

    IndentationError:unindent does not match any outer indentation level
    IndentationError:expected an indented block
    

    错误示例:

    a = 2
    while a < 0:
          print('hello')
        a -= 1
    else:
        print('0.0')
    

    解决方法:
    上述代码中while语句体内的代码缩进没有对齐。正确使用缩进排版代码。当代码是从其它地方复制并粘贴过来的时候,这个错误较多见。

    三、 NameError 名字错误

    当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。
    报错信息:

    NameError: name 'pirnt' is not defined
    NameError: name 'sayhi' is not defined
    NameError: name 'pd' is not defined
    

    错误示例1:

    pirnt('hello world')
    # 错误原因:print拼写错误。
    

    错误示例2:

    sayhi()
    
    def sayhi():
        pass
    # 错误原因:在函数定义之前对函数进行调用。
    

    错误示例3:

    pd.read_excel(r'file.xlsx')
    # 错误原因:在调用pandas方法前并未导入pandas库或者并未起别名为pd。
    

    解决方法:
    正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数的定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。

    四、 TypeError 类型错误

    (1)整数和字符串不能进行连接操作

    报错信息:

    TypeError: Can`t convert 'int' object to str implicitly
    TypeError: unsupported operand type(s) for + : 'float' and 'str'
    

    错误示例1:

    print('score:'+100)
    

    错误示例2:

    print(9.8 + 'seconds')
    

    解决方法:
    在整数、浮点数或布尔值与字符串进行连接操作之前,先使用str()函数将其转换为字符串类型。

    (2)调用函数时参数的个数不正确,或者未传递参数

    报错信息:

    TypeError: input expected at most 1 arguments,got 2
    TypeError: say() missing 1 required positional argument:'words'
    

    错误示例1:

    input('输入姓名','年龄')
    # 错误原因:试图给input()函数提供第2个参数。
    

    错误示例2:

    def say(words):
        print(words)
    
    say()
    # 错误原因:调用函数时未传递参数。
    

    解决方法:
    记住函数用法,了解函数的参数定义,使用正确的方法调用函数即可。

    五、 KeyError 键错误

    使用不存在的键名访问字典中的元素,就会发生这个错误。
    报错信息:

    KeyError: 'c'
    

    错误示例:

    d = {'a':1,'b':2}
    print(d['c'])
    

    解决方法:
    在访问字典中的元素时,先用in关键字检测要访问的键名是否存在,或者是使用字典和get()方法安全地访问字典元素。

    六、 IndexError 索引错误

    当访问列表的索引超出列表范围时,就会出现索引错误。
    报错信息:

    IndexError: list index out of range
    

    错误示例:

    a = [1,2,3]
    print(a[3])
    # 错误原因:列表a中不存在第4个索引。列表的索引从0开始编号。
    

    解决方法:
    通过len()函数获取列表的长度,然后判断要访问的索引是否超出列表范围。

    七、 UNboundLocalError 未初始化本地变量错误

    在函数中,如果对未声明的全局变量进行修改操作,将会遇到这个错误。
    报错信息:

    UnboundLocalError: local variable 's' referenced before assignment
    

    错误示例:

    s = 1
    
    def test():
        s += 1
        print(s)
    
    test()
    # 错误原因:在函数内对未声明的全局变量s进行了自增操作。
    # Python将变量s视为一个本地的局部变量,但该变量未初始化。
    

    解决方法:
    在函数内使用全局变量时,使用global关键字对其进行声明即可。

    八、 AttributeError 属性错误

    报错信息:

    AttributeError: 'tuple' object has no attribute 'append'
    AttributeError: 'DataFrame' object has no attribute 'col'
    

    错误示例1:

    t = (1,2,3)
    t.append(4)
    # 错误原因:元组不可变。
    

    错误示例2:

    df = pd.read_excel(r'data.xlsx')
    df.col
    # 错误原因:DataFrame没有col属性,应该为columns。
    

    解决方法:
    正确书写类的属性名,不要发生书写错误。深刻理解元组,列表的区别,可将元组转换为列表添加元素。

    九、 ModuleNotFoundError 模块不存在

    报错信息:

    ModuleNotFoundError: No module named 'pandas'
    

    错误示例1:

    import pandas as pd
    # 没有导入成功,报上面错误。
    

    解决方法:
    这种报错常见于两种场景中,第一、未下载、安装该模块;第二、将调用的模块路径与被调用的模块路径不一致等。第一种情况直接下载安装即可,在cmd中,pip install xxx;第二种情况电脑中可能存在多个版本的Python,建议保留一个常用的即可。

    十、 FileNotFoundError 文件不存在

    报错信息:

    FileNotFoundError: File b'E:\test\test_data.csv' does not exist
    

    错误示例:

    pd.read_csv('E:\test\test_data.csv')
    # 错误原因:路径中包含'\t',系统错误地认为是制表符。
    

    解决方法:
    在确保该路径下确实存在所写文件后,在读取文件路径前面加’r’,表示只读,作为文件路径读取;或者使用双斜杠’\ '来进行转义,形如:‘E:\ \test\ \test_data.csv’。偶尔也会发生文件名、路径的确写错,犯一些低级错误。

    作者 | 严小样儿
    来源 | 统计与数据分析实战

    展开全文
  • f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(): error C2059: 语法错误:“::”f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2589: “(”:“::”右边的非法标记const size...
  • 【ndk,2】ndk开发案例错误处理

    千次阅读 2013-12-20 13:10:08
    【ndk,2】ndk开发案例错误处理
  • java基本语法

    2020-03-16 20:43:34
    day01----java基本语法 Java语言跨平台原理 JVM,JRE和JDK JDK的下载和安装 常用DOS命令 Path环境变量的配置 编写HelloWorld案例 Java基础语法 关键字 常量
  • Java语法格式

    2018-12-18 23:39:32
    语法格式 3.1 常量 3.1.1 常量概述 – 在程序执行的过程中,其值不可以发生改变的量 3.1.2 常量分类 – 字符串常量 用双引号括起来的内容(“HelloWorld”) – 整数常量 所有整数(12,-23) – 小数常量 所有小数(12.34...
  • 批处理语法详解

    千次阅读 2016-04-01 15:40:26
    批处理语法
  • Python基础语法

    2019-03-27 10:59:56
    Python基础语法 注释 1.1 单行注释 语法格式: #[空格]说明性文字信息 添加快捷键: Ctrl+/ 取消快捷键: Ctrl+/ 1.2 多行注释 语法格式: “”“说明性文字信息”"" 快捷键:<无> 1.3 工作日志说明 语法格式...
  • Java 基础语法

    2019-12-08 13:49:37
    1.1.Java的基本语法(重点) 1.1.1.基本语法(必须记住) Java语言严格区分大小写,好比main和Main、system和System是完全不同的概念。 一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义...
  • Java语法基础

    2021-03-06 19:44:32
    Java语法基础 一、初始计算机和java语言 1.计算机的体系结构 1.1 计算机的基本概念 计算机(computer)俗称电脑,是一种用于高级计算,使用非常广泛的设备。主要由计算机硬件和计算机软件两个部分组成。 计算机硬件...
  • sva 基础语法

    千次阅读 2019-07-18 16:05:00
    断言assertion被放在verilog设计中,方便在仿真时查看异常情况。当异常出现时,断言会报警。...以下是断言的语法: 1. SVA的插入位置:在一个.v文件中: module ABC (); rtl 代码 ...
  • java语法格式

    2018-02-02 10:21:43
    语法格式 1.1 常量1.1.1 常量概述– 在程序执行的过程中,其值不可以发生改变的量1.1.2 常量分类– 字符串常量 用双引号括起来的内容(“HelloWorld”)– 整数常量 所有整数(12,-23)– 小数常量 所有小数(12.34)– ...
  • js预编译案例分析

    2018-12-18 18:56:00
    语法检测 看你有没有基本的语法错误,例如中文,关键字错误... 2.词法分析(预编译) 3.逐行执行 变量声明提升,函数声明整体提升  预编译的过程:   案例1:   console.log(a); // console.log(b) ...
  • //基本语法 /* for循环变量初始化;循环条件;循环变量迭代{ 循环操作(语句) } 对上面的语法格式说明 1)对for循环来说,有四个要素 2)循环变量初始化 3)循环条件 4)循环操作(语句),有人也叫循环体。 5)...
  • Scala基础语法指南

    千次阅读 2018-02-28 10:08:26
    Scala语法 声明变量 数据类型与操作符 函数调用和apply()函数 条件控制和循环 函数 数组 数组转换 Map与Tuple 面对对象编程之–类 面向对象编程之对象 面向对象之继承 面向对象编程之Trait 函数式编程 引言 语法 ...
  • Python基础语法和数据类型最全总结

    千次阅读 多人点赞 2021-04-25 15:54:37
    摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python。
  • 01.Java基础语法

    2020-08-16 16:48:31
    01.Java基础语法一,环境搭建1,Java体系与特点2,Java跨平台原理2.1 Java虚拟机(JVM)2.2 垃圾回收器(GC)2.3 Java SE组成概念图2.4 JDK与JRE2.5 环境变量3,Java程序开发的三个步骤4,语法注释Java代码的位置...
  • Oracle 错误总结及问题解决 ORA

    万次阅读 多人点赞 2012-07-08 22:28:45
    ORA 错误大全
  • 写在前面本文是对 javascript 的部分说明和提点,不展开特别全面的论述 ,所以 需要 参考文档 (点击这儿下载)的帮助本文主要讲述javascript的语法与HMTL结合的方法 , 第二篇讲述javascript对象(包含javascript...
  • 1 JAVA语法基础 1.1 标识符 标识符可以简单的理解成一个名字。 在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则...
  • 内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。编译原理课程是计算机相关专业学生的必修课程和高等...
  • freemarker案例(支持中文标签)

    千次阅读 2013-01-23 09:25:57
    freemarker案例(支持中文标签) FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker...
  • 这篇文章将介绍Go的编译运行、语法规范、注释转义及API标准库知识。这系列文章入门部分将参考“尚硅谷”韩顺平老师的视频和书籍《GO高级编程》,详见参考文献,并结合作者多年的编程经验进行学习和丰富,且看且珍惜...
  • 关于oracle一些常见语法汇总

    千次阅读 2018-11-03 19:18:49
    备注:要进行下面的相关操作练习,请使用oracle内置的帐号scott/tiger进行...视图的语法(视图的创建必须要有dba的权限) create view 视图名称 as 查询语句 with read only 案例 create view v_emp as select ename...
  • 1周=1章,除第1-2章,每章包含2个实践案例,共16个案例 实例1:圆面积计算 【公式类】 r = 25 area = 3.1415 * r * r print(area) print("{:.2f}".format(area)) 1963.4375000000002 1963.44 实例1:圆面积计算 ...
  • 正则表达式语法及例子

    千次阅读 多人点赞 2019-04-05 18:30:48
    正则表达式的语法规则 一、行定位符(^和$)  行定位符就是用来描述字串的边界。“^”表示行的开始;“$”表示行的结尾。如:  ^tm :该表达式表示要匹配字串tm的开始位置是行头,如tmequalTomorrowMoon就可以...
  • js(基础语法

    2021-06-08 18:38:46
    今天开始一起学习前端吧!...能够说出JS注释语法 能够说出JS变量命名规则和规范 能够说出JS数据类型 能够说出JS数据类型判断&转换 一、JS简介 是什么 JS是英文javascript的缩写, 它是基于客户端的语

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,958
精华内容 5,983
关键字:

中文语法错误的案例