本文仅供个人记录和复习,不用于其他用途
整数
类似于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
总结
所有的数据都可以看做是对象,变量只是用来指向这些对象,赋值操作是把变量和数据连接起来。