欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

Python学习之5大标准数据类型详解

发布时间:2017-09-20 23:16  回复:0  查看:2839   最后回复:2017-09-20 23:16  
学习一门语言,往往都是从Hello World 开始。 但是在一个黑框框中输出一个 你好,世界 并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本文将从python 中的变量类型开始,为大家详细介绍这门语言,同时也希望对想 学习python开发的同学有所帮助
   五大标准数据类型
  在内存中存储的数据可以有多种类型。
  例如,  一个人的名字可以用字符来存储,  年龄可以用数字来存储,  爱好可以用集合来存储等等。
  Python 有五个标准的数据类型:
  · Numbers (数字)
  · String (字符串)
  · List (列表)
  · Tuple (元组)
  · Dictionary (字典)
  其中属于集合类型的数据类型有  列表、元组及字典 
   0x00. 数字(Numbers
  数字数据类型用于存储数值。
  他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
  当你指定一个值时,Number 对象就会被创建:
  var1 = 1var2 = 2
  del 语句删除一些对象的引用,其语法是:
   del var1[,var2[,var3[....,varN]]]]
  通过使用del 语句可以删除单个或多个对象的引用。例如:
   del var1 del var1, var2
   四种不同的数字类型:
  · int (有符号整型)
  · long (长整型 [ 也可以代表八进制和十六进制
  · float (浮点型)
  · complex (复数)
   a. int(整型)
  在32 位机器上,整数的位数为 32 位,取值范围为 -2**31 2**31-1 ,即 -2147483648 2147483647
  在64 位系统上,整数的位数为 64 位,取值范围为 -2**63 2**63-1 ,即 -9223372036854775808 9223372036854775807
  b. long (长整型)
  跟C 语言不同, Python 的长整数没有指定位宽,即: Python 没有限制长整数数值的大小,但实际上由于机器内存有限,长整数数值不可能无限大。
  注意,自从Python2.2 起,如果整数发生溢出, Python 会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母 L 也不会导致严重后果了。
   c. float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C 语言中的 double 类型,占 8 个字节( 64 位),其中 52 位表示底, 11 位表示指数,剩下的一位表示符号。
  d. complex (复数)
  复数由实数部分和虚数部分组成,一般形式为x yj ,其中的 x 是复数的实数部分, y 是复数的虚数部分,这里的 x y 都是实数。
  注:Python 中存在小数字池: -5  ~  257
   小整数对象——小整型对象池
  在实际编程中,数值比较小的整数,比如1,2,29 等,可能会非常频繁的出现。而在 python 中,所有的对象都存在于系统堆上。想想?如果某个小整数出现的次数非常多,那么 Python 将会出现大量的 malloc/free 操作,这样大大降低了运行效率,而且会造成大量的内存碎片,严重影响 Python 的整体性能。
  在Python2.5 乃至 3.3 中,将小整数位于 [-5,257) 之间的数,缓存在小整型对象池中。
   0x01. 字符串(String
  字符串或串(String) 是由数字、字母、下划线组成的一串字符。
  它是编程语言中表示文本的数据类型。
  Python 的字串列表有 2 种取值顺序 :
  ·  从左到右索引默认 0 开始的,最大范围是字符串长度少 1
  ·  从右到左索引默认 -1 开始的,最大范围是字符串开头
  如果你要实现从字符串中获取一段子字符串的话,可以使用变量  [头下标:尾下标  ,就可以截取相应的字符串,其中下标是从 0  开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
  比如:
  s = 'i love python'
  s[2:6] 的结果是 love 。(顾头不顾尾,或左闭右开)
  操作实例:
  str = 'Hello World'
print(str)                 # 输出完整字符串
print(str[0])              # 输出字符串中的第一个字符
print(str[2:5])            # 输出字符串中第三个至第五个之间的字符
print(str[2:])             # 输出从第三个开始到最后的字符串
print(str*2)               # 输出字符串两次 print('say: ' + str)       # 输出连接的字符串
   0x02. 列表(List
  List (列表) 是  Python  中使用最频繁的数据类型。
  列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
  操作实例:
   list =  ['apple', 'jack', 798, 2.22, 36]
  otherlist = [123, 'xiaohong']
   print( list)                             # 输出完整列表 print( list[0])                          # 输出列表第一个元素 print( list[1:3])                        # 输出列表第二个至第三个元素  print( list[2:])                         # 输出列表第三个开始至末尾的所有元素 print(otherlist * 2)                    # 输出列表两次 print( list + otherlist)                 # 输出拼接列表
   0x03. 元祖(Tuple
  元组是另一个数据类型,类似于List (列表)。
  元组用"()" 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
  操作实例与列表相似
   0x04. 字典(Dictionary
  字典(dictionary) 是除列表以外 Python 之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
  两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  字典用"{ }" 标识。字典由索引 (key) 和它对应的值 value 组成。
  操作实例:
  dict = {}
  dict[‘one’] = 'This is one'
  dict[2] = 'This is two'
  tinydict = {'name':'john','code':5762,'dept':'sales'}
  print(dict['one'])                          # 输出键为 'one' 的值 print(dict[2])                              # 输出键为 2 的值 print(tinydict)                             # 输出完整的字典 print(tinydict.keys())                      # 输出所有键 print(tinydict.values())                    # 输出所有值
来源:博客园
您还未登录,请先登录

热门帖子

最新帖子