zoukankan      html  css  js  c++  java
  • Python基础(一):数值类型,序列类型

    Python的数值类型

           在python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。这些主要包括整数,浮点数,布尔类型和复数。这些是相对来说比较常用的,复数一般都用在比较精密的科学计算中,还是主要看你的工作方向。当然除了以上四类还有一些其他细分的类型,如有理分数,固定精度的十进制数等。

    整数

    在python中整数常用的运算包括,加减乘除,乘方等。在python3.0之后一般整数与长整数已经合二为一。

    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

    布尔类型

    想想这个问题,bool类型本来是一个数字,可是这个数字却有两个值,True和False(注意首字母必须为大写),两个值也分别代表1和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'

    切片

    切片的原则是取前不取后,左闭右开的原则,其标准形式为  [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 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']

    元组

    元组对象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)
  • 相关阅读:
    清除陷入CLOSE_WAIT的进程
    Eclipse
    远程连接elasticsearch遇到的问题
    Linux环境Nginx安装
    CentOS安装mysql
    py2exe使用方法
    Python3.4如何读写Excel
    getPhysicalNumberOfCells 与 getLastCellNum的区别
    浅析MySQL中exists与in的使用
    【MongoDB for Java】Java操作MongoDB
  • 原文地址:https://www.cnblogs.com/austinjoe/p/9358487.html
Copyright © 2011-2022 走看看