内置数据结构

标准数据类型

 

Python3 中有六个标准的数据类型:

 

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

 

Number(数字)

Python3 支持 int、float、bool、complex(复数)

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数可以用来查询变量所指的对象类型。

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

isinstance 和 type 的区别在于:

1.type可以只接收一个参数,打印其未知的所属的类型;而isinstance只能判断是否属于某个已知类型。

2.isinstance可以判断子类对象是否继承于父类;而type不可以。

 

数值类型实例

 

int (整型)

      整型(Int)- 通常被称为是整型或整数,是正或负整数,不带小数点。

      在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制。

      Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。

      在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647。

      在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。

 

float (浮点型)

      浮点型(floating point real values)- 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102= 250)

      Python的浮点数就是数学中的小数,类似C语言中的double。

      在运算中,整数与浮点数运算的结果是浮点数。

      浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

      整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

 

complex (复数)

      复数( (complex numbers))- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

 

Python math 模块、cmath 模块

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数。

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

要使用 math 或 cmath 函数必须先导入:

import math

 

Python数学函数

 

Python随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

 

 

String(字符串)

Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。

索引值以 0 为开始值,-1 为从末尾的开始位置。

加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。实例如下:

str ='hello'

# 输出字符串print
print(str)
# 输出第一个到倒数第二个的所有字符print
print(str[0:-1])
# 输出字符串第一个字符print
print(str[0])
# 输出从第三个开始到第五个的字符print
print(str[2:5])
# 输出从第三个开始的后的所有字符print
print(str[2:])
# 连接字符串
print(str + "TEST")

执行以上程序会输出如下结果:

hello
hell
h
llo
llo
helloTEST

Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。

注意:

1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

2、字符串可以用+运算符连接在一起,用*运算符重复。

3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。

4、Python中的字符串不能改变。

 

列表(List)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型:

list2 = [1, 2, 3, 4, 5 ]

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

list2 = [1, 2, 3, 4, 5, 6, 7]

print(list2[1:5])

更新列表

可以使用append()方法来添加列表项,如下所示:

list = []          ## 空列表
list.append('hello')   ## 使用 append() 添加元素
list.append('world')
print(list)

删除列表元素

可以使用 del 语句来删除列表的元素,如下实例:

list = ['beijing', 'shanghai', 19, 3400]
print(list)
del list[2]
print(list)

输出结果为:

['beijing', 'shanghai', 19, 3400]
['beijing', 'shanghai', 3400]

 

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

len([1, 2, 3])  # 结果为3

[1, 2, 3] + [4, 5, 6] # 结果为[1, 2, 3, 4, 5, 6]

['Hi!'] * 4 #结果为['Hi!', 'Hi!', 'Hi!', 'Hi!']

3 in [1, 2, 3] #结果为True

 

 

Python列表截取

Python 的列表截取实例如下:

L = ['beijing', 'shanghai', 'shenzhen']
print(L[2])
print(L[-2])
print(L[1:])

输出结果:

shenzhen
shanghai
['shanghai', 'shenzhen']

Python列表函数&方法

Python包含以下函数:

Python包含以下方法:

 

posted @ 2018-08-02 10:08  rivendare  阅读(270)  评论(0)    收藏  举报