注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

海鱼的博客-飞在空中的鱼

飞是一种梦想,也会是一种姿态

 
 
 

日志

 
 

python学习笔记(二)  

2013-07-11 14:41:12|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
类型和运算

(1)python程序可以分解成模块,语句,表达式以及对象

程序由模块构成-〉模块包含语句-〉语句包含表达式-〉表达式建立并处理对象

 

(2)以下内置对象常被称作核心数据类型,因为它们是在python语言内部高效创建的,也就是说,有一些特定语法可以生成它们。

python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(3)python是动态类型的,不要求类型声明,但是它也是强类型语言(你只能对一个对象进行适合该类型的有效的操作)。
 
(4)数字-整数,浮点数以及少见的类型(有虚部的复数、固定精度的十进制数、带分子和分母的有理分数以及集合,布尔值等。第三方开源扩展领域甚至包含了更多,像矩阵,向量等)。
         python中的数字支持一般的数学运算。例如:加号(+)代表加法,星号(*)表示乘法,双星号(**)表示乘方。
         除了表达式外,和python一直分发的还有一些常用的数学模块,模块只不过是我们导入以供使用的一些额外工具包。例如:math模块包括更高级的数学工具,如函数;而random模块可以作为随机数字的生成器和随机选择器。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(5)字符串-就像是任意字符的集合一样,字符串是用来记录文本信息的。它们在python中作为序列的。序列中的元素包含了一个从左到右的顺序,序列中的元素根据它们的相对位置进行存储和读取。从严格意义上来说,字符串是单个字符的字符串的序列,其他类型的序列还包括列表和无组。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
len获取字符串长度,索引从0开始;在python中支持正向索引,也支持反向索引(正向索引从左边开始计算,反向索引是从右边开始计算)。一般来说,负的索引号对应的值与字符串长度和负索引号相加所对应的值。如:s[-1] = s[len(s)-1]
除了简单地从位置进行索引,序列也支持一种所谓分片(slice)的操作,这是一种一步就能够提取整个分片的方法。它们的一般形式为X[I:J],表示“取出在X中从偏移量为I,直到但不包括偏移量为J的内容”,结果就是返回一个新的对象。在一个分片中,左边界默认为0,并且右边界默认为分片序列的长度。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 作为一个序列,字符串也支持使用加号进行合并,或者重复。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 注意加号(+)对于不同的对象有不同的意义:对于数字为加法,对于字符串为合并,这是python的多态的体现。
简而言之,一个操作的意义取决于被操作的对象。
字符串在python中具有不可变性-在创建后不能就地改变。例如,不能通过对其某一位置进行赋值而改变字符串,但是可以通过建立一个新的字符串并以同一个变量名对其进行赋值。因为python在运行过程中会清理旧的对象。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 在python中每一个对象都可以分为不可变性或者可变性。在核心类型中,数字、字符串和元组是不可变的;列表和字典可以完全自由地改变。
虽然字符串属于序列,但是它也有自己独有的操作。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 一般来说:可作用于多种类型的通用型操作都是以内置函数或表达式的形式出现的。例如:len(x),x(0);但是类型特定的操作是以方法调用的形式出现的。例如:aString.upper();
 
字符串特有的方法有很多,如果想了解,可以调用内置函数dir,将会返回一个列表,其中包含了对象的所有属性。然后用help函数,查看使用。例如:s是一个字符串
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(6)编写字符串的其它方法:
*. 反斜线转义序列表示特殊的字符。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
*. python允许字符串包括在单引号或双引号中(它们代表着相同的东西)。
   它也允许三个引号(单引号或双引号)中包括多行字符串常量。当采用这种形式的时候,所有的行都合并在一起,并在每一行的末尾增加换行符。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(7)字符串对象的方法能够支持基于模式的文本处理,如:文本的模式匹配。我们需要导入一个名为re的模块。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 这个例子的目的是搜索子字符串,这个子字符串以“Hello”开始,后面跟着零个或几个制表符或空格,接着有任意字符并将其保存匹配的group中,最后以“world”结尾。如果找到了这样的子字符串,与模式中括号包含的部分匹配的子字符串的对应部分保存为组。例如:下面的模式取出了三个被斜线所分割的组。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(8)列表 - python的列表对象是这个语言提供的最通用的序列。列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小。不像字符串,其大小是可变的,通过对偏移量进行赋值以及其它各种列表的方法进行调用,确实能够修改列表的大小。
 
由于列表是序列的一种,列表支持所有的序列操作。如:
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
列表也有自己特定的操作。列表没有固定类型的约束,没有固定大小。也就是说能够按照需要增加或减小列表大小,来响应其特定的操作。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(9)列表边界检查:虽然列表没有固定的大小,python仍不允许引用不存在的元素。超出列表末尾之外的索引总是会导致错误,对列表末尾范围之外赋值也是如此。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 在python中,并不是默默地增大列表作为响应,而是会提示错误。为了让一个列表增大,我们可以调用append这样的列表方法。
 
(10)python核心数据类型的一个优秀的特性就是它们支持任意的嵌套。能够以任意的组合对其进行嵌套,并可以多个层次进行嵌套。可以实现矩阵或多维数组等。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 
(11)列表还有一个更高级的操作,称为列表解析表达式。
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
 列表解析是编写在方括号中的(提醒你在创建列表这个事实),并且由使用了同一个变量名的(这里是row)表达式和循环结构组成。意思是“把矩阵M的每个row中的row[1]放在一个新的列表中”。其结果就是一个包含了矩阵的第二列的新列表。
还有复杂一些的用法:
python学习笔记(二) - pengyujob - 海鱼的博客-飞在空中的鱼
列表解析以及相关的内容函数map和filter比较复杂。列表,集合和字典都可以用解析来创建。
 
 
 
 
  评论这张
 
阅读(35)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018