对于很多初学编程的人来说,犯一些小错误是很正常的,即使老手也都是从这个阶段经历过来的。而对于初学Python的新手来说,也同样会犯一些简单的小错误,一起来看看最常犯的10个错误,权当是提醒一下自己。

1、忘记写冒号

在 if、elif、else、for、while、class、def 语句后面忘记添加“:”

if spam == 42

print('Hello!')

2、误用 “=” 做等值比较

“=”是给变量赋值,“==”才是判断两个值是否相等:

score = 60

if score = 60:

print ('passed')

改正:

score = 60

if score == 60:

print ('passed')

3、变量没有定义:

if age >= 18:

print ('adult')

print ('END')

会导致:NameError: name ‘age’ is not defined.

改正:

age = 20

if age >= 18:

print ('adult')

print ('END')

4、字符串与非字符串连接

错误:

num = 12

print('I have ' + num+ ' apples.')

非字符串和字符串连接的时候,要将非字符串转换为字符串类型之后才能连接

改正:

num = 12

print('I have ' + str(num)+ ' apples.')

5、列表的索引位置

习惯性地认为列表元素的位置是从1开始的:

spam = ['cat', 'dog', 'mouse']

print(spam[3])

列表元素的位置是从0开始的,所以第3个元素“mouse”的索引位置是2

改正:

spam = ['cat', 'dog', 'mouse']

print(spam[2])

6、使用自增 “++” 自减 “—”

学过c语言或者Java的人会很习惯使用i++或者i—,但在Python中是没有自增自减操作符的:

spam = 0

spam++

这时可以使用 “+=” 来代替 “++”

改正:

spam = 0

spam += 1

7、使用关键字命名变量

Python 3中一共33个关键字:

False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield

自定义变量时,变量名不能和这些关键字重复。

8、索引元素位置时忘记调用 len 方法

通过索引位置来获取列表元素时,忘记要先使用 len 函数来获取列表的长度:

fam = ['dad', 'mom', 'son']

for i in range(fam):

print(fam[i])

改正:

fam = ['dad', 'mom', 'son']

for i in range(len(fam)):

print(fam[i])

9、函数中的局部变量赋值前被使用

num = 42

def myFunction():

print(num)

num = 100

myFunction()

第一行定义了一个全局变量num,同时函数myFunction( )也定义了一个同名的局部变量,但程序执行时是先查找局部变量的,所以在函数中找到num之后就不到外部查找了,此时就会出现print的时候变量num还没赋值的错误。

10、缩进问题

和其他语言的语法最大的不同就是,Python不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。

常见的错误用法:

(1)、

print('Hello')

print('World!')

错误是第二行的缩进会导致两个print语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成;

print('Hello')

print('World!')

(2)、

if spam == 42:

print('Hello')

print('World!')

错误是第三行的缩进,改正的方法有两种,一是如果两个print语句是属于同一代码块的,应该改正为

if spam == 42:

print('Hello')

print('World!')

二是如果第三行的print语句是和if语句是同一级的,则改正为

if spam == 42:

print('Hello')

print('World!')

(3)、在Python 3中,缩进的时候,不能Tab和空格混用,每个缩进层次应该选择只使用Tab或者只使用空格。

python编程新手常犯的错误_Python新手常犯的10个错误 - 里维斯社相关推荐

  1. python 广告联盟_创建百度联盟广告代码位第一天盈利5毛 - 里维斯社

    自申请百度联盟广告成功之后,就开始着手上广告,想要看看具体效果和到底能带来多少收益,于是就开始创建代码位并投放广告. 投放联盟广告 百度联盟后台左侧列表列出很多其他服务,包括Feeds联盟.百度SSP ...

  2. python新手最容易犯的错误_Python新手最容易犯的十大错误

    1. 忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加":" if spam == 42 print('Hello!') 2. 误 ...

  3. 用python编程、假设一年期定期利率_Python习题选编 -

    Python习题选编 华东师大信息学院计算中心 一.程序结构与算法部分: 1. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者. 参考代码: x = int(input(\y = ...

  4. python编程的基本方法有哪些_Python编程中常用的基础知识有哪些?

    今天小编要跟大家分享的文章是关于Python编程中常用的基础知识有哪些?正在从事Python相关工作的小伙伴们,来和小编一起看一看本篇文章,希望本篇文章能够对大家有所帮助. 1.正则表达式替换 目标: ...

  5. python编程入门到实践笔记习题_Python编程从入门到实践笔记——列表简介

    python编程从入门到实践笔记--列表简介 #coding=utf-8 #列表--我的理解等于c语言和java中的数组 bicycles = ["trek","cann ...

  6. python编程快速上手第三章_Python编程快速上手 往让繁琐工作自动化-6.6 习题(示例代码)...

    Python编程快速上手 往让繁琐工作自动化-6.6 习题 1.什么是转义字符? 答:转义字符表示字符串中的一些字符,这些字符用别的方式很难在代码中打印出来. 2.转义字符\n和\t代表什么? 答:\ ...

  7. 用python编程、假设一年期定期利率_Python习题选编

    文档 Python 习题选编 华东师大信息学院计算中心 一.程序结构与算法部分: 1. 编写一个 python 程序,输入两个数,比较它们的大小并输出其中 较大者. 参考代码: x = int(inp ...

  8. 用python编程、假设一年期定期利率_Python习题选编精编版

    -----------------------最新资料推荐------------------- 1 Python 习题选编 华东师大信息学院计算中心 一.程序结构与算法部分: 1. 编写一个 pyt ...

  9. python编程教学基本语法教学视频_Python编程学习#Python视频课程#全民一起玩Python 基础+提高...

    适用人群 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述 制作精细.自带吐槽,每节课程(20分钟)均耗时数十小时精心打造!有多达十 ...

  10. python中输入17=x会引起错误_python新手常犯的17个错误

    1)忘记在 if , elif, else, for, while, class,def声明末尾添加 :(导致 "SyntaxError :invalid syntax") 该错误 ...

最新文章

  1. 新上任经理如何带团队
  2. python程序开发正则表达式_python正则表达式的使用(实验代码)
  3. python except用法和作用_Python面试题(部分附带面试标准答案) 建议收藏
  4. element-ui源码阅读笔记(button篇)
  5. 印花固浆在水性印花中的作用
  6. [Flink]Flink 的物理分区器
  7. golang.是用类axios.js的api请求http接口,支持proxy
  8. Android显示shp文件,Arcgis for Android移动平台能直接打开本地的shp文件吗
  9. MedicineCare-可行性分析
  10. 基于51单片机的贪吃蛇小游戏
  11. ewiews面板回归模型操作_EViews操作指南:eviews面板数据回归分析
  12. 支持向量机(SVM)算法原理
  13. 基础平台项目之集成Jquery.pagination.js实现分页
  14. 微信小程序腾讯云环境搭建
  15. DeprecationWarning: currentThread() is deprecated, use current_thread() instead
  16. 兔老大的系统设计(二)定时系统(延时队列)
  17. 常用数据库的特点、应用场景信息整理
  18. animation css 透明度逐渐_CSS实现透明度变化的动画 (淡入淡出效果)
  19. matlab如何读取二维数组,Matlab从csv文件中读取多个二维数组
  20. START WITH 的用法

热门文章

  1. Blog访问量提升秘笈
  2. 25.TCP/IP 详解卷1 --- SNMP:简单网络管理协议
  3. 10.XSD 元素替换
  4. python之MRO和垃圾回收机制
  5. openstack trove实例状态转换条件--Mitaka版本
  6. 公共的数据库访问访问类 SqlHelper.cs
  7. 《算法导论》读书笔记之第3章 函数的增长
  8. CSS中怎么让DIV水平居中
  9. 允许更新此预编译站点的作用
  10. Binwalk--多重文件查看利器