Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
字符串是以单引号‘或双引号"括起来的任意文本,比如‘abc‘,"xyz"等等。请注意,‘‘或""本身只是一种表示方式,不是字符串的一部分,因此,字符串‘abc‘只有a,b,c这3个字符。如果‘本身也是一个字符,那就可以用""括起来,比如"I‘m OK"包含的字符是I,‘,m,空格,O,K这6个字符。
如果字符串内部既包含‘又包含"怎么办?可以用转义字符\来标识
>>> print(‘I\‘m a\"boy\"‘)
I‘m a "boy"
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r‘‘表示‘‘内部的字符串默认不转义
>>> print(r‘\\\\\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
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来
>>> true
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ‘true‘ is not defined
>>> True
True
>>> False
False
>>> 3>2
True
>>>
布尔表达式支持and、or、not运算,不做过多陈述。
>>> True and False
False
>>> True or False
True
>>> not False
True
空值是python中一个特殊值,用None表示和SQL中的NULL类似。
>>> 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
在Python中,通常用全部大写的变量名表示常量,这里为了规范写法,就如shell中用全部大写表示变量一样的道理。
最后解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是/:
>>> 10 / 3
3.3333333333333335
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
>>> 9 / 3
3.0
还有一种除法是//,称为地板除,两个整数的除法仍然是整数:
>>> 10 // 3
3
你没有看错,整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。
因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:
>>> 10 % 3
1
无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。
Python的整数没有大小限制
Python的浮点数也没有大小限制
本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1795429
原文地址:http://90sirdb.blog.51cto.com/8713279/1795429