整型运算,加减乘:
In [1]:
2 + 2Out[1]:
4In [2]:
3 - 4Out[2]:
-1In [3]:
4 * 5Out[3]:
20在Python 2.7中,整型的运算结果只能返回整型,除法的结果也不例外。
例如12 / 5返回的结果并不是2.4,而是2:
In [4]:
12 / 5Out[4]:
2幂指数:
In [5]:
2 ** 5Out[5]:
32取余:
In [6]:
32 % 5Out[6]:
2赋值给变量:
In [7]:
a = 1
aOut[7]:
1使用type()函数来查看变量类型:
In [8]:
type(a)Out[8]:
int整型数字的最大最小值:
在 32 位系统中,一个整型 4 个字节,最小值 -2,147,483,648,最大值 2,147,483,647。
在 64 位系统中,一个整型 8 个字节,最小值 -9,223,372,036,854,775,808,最大值 9,223,372,036,854,775,807。
In [9]:
import sys
sys.maxintOut[9]:
2147483647当整型超出范围时,Python会自动将整型转化为长整型,不过长整型计算速度会比整型慢。
In [10]:
a = sys.maxint + 1
print type(a)<type 'long'>长整型的一个标志是后面以字母L结尾:
In [11]:
aOut[11]:
2147483648L可以在赋值时强制让类型为长整型:
In [12]:
b = 1234L
type(b)Out[12]:
long长整型可以与整型在一起进行计算,返回的类型还是长整型:
In [13]:
a - 4Out[13]:
2147483644LIn [14]:
a = 1.4
type(a)Out[14]:
float在之前的除法例子12 / 5中,假如想要使返回的结果为2.4,可以将它们写成浮点数的形式:
In [15]:
12.0 / 5.0Out[15]:
2.4In [16]:
12 / 5.0Out[16]:
2.4In [17]:
12.0 / 5Out[17]:
2.4上面的例子说明,浮点数与整数进行运算时,返回的仍然是浮点数:
In [18]:
5 + 2.4Out[18]:
7.4浮点数也可以进行与整数相似的运算,甚至可以取余:
In [19]:
3.4 - 3.2Out[19]:
0.19999999999999973In [20]:
12.3 + 32.4Out[20]:
44.7In [21]:
2.5 ** 2Out[21]:
6.25In [22]:
3.4 % 2.1Out[22]:
1.2999999999999998Python的浮点数标准与C,Java一致,都是IEEE 754 floating point standard。
注意看 3.4 - 3.2 的结果并不是我们预期的0.2,这是因为浮点数本身储存方式引起的,浮点数本身会存在一点误差。
事实上,Python 中储存的值为'0.199999999999999733546474089962430298328399658203125',因为这是最接近0.2的浮点数。|
In [23]:
'{:.52}'.format(3.4 - 3.2)Out[23]:
'0.199999999999999733546474089962430298328399658203125'当我们使用print显示时,Python会自动校正这个结果
In [24]:
print 3.4 - 3.20.2可以用sys.float_info来查看浮点数的信息:
In [25]:
import sys
sys.float_infoOut[25]:
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)例如浮点数能表示的最大值:
In [26]:
sys.float_info.maxOut[26]:
1.7976931348623157e+308浮点数能表示的最接近0的值:
In [27]:
sys.float_info.minOut[27]:
2.2250738585072014e-308浮点数的精度:
In [28]:
sys.float_info.epsilonOut[28]:
2.220446049250313e-16Python 使用 j 来表示复数的虚部:
In [29]:
a = 1 + 2j
type(a)Out[29]:
complex可以查看它的实部,虚部以及共轭:
In [30]:
a.realOut[30]:
1.0In [31]:
a.imagOut[31]:
2.0In [32]:
a.conjugate()Out[32]:
(1-2j)可以将复杂的表达式放在一起计算:
In [33]:
1 + 2 - (3 * 4 / 6) ** 5 + 7 % 5Out[33]:
-27在Python中运算是有优先级的,优先级即算术的先后顺序,比如“先乘除后加减”和“先算括号里面的”都是两种优先级的规则,优先级从高到低排列如下:
( )括号**幂指数运算* / // %乘,除,整数除法,取余运算- '+ -' 加减
整数除法,返回的是比结果小的最大整数值:
In [34]:
12.3 // 5.2Out[34]:
2.0In [35]:
12.3 // -4Out[35]:
-4.0绝对值:
In [36]:
abs(-12.4)Out[36]:
12.4取整:
In [37]:
round(21.6)Out[37]:
22.0最大最小值:
In [38]:
print min(2, 3, 4, 5)
print max(2, 4, 3)2
4不要用内置的函数来命名变量,否则会出现意想不到的结果:
In [39]:
type(max)Out[39]:
builtin_function_or_method不要这样做!!!
In [40]:
max = 1
type(max)Out[40]:
intIn [41]:
max(4, 5)---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-41-c60446be959c> in <module>()
----> 1 max(4, 5)
TypeError: 'int' object is not callable浮点数转整型,只保留整数部分:
In [42]:
print int(12.324)
print int(-3.32)12
-3整型转浮点型:
In [43]:
print float(1.2)1.2除了10进制外,整数还有其他类型的表示方法。
科学计数法:
In [44]:
1e-6Out[44]:
1e-0616进制,前面加0x修饰,后面使用数字0-9A-F:
In [45]:
0xFFOut[45]:
2558进制,前面加0或者0o修饰,后面使用数字0-7:
In [46]:
067Out[46]:
552进制,前面加0b修饰,后面使用数字0或1:
In [47]:
0b101010Out[47]:
42Python可以使用下面的形式进行原地计算:
In [48]:
b = 2.5
b += 2
print b
b *= 2
print b
b -= 3
print b4.5
9.0
6.0布尔型可以看成特殊的二值变量,其取值为True和False:
In [49]:
q = True
type(q)Out[49]:
bool可以用表达式构建布尔型变量:
In [50]:
q = 1 > 2
print qFalse常用的比较符号包括:
<, >, <=, >=, ==, != Python支持链式比较:
In [51]:
x = 2
1 < x <= 3Out[51]:
TrueIn [ ]: