基础知识: 常用数据类型分类 及 数值

常用数据类型 Common Data Types

类型例子
整数 -100
浮点数 3.1416
字符串 'hello'
列表 [1, 1.2, 'hello']
字典 {'dogs': 5, 'pigs': 3}
Numpy数组 array([1, 2, 3])

其他类型 Others

类型例子
长整型 1000000000000L
布尔型 True, False
元组 ('ring', 1000)
集合 {1, 2, 3}
Pandas类型 DataFrame, Series
自定义 Object Oriented Classes

 

整型 Integers

整型运算,加减乘:  
a= 2+2   print a    结果:4       
a= 2-2   print a    结果:0       
a= 2*2   print a    结果:4
a= 12/5   print a      结果:2
幂指数:a = 2 ** 5   print a   结果:32
取余:a = 32 % 5        结果:2
赋值的变量   a = 2  print a  结果:1
 
使用type()函数来查看变量类型
type(a)  print a    结果:int
查看整数的最大值
import sys
sys.maxint
结果: 2147483647
 
 

长整型 Long Integers

当整型超出范围时,Python会自动将整型转化为长整型,不过长整型计算速度会比整型慢。
a = sys.maxint + 1
print type(a)      结果:<type 'long'>
 
长整型的一个标志是后面以字母L结尾:
print a             结果:2147483648L
 
可以在赋值时强制让类型为长整型:
b = 1234L
type(b)   结果:long
 
长整型可以与整型在一起进行计算,返回的类型还是长整型:
a = a - 4   
print a        结果:2147483644L
 
 

浮点数 Floating Point Numbers

a = 1.4
type(a)  结果:float
 
在之前的除法例子12 / 5中,假如想要使返回的结果为2.4,可以将它们写成浮点数的形式:
12.0 / 5.0   结果:2.4
12 / 5.0    结果:2.4
12.0 / 5    结果:2.4
浮点数与整数进行运算时,返回的仍然是浮点数:
5 + 2.4    结果:7.4
浮点数也可以进行与整数相似的运算,甚至可以取余:
3.4 - 3.2    结果:0.19999999999999973        #注意看 3.4 - 3.2 的结果并不是我们预期的0.2,这是因为浮点数本身储存方式引起的,浮点数本身会存在一点误差。
12.3 + 32.4    结果:44.7
2.5 ** 2    结果:6.25
3.4 % 2.1    结果:1.2999999999999998

'{:.52}'.format(3.4 - 3.2)    结果:'0.199999999999999733546474089962430298328399658203125'

当我们使用print显示时,Python会自动校正这个结果
print 3.4 - 3.2    结果:0.2

可以用sys.float_info来查看浮点数的信息:
import sys
sys.float_info
结果: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)
 
例如浮点数能表示的最大值:
sys.float_info.max    结果:1.7976931348623157e+308

浮点数能表示的最接近0的值:
sys.float_info.min    结果:2.2250738585072014e-308

浮点数的精度:
sys.float_info.epsilon    结果:2.220446049250313e-16

复数 Complex Numbers    Python 使用 j 来表示复数的虚部:

a = 1 + 2j
type(a)    结果:complex

可以查看它的实部,虚部以及共轭:
a.real    结果:1.0
a.imag    结果:2.0
a.conjugate()    结果:(1-2j)
 
 

交互计算    可以将复杂的表达式放在一起计算:

a = 1 + 2 - (3 * 4 / 6) ** 5 + 7 % 5
print a     结果:-27
 

Python中运算是有优先级的,优先级即算术的先后顺序,比如“先乘除后加减”和“先算括号里面的”都是两种优先级的规则,优先级从高到低排列如下:

  • ( ) 括号
  • ** 幂指数运算
  • * / // % 乘,除,整数除法,取余运算
  • '+ -' 加减
整数除法,返回的是比结果小的最大整数值
12.3 // 5.2  结果:2.0
12.3 // -4   结果:-4.0
 
 
 

简单的数学函数

绝对值:
abs(-12.4)    结果:12.4
取整:
round(21.6)    结果:22.0
最大最小值:
print min(2, 3, 4, 5)    结果:2
print max(2, 4, 3)    结果:4
 
 

变量名覆盖

不要用内置的函数来命名变量,否则会出现意想不到的结果:
type(max)    结果:builtin_function_or_method
不要这样做!!!
max = 1
type(max)    结果:int
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
 
 
 

类型转换

浮点数转整型,只保留整数部分:
print int(12.324)    结果:12
print int(-3.32)    结果:-3
整型转浮点型:
print float(1.2)    结果:1.2
 

布尔型 Boolean Data Type

布尔型可以看成特殊的二值变量,其取值为TrueFalse
q = True 
type(q)    结果:bool
 
可以用表达式构建布尔型变量:
q = 1 > 2print q    结果:False
 

常用的比较符号包括:

<, >, <=, >=, ==, !=

Python支持链式比较:

x = 2

 

1 < x <= 3    结果:True
 
 

原地计算 In-place

Python可以使用下面的形式进行原地计算:
b = 2.5
b += 2
print b    结果:4.5
b *= 2
print b    结果:9.0
b -= 3
print b    结果:6.0

 

其他表示

除了10进制外,整数还有其他类型的表示方法。
科学计数法:
1e-6     结果:1e-6

16进制,前面加0x修饰,后面使用数字0-9A-F:

posted @ 2018-07-24 17:08  含笑半步颠√  阅读(2473)  评论(0编辑  收藏  举报