由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python,谨以此系列博客记录学习点滴。文中如有错误,还望大牛们指出!
Section 1:
本文是第一篇,当然也是基础,有了编程基础的我们都知道,学习一门语言什么最重要?当然先搞清楚数据类型和数据结构,有了这些,你才能去谈面向对象,才能去设计程序。
Python的数据类型比较简单:1.整数;2.长整数;3.浮点数;4.复数;5.字符串
注1:熟悉Matlab的筒靴们要注意,Python的虚数用j而不是i表示。
注2:Python 不接受只声明不定义的格式,例如:想声明一个变量,必需要附一个初始值。
注3:Python里没有char类型,但是有字符串就已经足够处理所有工作了。
对于运算符的优先级我想这个跟其他语言出入并不大,所以不再赘述。
Section 2:
下面对于新手最重要的:
缩进
对,Python对于缩进非常敏感,为什么呢?因为Python没有C语言那种具有语句块的分割符,例如{},也没有Matlab的for...end这种结束符,它只能以缩进判断一个语句块是否结束。
这对于定义函数,或者循环语句,判断语句都很重要。例如:
for i in range(1,5)
print i
这两句是要报错的,因为print i作为for循环内部的语句 没有缩进!
正确的写法是:
for i in rang(1,5)
print i
缩进一个空格或者一个Tab,这个区别在哪里我还没有发现,希望各位能够给我一点指教。
Section 3: Python 的数据结构
Python的数据结构包括:列表,元组,字典,序列
其中序列包括列表、元组和字符串
3.1列表
列表中元素的有序存储的,shopList=['banana','apple','orange'],可以对它进行排序shopList.sort(),那么其内容就变为shopList=['apple','banana','orange']。
3.2元组
元组是不可变的,即定义好了的元组不能更改其内容。元组的定义:array=('this','is','an','array')
3.3字典
字典是键和值对应存储的,可以添加和删除元素。dic={'key1':'first','key2':'second','key3':'third'}
添加元素:dic['key4']= 'fourth'
删除元素:del dic['key4']
需要注意的是字典以键值为主,抓住这一点。
3.4序列
序列提供两种操作符:索引和切片
其实这一点和matlab最为相似,Matlab中提取一个数组的下标从a:b的元素;arr=arr[a:b];
索引就更简单了。
注4:注意这些数据结构定义的符号,以免混淆。
Reference:简明Python教程 http://sebug.net/paper/python/