|
阅读:6637回复:0
python 学习手册 笔记3 -- python对象类型
python 程序分解成模块、语句、表达式、以及对象
python 的核心数据类型 数字 字符串 列表 字典 元组 文件 集合 其它数据类型(None、布尔) 编程单元类型(模块、函数、类) 数字 常见的整数、浮点数. 不常见的虚部的复数、固定精度的十进制数、带分子和分母的有理分数及集合等 运算符 + (加) , - (减), * (乘), /(除) , ** (乘方) e.g : >>> 2 ** 100 #表示2的100次方 结果为:1267650600228229401496703205376 注意:当需要的时候,python3.0 的整数类型会自动提供额外的精度,以用于较大的数值(在python 2.6中,一个单独的长整型会以类似的方式来处理那些对于普通整型来说太大的数值) 刚开始接触浮点型时,有一个看起来有些奇怪的事情 e.g >>> 3.1415 * 2 6.2830000000000004 >>> print(3.1415 * 2 ) 6.283 第一个结果并不是一个Bug, 这是一个显示问题。这证明有两办法打印对象:全精度(就像这里的第一个结果显示的那样)以及用户友好的形式(就像第二个)。一般来说,第一种形式看做是对象的代码形式repr, 第二种是它的用户友好形式str. 现在,如果有些东西显示比较奇怪,试试使用打印语句显示它 方法: import math math.pi # pi的值 math.sqrt(9) # 开平方根 import random random.random() # 产生随机数 字符串 字符串是单个字符的字符串序列。 作为序列,字符串支持假设其中各个元素包含位置顺序的操作。从0开始,依此类推。 >>> s = 'Spam' >>> s[0] 'S' >>> s[1] 'p' 在python中,我们能够反向索引,从最后一个开始(正向索引是从左边开始计算,反射索引是从右边开始计算) >>> s[-1] 'm' >>> s[-2] 'a' 一般来说,负的索引号会得意地与字符串的长度相加,因此,以下两个操作是等效的(尽管第一个更容易编写并不容易发生错误): >>> s[-1] 'm' >>> s[len(s)-1] 'm' 分片 序列也支持一种所谓分片(slice)的操作,这是一种一步就能够提取整个分片的方法 ,例如: >>> s 'Spam' >>> s[1:3] 'pa' 认识分片最简单的办法就是把它们看做是从一个字符串中一步就提取出一部分的方法。它的形式一般为X[I:J] , 表示“取出在X中从偏移量为I , 直到但不包括偏移量为J的内容”。 在一个分片中,左边界默认为0,并且右边界默认为分片序列的长度 >>> s[1:] 'pam' >>> s 'Spam' >>> s[0:3] 'Spa' >>> s[:3] 'Spa' >>> s[0:-1] 'Spa' >>> s[:] 'Spam' 注:在python中的每一个对象都可以分为不可变性或者可变性。在核心类型中,数字、字符串和元组是不可变的;列表和字典不是这样(它们可以完全自由地的改变)。在其它方面,这种不可变性可以用来保存在程序中保持一个对象固定不变 方法: 1. 字符串.find() 2. 字符串.replace 3. 字符串.split() 4. 字符串.upper() 5. 字符串.isalpha() 6. 字符串.rstrip() 字符串格式化,可以以一个表达式的形式(最初的)和一个字符串方法调用(Python2.6 和 Python3.0 中新引入的)形式使用: >>> '%s,eggs,and %s' % ('spam','SPAM!') 'spam,eggs,and SPAM!' >>> '{0},eggs,and {1}'.format('spam','SPAM!') 'spam,eggs,and SPAM!' |
|
|