本文是看到的,然后结合自己之前学习的过程也碰到的问题,所以就引用过来了:http://www.cnblogs.com/walkingp/p/3261663.html

一、注意你的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初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  2. Python初学笔记之字符串

    一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...

  3. Python初学的易犯错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...

  4. Python初学

    经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...

  5. python 初学笔记 (一)

    初学python第一天,希望自己真正了解计算机语言,并且做出成效. 写下学习笔记,记录学习进度,娱乐学习,不断成长. python详细介绍: python是什么?运用到哪里?有哪些在使用它? pyth ...

  6. Python初学(1)

    最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...

  7. python初学心得之一

    昨天开始接触并学习python,对python有了初步印象. 一.python主要应用方向 二.python语言类型 三.python2和3的主要区别 四.常见字符编码 五.Python语法初学  一 ...

  8. python初学杂记

    python常用命令: 1.python 或者 python3  打开交互式python解释器 2.python hello.py   通过命令提示符运行python脚本 交互式python解释器常用 ...

  9. Mac下python初学之Image库(PIL)

    Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...

  10. python初学day01

    1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...

随机推荐

  1. 二进制数值Byte [] 转Base64字符串

    将二进制数据转换成Base64字符串: String base64String = new String(byteArray).replaceAll("\n","&quo ...

  2. 20155219 2016-2017-2 《Java程序设计》第10周学习总结

    20155219 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计 ...

  3. 20155219 2016-2017-2 《Java程序设计》第8周学习总结

    20155219 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 通用API 日志API 1.java.util.logging包提供了日志功能相关类与接口, ...

  4. xdoj-1298(模拟--简易SQL解释器)

    题目链接 一 知识点: 1  substr有2种用法:       假设:string s = "0123456789";      string sub1 = s.substr( ...

  5. Plant(𝐶𝑜𝑑𝑒𝐹𝑜𝑟𝑐𝑒𝑠 − 185𝐴)

    #include<iostream> #include<cstring> using namespace std; ,mod=; struct Matrix { long lo ...

  6. 快速排序改进——3区快速排序(3-way quicksort)

    1.快速排序缺陷 快速排序面对重复的元素时的处理方法是,把它放在了左部分数组或右部分数组,下次进行分区时,还需检测它.如果需要排序的数组含有大量重复元素,则这个问题会造成性能浪费. 解决方法:新增一个 ...

  7. C++学习(二十七)(C语言部分)之 预处理命令

    结构体 联合 枚举 联合 只能保存最后赋值的结果枚举 所有可能值列出来 预处理命令是在编译前期的阶段 代码-(编译)-->可执行文件(exe)预编译 编译前对代码处理 *1.插入头文件的内容 # ...

  8. LeetCode – Number of Islands II

    A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...

  9. 自动交互安装服务应用,以redis为例

    #!/bin/bash#新建preinstall.sh文件,该文件完成安装前的准备 yum install gcc gcc-* wget expect -y #expect是因为后面我们用到,安装后可 ...

  10. mysql配置my.cnf文件,以及参数优化提升性能

    系统centos7 mariadb通过yum安装 mysql配置文件位于/etc/my.cnf 常用参数: 1)max_connections设置最大连接(用户)数,其默认值为100,设置太小会出现t ...