全部博文(471)
分类: Python/Ruby
2013-02-26 16:14:44
由于python不需要显示的声明变量的类型,变量的类型由python内部管理,在程序的后台实现数值与类型的关联,以及类型转换等操作
一、 数值类型
Python语言的数值类型有四种,分别是:整型、长整型、浮点型和复数类型。下面我们首先介绍整型数据。
1.整型
Python语言的整型相当于C语言中的long型,在32位机器上,整型的位宽为32位,取值范围为-231~231-1,即-2147483648~2147483647;在64位系统上,整型的位宽通常为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807。
Python中的整数不仅可以用十进制表示,也可以用八进制和十六进制表示。当用八进制表示整数时,数值前面要加上一个前缀“0”;当用十六进制表示整数时,数字前面要加上前缀0X或0x。例如,我们这里将整数15分别以八进制和十六进制的形式赋给整型变量a和b,然后再以十进制的形式输出它们。
与数值有关的字符串格式化字符及其作用如下所示:
? d: 有符号十进制整数
? u: 无符号十进制整数
? o: 无符号八进制整数
? x:
无符号十六进制整数,a~f采用小写形式
? X: 无符号十六进制整数,A~F采用大写形式
? f: 浮点数
? e,E:
浮点数,使用科学计数法
? g,G: 浮点数,使用最低有效数位
2.长整型
跟C语言不同,Python的长整型没有指定位宽,也就是说Python没有限制长整型数值的大小,但是实际上由于机器内存有限,所以我们使用的长整型数值不可能无限大。
在使用过程中,我们如何区分长整型和整型数值呢?通常的做法是在数字尾部加上一个大写字母L或小写字母l以表示该整数是长整型的,例如:
a = 6812347598L b = 6812347598l |
读者可能已经发现,小写字母l和数字1看上去很难区分,所以一般推荐使用大写字母L。
注意,自从Python2.2起,如果发生溢出,Python会自动将整型数据转换为长整型,所以如今在长整型数据后面不加字母L也不会导致严重后果了。
4.复数类型
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。注意,虚数部分的字母j大小写都可以,如5.6+3.1j,5.6+3.1J是等价的。
点击(此处)折叠或打开
二 Python字符串类型
Python拥有两种字符串类型:标准字符串(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列。
在Python中定义一个标准字符串(str)可以使用单引号、双引号甚至三引号,这使得Python输入文本比C#更方便。
比如当str的内容中包含双引号时,就可以用单引号定义,反之亦然。(根据自己习惯)
当字符中有换行符等特殊字符时,可以直接使用三引号定义。
这样就方便了很多,不用去记那些乱七八糟的转义字符。当然Python也支持转义字符,且含义和C#基本一样。不过既然有简单的东西用,谁还去自找麻烦呢?
点击(此处)折叠或打开
另外,Python字符串类型没有C#中的字符类型,再短的文本也是字符串,这点稍微注意一下就可以,因为现在使用C#的也很少用char了吧?
当使用utf-8编码时,非unicode字符中一个汉字的长度是3,而使用gb2312时是2,
最后,关于字符串的操作方法,基本上C#有的Python都有,可以看看Python字符串类型手册之类的资料,我就不多说了。唯一提一点就是在Python中提取一个字符串的子串时,记得用“切片”语句(后边讲列表和元组时还会介绍),而不要再去找SubString了,见下边的例子:
- # -*- coding: utf-8 -*-
- str1 = u'我是派森'
- print str1[2:4]
- #输出 '派森'