Python语言程序设计基础 课件 第10章 程序设计常见问题_第1页
Python语言程序设计基础 课件 第10章 程序设计常见问题_第2页
Python语言程序设计基础 课件 第10章 程序设计常见问题_第3页
Python语言程序设计基础 课件 第10章 程序设计常见问题_第4页
Python语言程序设计基础 课件 第10章 程序设计常见问题_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章程序设计常见问题10.1编程新手易犯的错误10.2Python程序设计的“坑”10.3Python优雅编程实例本章小结

10.1编程新手易犯的错误

10.1.1语法错误

(1)程序中用中文符号。切记:程序中的逗号、引号、括号、冒号等都是英文符号。【错误语句】

(2)语句中的if、else、elif、for、while、class、def、try、except、finally等保留字语句末尾忘记添加英文冒号。

【错误语句】(程序片段)

(3)在语句中用赋值符号(=)代替等号(==)。

【错误语句】(程序片段)

(4)语句缩进量不一致错误。确保没有嵌套的代码从最左边的第1列开始,包括shell提示符中没有嵌套的代码。Python用缩进来区分嵌套的代码段,因此在代码左边的空格意味着嵌套的代码块。代码行缩进不一致是容易被忽视的错误。

(5)语句中变量或者函数名拼写错误。

(6)语句中混用Tab键与空格。在代码块中,避免Tab键和空格键混用来缩进。否则在编辑器中看起来对齐的代码,在Python解释器中会出现缩进不一致的情况。

(7)语句中用空格代替点表示符。

(8) C/C++ 等语言用 ++ 做自增运算符;Python用 += 做自增运算符。

10.1.2语义错误

(1)语句中序列的索引号错误。

(2)语句中不同数据类型混用。函数input()从键盘接收的数据都是字符串,当键盘输入的是数字时,很容易在编程时造成错误。

(3)函数输出的数据类型很容易被忽视,这在后续操作中很容易出错。如期望用函数range()定义列表,但是range()返回的是range对象而不是列表。

(4)不能直接改变不可变的数据类型,如数值型、元组、字符串都是不可变数据类型,不能直接改变它们的值。但是,可以用切片和连接的方法构建一个新对象。

(5)字符串中的元素可以读取,但字符串不可修改。

(6) Python中,变量在没有赋值之前无法使用。因此,一定要记得初始化变量。

10.1.3运行时错误

(1)在调用某些函数或方法时没有安装或导入相应的模块。

(2)调用文件时,路径错误或者当前路径下不存在文件。

(3)在函数调用时,要注意变量的作用域,不要在函数外部调用局部变量。

10.2Python程序设计的“坑”

Python程序语言虽然简单易用,但是也容易给程序员造成一些难以捕捉的错误。程序总会有一些出乎意料的输岀结果,这就是程序员通常所说的“坑”。下面是Python编程中一些常见的“坑”。

Python程序设计中的三大“坑”是逗号、路径分隔符和乱码,如果使用不当就会出现错误。

10.2.1神奇的逗号

在Python中,小括号既可以表示元组,又可以表示表达式的小括号,这样很容易产生二义性。因此,Python规定,当小括号中只有一个元素时,加逗号表示是元组。需要特别注意的是,列表中元素加逗号后依然是列表。

(1)示例:加逗号定义元组,不加逗号定义整型。

【坑】示例:列表元素加逗号。

类似地,引号后加不加逗号也决定着变量被定义为字符串还是元组。

(2)示例:不加逗号时为字符串,加逗号为元组。

在列表中,若元素之间不加逗号,则被程序理解为同一元素。

(3)示例:不加逗号为同一元素。

在返回时,在返回值后加上逗号则返回的是元组,不加逗号则返回原本的值。

(4)示例:加逗号时返回元组,不加逗号时返回整数。

变量名也可以在尾部加逗号。

(5)示例:带逗号尾巴的变量名。

10.2.2神奇的星号

Python中的星号(*)用途很多,它们既可以用于算术运算,又可以用于字符加倍,还可以用于导入模块中的所有函数。在函数中,一般用 * 表示元组类型数据,用 ** 表示字典类型数据;它们既可以用在函数形参中,又可以用在函数zip()的解包运算中。星号的用途主要有以下几种:

10.2.3其他神奇运算

(1)用下画线做临时变量。

(2)省略号也是对象。

如上所示,可以用“_”获取最近一次的临时结果;Python程序有用“_”作为临时变量名的传统。

(3)带参数调用返回结果。

(4)调用函数名返回地址。

运行结果为<functionaat0x000002A6A9E5FD90>。

(5)定义多个列表。

(6)定义多个列表的方法。

(7)逻辑运算符and、or通常用作判断,很少用它来取值。如果用逻辑运算符赋值,当表达式中所有值都为真时,or会选择第1个值,而and则会选择最后那个值。

(8)到底循环了多少次。

输出结果为:0 1 2 3。

程序说明:程序第3行的赋值语句i=10并不会影响循环。在每次迭代开始之前,迭代器range(4)函数生成的下一个元素赋值给迭代变量i。

10.3Python优雅编程实例

很多程序语言都可以实现优雅编程,优雅编程要求代码干净、整洁、一目了然。除前面章节案例中列举的一些优雅编程方法(如列表推导式、三元表达式、匿名函数等)外,还有下面一些常见的Python优雅编程方法。

(1)利用元组实现多值判断优雅编程。

(2)变量赋值优雅编程。

(3)区间判断优雅编程。

(4)判断优雅编程。

(5)遍历序列优雅编程。

(6)字符串连接优雅编程。

(7)键值交换优雅编程。

(8)循环优雅编程。

(9) ()、[]、{}符号中间,在元素逗号处换行可以省略续行符。

本章是对Python编程中常见问题的详细总结,具体包括以下几个方面:

(1)编程新手易犯的错误:包括代码格式不规范、异常处理不足、语法错误、语义错误和运行时错误。具体例子包括使用中文符号、忘记冒号、错误使用赋值和比较运算符、不一致的缩进、拼写错误、混用Tab和空格进行缩进、点表示符的错误使用、自增运算符的误用等。

(2) Python程序设计的“坑”:涉及逗号、星号的误用、路径分隔符问题和乱码问题。详细解释了逗号在定义元组、列表和函数返回值时的易错用法,星号在算术运算和函数参数中的应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论