设为首页 加入收藏

TOP

Python基本类型
2014-11-23 20:28:56 来源: 作者: 【 】 浏览:20
Tags:Python 基本 类型

Python是一门动态语言,解释执行,所有错误都是运行时产生的,即使有错误和异常,只要没有被执行到也不会有错,比如调用不存在的方法;类型是隐式的,也即无需变量类型声明;类型是动态,运行时根据变量指向的内容来决定类型,但是Python是强类型语言,即每个变量都是有类型的。


Python 基本built-in类型主要有numerics,sequences, mapping, files, classes, instances, exceptions,类型上都会存在的操作有比较、是否为真、转换为字符串toString,Python中使用str/repr(object)可转换为字符串, print(object)时会隐式调用str()。


numerics:


整形 int,用c语言中的long实现, 取值范围-sys.maxint-1~sys.maxin, 无sys.minint


长整形 long, 带有L/l的integer或超出integer范围的,print时会带后缀L,无精度限制,无限大,因此Python中都是有符号数,没有unsigned类型


浮点型 float,用c中的double实现,sys.float_info, 因此Python中无单双精度区分


复数 complex, z.real, z.imag



不同类型的numerics可以混合运算,遵循规则类似c,也即小范围向大范围转型,int

整除/ : 结果总是整数,哪怕除数、被除数不是整数,而且结果总是趋向负无穷大,-1/2=-1


0的0次幂:pow(0,0) =1, 0**0=1


NaN: not a number , INF:无穷大,-inf +inf , float('nan') float('+inf') float('-inf')


int(), long() 都是向下转型,对应实数int long float还可以用以下方式取舍:


bool布尔:用于if/while后做条件判断


True:非False即为True


False: None, False, 数字类型0,空容器,包括空字符串‘’, class的__nonzero__() 或__len__返回0或False的实例


bool运算符:or and not, 遵循类似java/c的short-circuit, not比non-Boolean operator优先级低,not a==b 等价于not (a==b)


比较运算符: 也用于所有类型的比较,优先级比Boolean operator高,且支持x

bitwise operation: 位运算只对整数操作有意义,位运算优先级比数字运算符低,但比比较运算符高; ~与其他的一元运算符优先级(+,-)相同,以下表格中优先级从低到高, 负数移位会抛出ValueError异常


int.bit_length():获取int bit表示长度


long.bit_length():获取long bit表示长度


字符:长度为1的字符串,也即没有单个字符


字符串: 单引号'abc' 或双引号''abc" 或三个连续单/双引号'''表示多行字符串,字符串可理解为常量字节数组或字节容器,类似Java中String,也不能通过变量改变指向的字符串, s='abc'; id(s) == id('abc')。


字符串上常用操作


长度:容器统一用len(),


子串:容器分片操作符[] 'abcd'[1:3]='bc'


分隔:split/rsplit


查找/替换:find/rfind 没找到返回-1; index/rindex没找到抛ValueError, replace


trim: strip/lstrip/rstrip


编/解码:只能对str解码 str('汉').decode('UTF-8'), 只能对Unicode编码 u('汉').encode('UTF-8')


大小写转换: lower/uper


判断:isalnum/isalpha/isdigit/islower/isspace/isupper/startwith/endwith


格式化: %+tuple/dict,类似c语言sprintf,一个参数'%d' % 1 = '1' ; 两个参数'%s, %s' %('a','b') = 'a,b'; 指


定占位符%(mapping key)+类型字符,mapping key需加括号'%(key1)s, %(key2)d' %{'key1':'a', 'key2':1}='a,1'


Python中很容易获取帮助


help(object):显示帮助信息


dir(object) :显示所有方法


object.__doc__ :显示文档


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇为什么学习Python及Python环境安装 下一篇为什么Java不支持多继承

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: