一、注意你的Python版本

Python官方网站为http://www.python.org/,当前最新版本为3.4.0 alpha,稳定版本为3.3.2,在3.0版本时,Python的语法改动较大,而网上的不少教程及语法针对的是1.0或者2.0版本的,这样就造成不少初学者按照示例代码来写,但编译都无法通过的问题。

1、print()函数

旧的print函数用法为print ‘Hello’,而新的print函数对此改成了print(‘Hello’)并且不再兼容之前版本。

如果在3.X版本上Python上使用旧的print语法,将出现“SyntaxError: invalid syntax”错误。

2、raw_input()与input()

Python3中用input()取代了raw_input(),当然这仅仅是重命名,使用上并没有不同;

3、比较符号,使用!=替换<>

4、repr函数

使用repr()函数替换``(注:反单引号,位于键盘1的左边一个键),将一个object转换为string,注意repr()与str()略有不同

5、exec()函数

exec用来执行存储在字符串或者文件中的Python语句,与JavaScript中的eval()函数类似,新的exec用法为exec(‘print(“Hello”)’)

二、新手常遇到的问题

1、如何写多行程序?

相信新手经常会遇到为何对着Python Shell发现程序没法换行,一换行就认为是执行了。这是因为你使用的是Python Shell!你可以点击File->New Window或者Ctrl+N新开一个Python编辑器,这才是代码编辑器,尽情写你的Python程序吧,执行时只需要保存为后缀是.py的文件,然后F5就可以在Python Shell显示执行结果了。

2、如何执行.py文件?

直接双击.py文件即可,如果出现不能执行的问题,可能是你没有正确环境变量,在环境变量里找到Path,加上你Python的安装路径,比如C:\Python33\;

3、and,or,not

一般的编程语言比较关系运算符都是&&、||以及!,但Python偏偏使用and、or和not来分别代码并且、或者和非,我惊呆了。

4、True和False

没错,的确是True,而不是true,Python的这一点也实在令人难以理解,Python语法体系中基本都是小写的语法风格,为什么到这里要使用Pascal命名方式?

三、Python的数据结构

1、列表 List

声明方式:list=[1,2.3,’x’,'Hello’],拥有方法:

  • list.append(x) 在列表尾部添加一项
  • list.extend(L) 用给定的列表将当前列表接长,append与extend区别见http://hi.baidu.com/wewe39/item/c2599557739ec9dcd48bacf6
  • list.insert(i,x) 在给定的位置上插入项
  • list.remove(x) 移除列表中的第一个值为x的项,注意x并非索引
  • list.pop([i]) 删除给定位置的项并返回
  • list.index(x) 返回列表中第一个值为x的项索引值,没有匹配项则产生一个错误
  • list.count(x) 返回列表中x出现的次数
  • list.sort() 排序
  • list.reserve() 倒序

遍历示例:

numbers=[0,1,2,3,4,5,6,7,8,9]
for i in range(len(numbers)):
    print(i)

2、元组 Tuple

声明方式比较特殊:tuple=item1,item2,item3,例:

tuple=12,323.0,0.34,'Hello'
for i in range(len(tuple)):#遍历
    print(tuple[i])

3、集合 Set

声明方式:set={item1,item2,item3},例:

basket={'a’,'b','a','c','c’,'d'}

集合为无序不重复的元素集,上例声明的结果将为

{'d', 'a', 'b', 'c'}

遍历方式:

basket={'a','b','a','c','c','d'}
for i in basket:
    print(i)

4、字典 Dict

声明示例:

tel={'jack':23423,'sape':234}

可使用下述方式进行赋值:

tel['guido']=4127

结果为:{'sape': 234, 'guido': 4127, 'jack': 23423}

可使用items()方法取得键和对应的值,例:

for k,v in tel.items():
    print(k,v)

遍历方式:

tel={'jack':23423,'sape':234}
for key in tel:
    print(key ,':' , tel[key])

Python初学者需要注意的问题的更多相关文章

  1. Python初学者之网络爬虫(二)

    声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans ...

  2. Python初学者的一些编程技巧

    #####################喜欢就多多关注哦######################### Python初学者的一些编程技巧   交换变量  ? 1 2 3 4 5 6 7 8 9 ...

  3. Python初学者常见错误详解

    Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:”   if spam == 42 print('Hello ...

  4. 给Python初学者的一些编程技巧

    展开这篇文章主要介绍了给Python初学者的一些编程技巧,皆是基于基础的一些编程习惯建议,需要的朋友可以参考下交换变量 x = 6y = 5 x, y = y, x print x>>&g ...

  5. 致 Python 初学者们!

    ​ 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长.在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫.我非常理解你们所面临的处 ...

  6. python 初学者

    明确学习目标,不急于求成 当下是一个喧嚣.浮躁的时代.我们总是被生活中大量涌现的热点所吸引,几乎没有深度阅读和思考的时间和机会.我始终认为,学习是需要沉下心来慢慢钻研的,是长 期的:同时,学习不应该被 ...

  7. 写给已有编程经验的 Python 初学者的总结【转】

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  8. 写给已有编程经验的 Python 初学者的总结

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  9. Python初学者必看(1)

    python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

随机推荐

  1. 字符串匹配算法之BF(Brute-Force)算法

    BF(Brute-Force)算法 蛮力搜索,比较简单的一种字符串匹配算法,在处理简单的数据时候就可以用这种算法,完全匹配,就是速度慢啊. 基本思想 从目标串s 的第一个字符起和模式串t的第一个字符进 ...

  2. [异常] MyEclipse Deploy点不开 An internal error occurred during: "Launching MVC on Tomcat 6.x". java.lang.NullPointerException

    >_<" 今天做struts时,工程写好了,可是点击MyEclipse上面的Delopy不会跳出常规的窗口,导致各种坑~ >_<" 如果直接运行还出现下面的 ...

  3. SQL语法的重要知识点总结

    好几年没写SQL语句了.现在到了新的team,需要用到数据库.作为QA的话时常需要使用客户端工具连接到数据库中找寻或修改数据.这么长时间没使用,一些SQL的使用技巧都忘得差不多了.晚上看了一些资料,花 ...

  4. javax.persistence.PersistenceException: No Persistence provider for EntityManager named ...

    控制台下输出信息 原因:persistence.xml必须放在src下META-INF里面. 若误放在其他路径,就会迷路.

  5. HTTP协议之chunk编码(分块传输编码

    Transfer-Encoding: chunked 表示输出的内容长度不能确定,普通的静态页面.图片之类的基本上都用不到这个. 但动态页面就有可能会用到,但我也注意到大部分asp,php,asp.n ...

  6. paip.汉字简化大法总结

    paip.汉字简化大法总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...

  7. 两两组合覆盖测试用例设计工具:PICT

    两两组合覆盖测试用例设计工具:PICT 2016-08-31 目录 1 成对测试简介2 PICT使用  2.1 安装 PICT  2.2 使用PICT3 PICT算法  3.1 准备阶段  3.2 产 ...

  8. Leetcode 125 Valid Palindrome 字符串处理

    题意:判断字符串是否是回文字符串 先将所有的字母和数字字符保留,并将大写字母转化成小写字母,然后将字符串倒置,比较前后两个字符串是否相同. 该题最好的解法可以模仿 Leetcode 345 Rever ...

  9. Liferay7 BPM门户开发之33: Portlet之间通信的3种方式(session、IPC Render Parameter、IPC Event、Cookies)

    文章介绍了5种方式,4种是比较常用的: Portlet session IPC Public Render Parameters IPC Event Cookies 参考地址: https://web ...

  10. 重学JAVA基础(七):线程的wait、notify、notifyAll、sleep

    /** * 测试thread的wait notify notifyAll sleep Interrupted * @author tomsnail * @date 2015年4月20日 下午3:20: ...