1.1   数据类型

1.1.1   整数

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1100-80800,等等。

计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9a-f表示,例如:0xff000xa5b4c3d2,等等。

1.1.2   浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10912.3x108是完全相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10e替代,1.23x109就是1.23e9,或者12.3e80.000012可以写成1.2e-5,等等。

1.1.3   字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc'"xyz"等等。请注意,''""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有abc3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I'm,空格,OK6个字符。

 

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识

>>> print('I\'m a\"boy\"')

I'm a "boy"

转义字符\可以转义很多字符,比如\n表示换行\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义

>>> print(r'\\\\\t')

\\\\\t

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

>>> print('''l1      #交互式Python后面直接敲回车键,下行开始就出现三个点

... l2

... l3''')

l1

l2

l3

直接写成命令脚本时注意

[root@daidai python]# cat !$

cat ./mult_line.py

#!/usr/bin/python

print('''l1

l2

l3

end''')

[root@daidai python]# ./mult_line.py

l1

l2

l3

end

1.1.4   布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来

>>> true

Traceback (most recent call last):

 File "", line 1, in

NameError: name 'true' is not defined

>>> True

True

>>> False

False

>>> 3>2

True

>>> 

布尔表达式支持andornot运算,不做过多陈述。

>>> True and False

False

>>> True or False

True

>>> not False

True

1.1.5   空值

空值是python中一个特殊值,用None表示和SQL中的NULL类似。

1.1.6   变量

>>> a=1

>>> print(a)

1

>>> a='780'

>>> print(a)

780

>>> a='TZ780'

>>> print(a)

TZ780

>>> a=True

>>> print(a)

True

Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,就是动态变量,变量类型不确定

注意变量之间的传递

>>> a='abc'

>>> b=a

>>> a='xyz'

>>> print(b)

abc

1.1.7   常量

Python中,通常用全部大写的变量名表示常量,这里为了规范写法,就如shell中用全部大写表示变量一样的道理。

最后解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是/

>>> 10 / 3

3.3333333333333335

/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

>>> 9 / 3

3.0

还有一种除法是//,称为地板除,两个整数的除法仍然是整数:

>>> 10 // 3

3

你没有看错,整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。

因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:

>>> 10 % 3

1

无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。

Python的整数没有大小限制

Python的浮点数也没有大小限制