一、数值类型的分类
Python的数值类型
在python中,数字并不是1个真的的目标类型,而是1组看似项目标归类。那么些关键不外乎整数,浮点数,布尔类型和复数。那么些是相对来讲相比较常用的,复数一般都用在可比精细的科学计算中,依然首要看你的行事主旋律。当然除了上述四类还有壹部分任何细分的门类,如合理分数,固定精度的10进制数等。
1、**int型**: 整数型,全体整数都属于
整数
在python中整数常用的运算包含,加减乘除,乘方等。在python三.0事后一般整数与长整数已经济合作2为一。
In [17]: 3+4 #加
Out[17]: 7
In [18]: 5*9 #乘
Out[18]: 45
In [19]: 98-45 #减
Out[19]: 53
In [20]: 99/3 #除
Out[20]: 33.0
In [21]: 2**4 #乘方
Out[21]: 16
除此而外便是一对掺杂运算。那几个运算往往有次序。
1 In [22]: 3*4+6
2 Out[22]: 18
3
4 In [23]: 3*(4+6)
5 Out[23]: 30
浮点数
在python中把带小数点的数字都称之为浮点数。
1 In [26]: 3.2+4.6
2 Out[26]: 7.8
3
4 In [27]: 2*0.3
5 Out[27]: 0.6
其它有些时候会并发精度难点,这一个主题材料的因由是硬件的范围。
1 In [28]: 0.2+0.1
2 Out[28]: 0.30000000000000004
1 >>> 2
2 2
3 >>> type(2)
4 <class 'int'>
布尔类型
观念那几个难题,bool类型本来是二个数字,不过这些数字却有七个值,True和False(注意首字母必须为题写),七个值也分头表示壹和0。
1 In [30]: type(True)
2 Out[30]: bool
3
4 In [31]: True==1
5 Out[31]: True
6
7 In [32]: True+1
8 Out[32]: 2
9
10 In [33]: True or False
11 Out[33]: True
复数
复数表示为多个浮点数,并在虚部扩大 j 或 J 的后缀。
1 In [34]: (3+2j)+3
2 Out[34]: (6+2j)
3
4 In [35]: 1j*1j
5 Out[35]: (-1+0j)
python的队列类型
python中的种类类型包含列表,字符串,元组等。
字符串
字符串在python可以用len()来求长度,字符串的目录下标从0初步,从左至右依次类推。
1 In [36]: s='python'
2
3 In [37]: len(s)
4 Out[37]: 6
5
6 In [38]: s[0]
7 Out[38]: 'p'
8
9 In [39]: s[5]
10 Out[39]: 'n'
在python中除去正向索引还是能反向索引。即从最左边初始总括。
1 In [40]: s='python'
2
3 In [41]: s[-1]
4 Out[41]: 'n'
5
6 In [42]: s[-2]
7 Out[42]: 'o'
8
9 In [43]: s[len(s)-1]
10 Out[43]: 'n'
2、**float型**: 浮点型,带小数点都属
切片
切开的尺度是取前不取后,左闭右开的标准,其职业格局为
[start:stop:step]。
1 In [48]: s='python'
2
3 In [49]: s[0:4]
4 Out[49]: 'pyth'
5
6 In [50]: s[:4]
7 Out[50]: 'pyth'
8
9 In [51]: s[:]
10 Out[51]: 'python'
11
12 In [52]: s[3:]
13 Out[52]: 'hon'
14
15 In [53]: s[0:6:2]
16 Out[53]: 'pto'
列表
列表是三个专擅档案的次序的靶子的职责相关的不改变聚焦。其尺寸是可变的。列表一样能够开始展览索引和切成丝的操作。
1 In [54]: l=[123,'python',456,'hello']
2
3 In [55]: len(l)
4 Out[55]: 4
5
6 In [56]: l[2]
7 Out[56]: 456
8
9 In [57]: l[:2]
10 Out[57]: [123, 'python']
11
12 In [58]: l+[7,8,9]
13 Out[58]: [123, 'python', 456, 'hello', 7, 8, 9]
14
15 In [59]: l
16 Out[59]: [123, 'python', 456, 'hello']
列表还有1对特定的操作,列表的增添和削减。
1 In [60]: l=[123,'python',456,'hello']
2
3 In [61]: l.append('789')
4
5 In [62]: l
6 Out[62]: [123, 'python', 456, 'hello', '789']
7
8 In [63]: l.pop(2)
9 Out[63]: 456
10
11 In [64]: l
12 Out[64]: [123, 'python', 'hello', '789']
列表的排序sort(),反转reverse()。
1 In [65]: l=['aaa','sss','ddd']
2
3 In [66]: l
4 Out[66]: ['aaa', 'sss', 'ddd']
5
6 In [67]: l.sort()
7
8 In [68]: l
9 Out[68]: ['aaa', 'ddd', 'sss']
10
11 In [69]: l.reverse()
12
13 In [70]: l
14 Out[70]: ['sss', 'ddd', 'aaa']
1 >>> 2.5
2 2.5
3 >>> type(2.5)
4 <class 'float'>
元组
元组对象tuple,就如贰个不足改动的列表。
1 In [76]: t=(1,2,3,4)
2
3 In [77]: len(t)
4 Out[77]: 4
5
6 In [78]: t[3]
7 Out[78]: 4
8
9 In [79]: t+(6,7)
10 Out[79]: (1, 2, 3, 4, 6, 7)
11
12 In [80]: t.index(2)
13 Out[80]: 1
14
15 In [81]: t.count(3)
16 Out[81]: 1
拆包
1 In [86]: li=[1,3,5]
2
3 In [87]: x,y,z=li
4
5 In [88]: x
6 Out[88]: 1
7
8 In [89]: y
9 Out[89]: 3
10
11 In [90]: z
12 Out[90]: 5
1 In [91]: li=[1,3,5]
2
3 In [92]: x,*y=li
4
5 In [93]: x
6 Out[93]: 1
7
8 In [94]: y
9 Out[94]: [3, 5]
1 In [95]: li=[1,3,5]
2
3 In [96]: x,y=li
4 ---------------------------------------------------------------------------
5 ValueError Traceback (most recent call last)
6 <ipython-input-96-cdbda8c19b71> in <module>()
7 ----> 1 x,y=li
8
9 ValueError: too many values to unpack (expected 2)
叁、bool型: 布尔类型, 布尔类型唯有True和False
1 >>> True
2 True
3 >>> type(True)
4 <class 'bool'>
5 >>> False
6 False
7 >>> type(False)
8 <class 'bool'>
Python中严格区分大小写
>>> true
Traceback (most recent
call last):
File “<stdin>”,
line 1, in <module>
NameError: name ‘true’ is
not defined
这里报错NameError: name
‘true’ is not defined 名称“真”未定义
4、**complex: 复数类型 **
1 >>> 2+3j
2 (2+3j)
3 >>> type (2+3j)
4 <class 'complex'>
6 注意这里只有后面是j是复数类型,别的字母会报语法错误
7 >>> 2+3a
8 File "<stdin>", line 1
9 2+3a
10 ^
11 SyntaxError: invalid syntax
12 >>> 2+3w
13 File "<stdin>", line 1
14 2+3w
15 ^
16 SyntaxError: invalid syntax
二、str类型:连串类型 ,系列中的数是从0开首数
一、列表:用中括号来表示
1 >>> b = [5, 2.5, 1+2j] # 这里5是第0位,2.5是第1位,1+2j是第2位依次类推
2 >>> type(b)
3 <class 'list'>
二、元组:用小括号来表示
1 >>> a = (3,2.3,True,6+3j) # 这里3是第0位,2.3是第1位,True是第2位6+3j是第3位依次类推
2 >>> type(a)
3 <class 'tuple'>
三、列表和元组的不相同:列表里的数能够改造而元组里的数不能够更动
1 下面是列表:
2 >>> b = [5, 2.5, 1+2j]
3 >>> type(b)
4 <class 'list'>
5 >>> b[1] =20
6 >>> b
7 [5, 20, (1+2j)]
8 >>> 上面的2.5已结被改成了20
9
10 下面是元组:
11 >>> a = (3, 2.3, True, (6+3j))
12 >>> a[1] =20
13 Traceback (most recent call last):
14 File "<stdin>", line 1, in <module>
15 TypeError: 'tuple' object does not support item assignment
16 上面报错 类型错误:“元组”对象不支持项目赋值
四、索引取值
1 >>> a = [5,2.5,True,1+1j]
2 >>> a [3] # 这里3表示从前往后第几位
3 (1+1j)
4 >>> a [-1] # 这里-1表示从后面往前数
5 (1+1j)
5、
切丝取值:注意切条取值的默许是正向取,能够不用写明,不过反取是要写明的不然再次来到为空
1 >>> a = [5,2.5,True,1+1j]
2 >>> a [1:4] # 从第1位开始取到第3位
3 [2.5, True, (1+1j)]
4 >>> a [3:4] # 从第3位开始取到第3位
5 [(1+1j)]
6 >>> a [-1:-1] # 从最后1位取到第1位是空的后面虽然写的-1单后面还有一个默认的1代表正取所以是取不到的返回空
7 []
8 >>> a [-1::-1] # 从最后1位开始取到全部的意思后面的-是反向取,1是步长,所以是可以取到值的
9 [(1+1j), True, 2.5, 5]