Python的学习之旅---开始篇

来源:互联网 发布:淘宝助理导入csv卡住了 编辑:程序博客网 时间:2024/05/24 05:08
第一章 基础知识

学Python的原因:

         因为下学期要做数据挖掘和自然语言处理的项目,一直断断续续地看python,不过心里一直都没有底,希望开这个连续的文章能够记录下我学习Python的过程,同时有些需要注意的地方也提醒下其他的起步的同学。

参考的书籍《Python基础教程,第二版

第一个尴尬的地方:(版本的问题,后面有对版本更新所导致的一些语法的问题进行总结)

        print "hello" 报错:SyntaxError: Missing parentheses in call to 'print'   原来是版本的问题,我用的是3.4.2 里面,print是函数,格式已经改为带括号的:print ("hello") 。

永远的离不开的值和字符串表示问题:

        通过以下两个函数来使用这个机制:一种是通过str函数,它会把值转换为合理形式的字符串,以便用户可以理解;另一种是通过repr函数,它会创建一个字符串,以合法的Python表达式的形式来表示值。

<strong>       >>> print ("have a try"+repr(5))</strong>

原始字符串的使用:

       >>> print (r'C:\nowhere')       C:\nowhere         >>> print (r'C:\nowhere'+'\\')       C:\nowhere\

小细节:

1、幂运算符比取反(一元减运算符)的优先级要高,所以-3**2等同于-(3**2)。如果想计算(-3)**2,需要显示说明。

2、python 3.4里面的16进制表示和之前版本一样,但是八进制里面却完全不同,0o10=8(第一个为数字0,,第二个为小写字母o)。

3、pow(a,b)=a**b; abs(a)=|a|; round(a)=把浮点数四舍五入为最接近的整数值。这些都是内嵌函数。

4、floor(a)=将浮点数a向下取整。ceiling(a)=将浮点数a转换成大于或者等于它的最小整数,这两个函数都返回一个浮点数,这个属于模块函数math。


第二章 通用序列操作

容器基本上其他对象的任意对象。序列(例如列表和元组)和映射(例如字典)是两类主要的容器。序列中的每个元素都有自己的编号,而映射中的每个元素则有一个名字(键)

通用序列操作:索引、分片、加、乘、以及检查某个元素是否属于序列的成员(成员资格)。除此以外,Python还有计算序列长度、找出最大元素和最小元素的内建函数。包括迭代,对序列进行迭代的意思是依次对序列中的每个元素重复执行某些操作。

对于正确的分片结果需要动些脑筋,因为开始点的元素包括在结果之中,而结束点的元素则不在分片之内。对于一个正数步长,Python会从序列的头部开始向右提取元素,直到最后一个元素;而对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。

可以用下面的表达式将一个由字符组成的列表转换为字符串:’‘.join(somelist) 在这里,somelist是需要转换的列表。

分片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素。

>>> numbers = [1,5]>>> numbers[1:1] = [2,3,4]>>> numbers
[1,2,3,4,5]
同理,通过分片赋值来删除元素也是可行的。
>>> numbers[1,2,3,4,5]>>> numbers[1:4] = []>>> numbers[1,5]
index方法用于从列表中找出某个值第一个匹配项的索引位置:

>>> knights = ['We','are','the','knight','who','say','ni']>>> knights[4]'who'
使用pop方法可以实现一种常见的数据结构--栈。最后被放入堆栈的最先被移除(这个原则称为LIFO,即后进先出)

pop方法和append方法的操作结果恰好相反,如果入栈(或者追加)刚刚出栈的值,最后得到的结果还是原来的栈。

实现排序的正确方法是,首先把x的副本赋值给y,然后对y进行排序,如

>>> x= [4,6,2,1,7,9]>>> y= x[:]>>> y.sort()>>> x[4,6,2,1,7,9]>>> y[1,2,4,6,7,9]
而如果只是简单的把x赋值给y是没有用的,因为这样做就会让x和y都指向同一个列表了。

另一种获取已排序的列表副本的方法是,使用sorted函数:

>>> x = [4,6,2,1,7,9]>>> y = sorted(x)>>> x[4,6,2,1,7,9]>>> y[1,2,4,6,7,9]
sort方法有另外两个可选的参数---key和reverse。如果要使用它们,那么就要通过名字来指定(这叫做关键词参数)。参数Key与参数cmp类似----必须提供一个在排序过程中使用的函数。然后,该函数并不直接用来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序。因此,如果要根据元素的长度进行排序,那么可以使用len来作为键函数:

>>> x = ['aardvark','abalone','acme','add','aerate']>>> x.sort(key=len)>>> x['add','acme','aerate','abalone','aardvark']
cmp、key、reverse参数都可以用于sorted 函数。在多数情况下,为cmp或key提供自定义函数是非常有用的。

tuple 函数的功能与list函数基本上是一样的:以一个序列作为参数并把它转换为元组

注:以上很多笔记来自于《python基础教程》   2015年1月27日








0 0
原创粉丝点击