首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础 | 新手学Python时常见的语法错误和异常

1.语法错误 语句本身的语法存在问题,常见的有循环语句后面少了冒号、用了中文的标点符号、字符串赋值时引号少一个等等,属于逻辑错误。...异常说明 拿1/0为例,我们知道0是无法作为除数的,这里就存在逻辑错误。...我们只需要在此代码前对var进行定义,方可正常执行后续代码。...:')) ValueError: invalid literal for int() with base 10: 'a' 比如当我们使用int对输入对象进行转化为整数时,输入的对象是字符串时,这是一个不合适的参数...KeyboardInterrupt:当用户下中断 (通常为 Control-C 或 Delete) 时 In [18]: num = int(input('请输入一个整数:')) 请输入一个整数

7K41

Python基础语法-函数的错误处理-常见异常类型

a = b + 1 # 抛出NameError异常,b未定义TypeError当函数或操作应用于错误类型的对象时,会抛出TypeError异常。...a = "Hello"b = 2c = a + b # 抛出TypeError异常,无法将字符串和整数相加ValueError当函数或操作应用于具有正确类型但不适合特定值的对象时,会抛出ValueError...a = int("Hello") # 抛出ValueError异常,无法将字符串转换为整数ZeroDivisionError当尝试除以0时,会抛出ZeroDivisionError异常。...a = 1 / 0 # 抛出ZeroDivisionError异常,除数为0IndexError当尝试访问超出列表或元组索引范围的值时,会抛出IndexError异常。...a = [1, 2, 3]b = a[3] # 抛出IndexError异常,超出了列表索引范围KeyError当尝试访问不存在的字典时,会抛出KeyError异常。

2.6K40
您找到你想要的搜索结果了吗?
是的
没有找到

Python中的内置异常你知道那些,欢迎留言评论~~~

对于用户定义的类,使用Exception。此类负责使用传递的参数使用str()创建异常的字符串表示形式。如果没有参数,则返回一个空字符串。 args: args是提供给异常构造函数的参数的元组。...5、exception LookupError 这是在映射或序列上使用索引无效或找不到时引发的那些异常的基类。...." else: print "Success" 输出: 索引越界错误....exceptions_KeyError.py", line 13, in print array['c'] KeyError: 'c' exception KeyboardInterrupt 当用户下中断...异常TypeError 当将操作或函数应用于不适当类型的对象时,引发 TypeError。此异常返回一个字符串,其中提供有关类型不匹配的详细信息。

2.9K10

2022年最新Python大数据之Python基础【六】函数与变量

+ set1) # 结论,数据类型布偶无法进行加法运算(特指容器类型之间) * 基础数据类型(int float bool)都可以进行乘法运算 容器类型只能和int类型数据进行乘法运算 容器类型进行乘法运算...# TypeError: can't multiply sequence by non-int of type 'float' # 乘法运算不能让容器与int类型相乘 # print(list1 *...肯定不行,因为不能使用索引获取数据 # 结论: # 1.list str tuple 可以使用切片,格式是:[起始位置:终止位置:步长],三者使用方式完全一致 # 2.所有的切片都不会在原有的数据上进行修改...,而是产生一个新的数据序列 # 3.集合和字典无法切片,因为不能使用索引获取数据元素 2、公共函数 len :获取容器内元素个数 del:删除容器内元素 max :获取容器内数据的最大值 min : 获取容器内元素的最小值...,也不能少传参(形参) 关键字参数:使用”参数名 = 值“的形式进行传参(实参) 可以不顺序赋值 必须在顺序赋值之后完成赋值 缺省参数:在定义函数时,给参数一个默认值,如果调用时,不给其传参,

1.2K20

Python异常原理及异常捕捉实现过程解析

ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当...x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的 KeyboardInterrupt Ctrl+C被下 NameError 使用一个还未被赋予对象的变量 SyntaxError...() if age.isdigit(): #只有在age为字符串形式的整数时,下列代码才不会出错,该条件是可预知的 age=int(age) if age == AGE:...异常类型: try中一旦检测到异常,就执行这个位置的逻辑 #举例 try: f=open('a.txt') g=(line.strip() for line in f) print(next...(next(g)) print(next(g)) print(next(g)) except StopIteration: f.close() #1 异常类只能用来处理指定的异常情况,如果指定异常则无法处理

1.3K10

异常处理

2.1 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包...;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError...试图访问字典里不存在的 KeyboardInterrupt Ctrl+C被下 NameError 使用一个还未被赋予对象的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误...if age.isdigit(): # 只有在age为字符串形式的整数时,下列代码才不会出错,该条件是可预知的 age = int(age) if age =...print(next(g)) print(next(g)) except StopIteration: f.close() a a a a a 1.异常类只能用来处理指定的异常情况,如果指定异常则无法处理

1.1K10

python中什么是pep_python技术应用认证证书有用吗

,注意位运算是按照参与的数据进行二进制位表达之后的运算 位运算符 描述 原理 简单的例子 运算过程 & 位与运算符 如果两个位均为1,Python位运算符将返回1,否则返回0 10&7 = 2..., 不包含b;a和b需要从小到大排序,否则无法输出; range(a, b, step) 会生成[a, b) 的整数序列,但是每个数字之间的间隔(步长)是step; iterating through...,正向索引为0,1,2……,第一个元素索引为0;负向索引-1,-2,-3,……最后一个元素索引-1; 3.可以指定间隔进行切片。...\t  表示制表符,将光标移到下一个制表符的位置,就像在文档中用tab一样。 \b  表示退格符,如同键盘上的Backspace。...前,如果顺序发了,程序会报错 位置参数和关键字参数混用:混合使用时,必须将 位置参数 写到前面,关键字参数 不用按照顺序来指定。

1.9K20

python常见报错以及解决方案(持续更新)

解决:修改索引值或者先进行判断 sADirectoryError: [Ermo 21] Is a directory 描述:想要操作文件,但提供的是一个目录错误。...解决:检查连接FTP的参数是否正确 TypeError: can only concatenate str (not “XXX”) to str 描述:只能进行字符串与字符串的连接。...可能出现的原因: 将字符串与字符串类型(如整型、浮点型、布尔型、序列对象等)的数据使用+进行连接。...解决:使用str()函数转换后再连接 TypeError: f() takes exactly 2 arguments (1 given) 描述:为函数提供的参数个数不够。...可能出现的原因: 进行除法、取整除、求余运算时,0作为除数。 解决:修改为0数字 以上就是python常见报错以及解决方案,如果有其他的报错可以在评论区留言,我会更新上去,欢迎各位大佬来访~

1.3K30

Pandas中的对象

Pandas对象简介 如果从底层视角观察Pandas,可以把它们看成增强版的Numpy结构化数组,行列都不再是简单的整数索引,还可以带上标签。...: Numpy数组通过隐式定义的整数索引获取数值 Series对象是一种显示定义的索引与数值关联 显示定义的索引让Series对象有了更加强大的能力。...c', 'd']) data a 0.25 b 0.50 c 0.75 d 1.00 dtype: float64 # 获取索引b的数值 data['b'] 0.5 也可以使用不连续或者不顺序的索引...如果不指定行列索引值,那么行列默认都是整数索引值:(本质是给一个多维Series对象,给定行索引index,给定列索引columus,默认为None) pd.DataFrame(np.random.rand...: Index does not support mutable operations Index 对象的不可变特征使得多个DataFrame 和数组之间进行索引共享时更加安全,尤其是可以避免因修改索引时粗心大意而导致的副作用

2.6K30

2022年最新Python大数据之Python基础【五】

, 要插入的对象) # 在insert中第一个参数是要插入位置索引,所以如果插入了数,则该被插入数据的索引变为第一参数所显示的索引 # 原来该位置的元素以及之后的元素下标+1(向后移动一位) # 如果使用...(2)) # IndexError: pop index out of range # 使用pop进行删除的元素下标一定要存在 # print(list1.pop(12)) # 删除后,指定索引位置的元素消失后边的元素统一向左移动一位...# 通过索引进行修改 list1 = [1, 2, 3, 4] # 通过索引查找到指定位置的数据,并进行修改 list1[1] = 6 # IndexError: list assignment index...空集合:set() 集合是一个无序的 不重复的数据序列 # 集合: 集合是一个无序,不重复的数据序列 # 无序: 程序员无法控制其排不顺序, 程序员无法使用索引查找或修改数据 # 不重复:没有办法在字典中放入相同的值...,会自动去重,类似于字典的 # 无序: set1 = {1, 2, 5, 6, 3, 4} # 程序员无法利用其顺序,有顺序也无用 # 了解:在集合中会使用数据的值计算哈希值,根据哈希值顺序进行排序

3.4K20

11 . Python3之异常,调试和测试

有的错误是程序编写有问题造成的,比如本应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的....试图访问字典里不存在的 KeyboardInterrupt Ctrl+C被下 NameError 使用一个还未被赋予对象的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误...如果错误发生的条件是可预知的,我们需要用if进行处理: 在错误发生之前进行预防....next(g)) print(next(g)) print(next(g)) except StopIteration: f.close() 异常类只能用来处理指定的异常情况,如果指定异常则无法处理...输入0,期待返回0 输入数值类型,比如None、[]、{},期待跑出TypeError。 把上面的测试用例放到一个测试模块里,就是一个完整的单元测试.

1.4K40

数据科学 IPython 笔记本 7.4 Pandas 对象介绍

本质区别在于索引的存在:虽然 Numpy 数组拥有隐式定义的整数索引,用于访问值,Pandas Series拥有显式定义的索引,与值关联。 这个显式索引的定义,为Series对象提供了额外的功能。...例如,索引不必是整数,还可以包含任何所需类型的值。...''' a 0.25 b 0.50 c 0.75 d 1.00 dtype: float64 ''' 项目的访问像预期一样工作: data['b'] # 0.5 我们甚至可以使用连续的索引...0 0 0 1 1 2 2 2 4 即使字典中的某些丢失,Pandas 也会用NaN(即“数字”)值填充它们: pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, '...如果省略,将为每个使用整数索引: pd.DataFrame(np.random.rand(3, 2), columns=['foo', 'bar'],

2.3K10

【Python2】03、Python对象

:           #显示转换              str(),repr()精确值或format()转换为特定格式:将字符型数据转换为字符串 int():转换为整数 float():...math.sqrt(4)          #开平方 Out[18]: 2.0   In [22]: math.pow(2,4)          #平方 Out[22]: 16.0 4、序列类型 序列表示索引整数的有序对象集合...unicode编码,则在字符之前使用字符u进行标识,如u“magedu” 文档字符串:模块、类或函数的第一条语句是一个字符串的话,该字符串就是就成为文档字符串,可以使用__doc__引用。...}            {}:空字典 映射类型表示一个任意对象的集合,而且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,它通过进行索引        任何不可变对象都可用作字典的...,深复制可使用copy模块中的deepcopy()实现  3)Python中的所有对象都是“第一类的”这意味着使用标识符命名的所有对象都有相同的状态,于是,能够命名的所有对象都可以直接当数据进行处理。

1K20

魔法方法(1)

这个方法在对象被销毁(作为垃圾被收集)前被调用,但鉴于你无法知道准确的调用时间,建议尽可能不要使用__del__。...__getitem__(self, key):这个方法应返回与指定相关联的值。对序列来说,应该是0~n-1的整数(也可以是负数,这将在后面说明),其中n为序列的长度。对映射来说可以是任何类型。...对于序列,如果为负整数,应从末尾往前数。换而言之,x[-n]应与x[len(x)-n]等效。 如果的类型不合适(如对序列使用字符串),可能引发TypeError异常。...def check_key(key): """ 指定的是否是可接受的索引必须是非负整数,才是可以接受的。...如果所使用索引类型非法,将引发TypeError异常;如果索引类型正确,但不再允许的范围内(即为负数),将引发IndexError异常。

69910

JavaScript 高级程序设计(第 4 版)- 集合引用类型

迭代器方法 keys()返回数组索引的迭代器 values()返回数组元素的迭代器 entries()返回索引/值的迭代器 复制和填充方法 批量复制方法copyWithin(),指定范围浅复制数组中的部分内容...set()从提供的数组或定型数组中把值复制到当前定型数组中指定的索引位置 subarray()基于从原始定型数组中复制的值返回一个新定型数组,复制值时的开始索引和结束索引是可选的 // 创建长度为8...、字符串或符号作为,Map可以使用任何JS数据类型作为。...Object或者继承自Object的类型,尝试使用费对象设置会抛出TypeError。...weak描述的是JS垃圾回收程序对待弱集合中值的方式 # 基本API 弱集合中的值只能是 Object 或者继承自 Object 的类型,尝试使用对象设置值会抛出 TypeError

658100

python数据分析——数据的选择和运算

loc完全类似,只不过是针对“位置(=第几个)"进行筛选。...关键技术:如果DataFrame行索引和当前分析工作无关且不需要展示,需要将ignore_index设置为True。请注意,索引会完全更改,也会被覆盖。 【例】列合并对象。...关键技术:可以使用count()方法进行计算空个数。...关键技术:可以利用行号索引和count()方法来进行计数,程序代码如下所示: 【例】对于给定的DataFrame数据,索引进行求和并输出结果。...,值为first空值在数据开头,值为last空值在数据最后,默认为last ignore_index:布尔值,是否忽略索引,值为True标记索引(从0开始顺序的整数值),值为False则忽略索引

12510

Python异常

一.Python的运行时错误称作异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者输出结果需要的过程无法执行等...、减轻错误带来的影响等 二、异常的公用 1.错误处理 python的默认处理:停止程序,打印错误消息 使用try语句处理异常并未从异常中恢复 2.事件通知 用于发出有效状态信号 3.特殊情况处理 无法调整代码去处理的场景...个抽象的子类 ArithmeticError 由于算术错误而引发的异常基类 OverflowError,ZeroDivision,FloatingPointError LookupError 容器在接收一个无效索引时引的异常的基类...ImportError import语句不能找到要导入的模块,或者不能找到模块特别请求的名称 IndentationError 解析器遇到了一个由于错误的缩进而引发的语法错误 IndexError用力索引序列的整数超过了范围...keyError用来索引映射的不在映射中 KeyboardInterrupt 用户了中断(Ctrl+c,Ctrl+Break或Delete) MemoryError运算耗尽内存 NameError

2.4K90

13.2 具体的集合

List(列表):集合中的元素索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象。.... ; String obj = list.get(n);   get方法的效率不高,而且非常不建议使用get方法对链表进行遍历。   列表迭代器接口中有一种方法,可以告知当前位置索引。...实际上,Java迭代器指向两个元素之间的位置,所以可以 同时产生两个索引:nextIndex方法返回下一次调用next时返回元素的整数索引;previousIndex方法返回下一次调用previous方法时返回元素的整数索引...当然,这个索引只比nextIndex返回的索引值小1.这两个方法的效率非常高,因为迭代器保持着当前位置的计数值,   如果一个整数索引是n,则list。...只有两个正整数进行比较的时候,才能使用上述的方法进行,直接返回它们的差值,如果x是一个较大的正整数,而y是一个绝对值较大的负整数,x - y可能会溢出。

1.8K90

python Exception(异常处

逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者出结果需要的过程无法执行等。    默认情况下:python脚本执行过程中出现异常后,脚本执行将被终止。    ...第二阶段:异常处理,如忽略致命错误、减轻错误带来的影响等。...由于算术错误而引发的异常基类;包括:OverflowError、ZeroDivisionError、FloatingPorintError        LookupError:容器在接收到一个无效的索引时引发的异常的基类...IndentationError:解析器遇到了一个由于错误的缩进而引发的语法错误    IndexError:用来索引序列的整数超出了范围。    ...KeyError:用来索引映射的不在映射中    KeyboardInterrupt:用户了中断(ctrl+c、ctrl+break、delete)    MemoryError:运算耗尽内存

2.1K30
领券