本文仅供个人记录和复习,不用于其他用途
整数
类似于C语言,Python也有整型数,例如:1、100、-1000等等。当然,使用十六进制表示也行:0xff00、0xa5b4c3d2。
浮点数
和C语言差不多,浮点数的意思就是可以浮动小数点的数,因为数字较大时,一般使用科学计数法来表示:1.23e9、12.3e8。其实这两个数是一样的,只不过因为小数点的位置,所以看起来有点不同。
我们知道,C语言中有单精度和双精度浮点数,但哪怕是双精度浮点数也只能够精确小数点后十几位。所以,切不可用浮点数来判断是否相等,因为我们无法保证它是否精确。事实上,0.99999…或者1.000…经常被看做是1,而刚刚好等于1的浮点数其实不怎么常见。总之记住一句话,整数永远是精确的,浮点数可能会四舍五入。
字符串
字符串是用‘或“括起来的文本,如果我们想让字符串包含‘,那么可以用“:
>>> print "I'm Chinese!"
I'm Chinese!
当然,如果你两个符号都想输出,那么可以使用转义字符:
>>> print 'I\'m \"Chinese\"'
I'm "Chinese"
还有其他诸如:\n、\t、\\都是可以用的。当然,如果有很多要转义的字符,为了简化代码,我们还可以使用r’’,这个表示‘’中的字符全都不转义,比如:
>>> print r'\n\t\\'
\n\t\\
如果要输入多行内容,可以使用‘’’…’’’:
>>> print '''line1
... line2
... line3'''
line1
line2
line3
注意,输入‘’’line1并按下回车后,就会变成…,表示你可以继续输入,一直到你打上‘’’并回车为止。当然,在前面加上r也是可以的。
布尔值
布尔值使用True和False表示:
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 < 2
False
当然,布尔值还可以用and、or、not来运算。and只有当都为True时,结果才为True:
>>> True and True
True
>>> True and False
False
>>> 5 > 3 and 6 > 1
True
or只要有一个为True,那么结果就是True:
>>> True or True
True
>>> True or False
True
>>> False or False
False
not是单目运算符,相当于非运算,对结果取反:
>>> not True
False
>>> not False
True
空值
空值是None,但不能理解为0。
变量
变量不需要指定类型,与C/C++不同,一个变量名就可以创建一个变量:
|
|
甚至于下面这样:
>>> a = 1
>>> print a
>>> a = 'Hello'
>>> print a
1
Hello
Python不是强类型语言,所以我们无需指定类型。变量其实可以看做是指针,例如:
>>> a = 'Hello'
>>> b = a
>>> a = 'World'
>>> print b,a
Hello World
也就是说,计算机创建一个字符串‘Hello’,然后创建一个变量a来指向它,随后又创建b来指向a的内容。这个时候再创建字符串‘World’,然后让a指向它。所谓的b = a并不是b指向a,而是指向它的内容,熟悉指针便能理解这个概念。
常量
常量一般用大写表示,但是不代表常量不能被更改。Python没有机制来防止常量被改变,所以我们只能人为规定大写的变量为常量,并且不会去改变它的值。
除法
类似C/C++,除法都是取整,所以得到的结果永远是精确的整数(可能和你预期结果不符,但绝对是精确的)。如果你需要得到小数,那么就需要把其中的一个数转换成浮点数。
>>> 10.0 / 3
3.3333333333333335
>>> 10 / 3
3
>>> 10 % 3
1
总结
所有的数据都可以看做是对象,变量只是用来指向这些对象,赋值操作是把变量和数据连接起来。