Python内置数据类型详解

通常来说Python在编程语言中的定位为脚本语言——scripting language 高阶动态编程语言。

Python是以数据为主,变量的值改变是指变量去指到一个地址。
即:Id(变量)->展示变量的地址。
因此一个具体的值,会有不同的变量名。

Python的数据类型:

数字、字符串、列表、元组、字典
数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了。

Dictionary介绍:

Dictionary是Python的内置数据类型之一,它定义了键和值之间的一对一关系。
其实就是通常所说的哈希数组。
Dictionary的简单定义:Dic={'Key1':'Value1','Key2':'Value2'}
Dictionary中不能有重复的Key,给同一个Key赋值会覆盖掉原来的值。
任何时候都可以在Dictionary中添加Key-Value的值对。
在Dictionary中是没有元素顺序的说法的!因为是通过Key再找Value的,没有顺序之分。
在Dictionary中,Key的大小写是敏感的!
Dictionary不只是用来存储字符串,Dictionary的值可以使任意的数据类型,包括Dictionary本身。同时,在单个的Dictionary中,Dictionary的值也并不需要全部都是同一数据类型,可以混用和匹配。Dictionary的Key的数据类型会有相对的要求,不过也是可以多种数据类型混用和匹配的。
Del可以使用一个Key将Dictionary中的对应元素删除。>>>del dic[12]
Clear()可以将一个Dictionary中的所有值删掉,但原Dictionary还在,只是变成了空{}.>>>dic.clear()

List介绍:

List是Python中用的最频繁的数据类型。
List中的数据类型可以使任意的,同时是支持动态扩张的。
List的简单定义:Lis=['a','b','abc','asd']。List是一个用方括号包括起来的有序元素的集合。
List支持正负两种索引模式:正索引是一般的情况,从0开始。
负索引是从List的尾部开始计数。任何一个非空的List的最后一个原始总是List[-1]。
List支持分片,既是从List的中间取数据。需要注意的是,Slice的起始位置。
向List中添加数据:Lis.Append('New')向List的末尾添加数据;
Lis.insert(2,'New')在List的2的位置插入值;
Lis.extend(['New','Nwe'])在原有的List中链接新的List(在末尾)。

Append()和Extend()的区别:

①.Append()的参数可以是任何的数据类型,当然也可以是一个List,但是它是将怎么List当作一个元素,添加进原来的List。
②.Extend()的参数只可以是一个List,同时是将整个List的所有元素,逐个添加进原来的List。
③.在List中搜索:Lis.index('a')
④.index在List中查找一个值,并返回其首次出现的索引值。如果出现了多次,只返回第一次的索引值;如果不在List中,则会返回一个异常。
⑤.测试一个值是否在List中,使用In:>>>'c' in lis 返回的值是False。

在List中删除元素:

①.Lis.remove('a')从List中删除一个值的首次出现(并不是所有)。
②.Lis.pop() pop()会做两件事情:删除List的最后一个元素,同时返回这个被删除的元素。
③.List可以用+运算符链接起来。List=List+otherList相当于list.extend(otherList)。但是+运算符是把一个新的list(链接后)作为返回值,而extend()只修改存在的List。所以对于大型的List来说,Extend()的执行速度要快一些。
④.List支持+=运算符。
⑤.List中的*运算符可以作为一个重复器作用于List。Lis=[1,2]*3等同于lis=[1,2]+[1,2]+[1,2]。即是将三个List链接成一个。

Tuple介绍:

Tuple是一个不可变的List。一旦创建Tuple,就不能以任何方式改变它。
Tuple的简单定义:Tup=('a','b','abc','asd')整个元素集用小括号包围。
因为Tuple是不可变的,所以它没有方法,不能添加和删除元素。有和List一样的索引,可以同样的方法分片。当分割一个List时,会得到一个新的List;分割一个Tuple时,会得到一个新的Tuple。
Tuple同样可以使用in的方式来查看一个元素是否存在于Tuple中。

Tuple可以看成是一类特殊的List,它存在的好处:

①.Tuple比List的操作速度快。定义一个常量集,只需要用Tuple来存储,你对它唯一的操作就是不断地遍历它。
②.Tuple可以看成是对不需要更改的数据进行了“写保护”。可以使代码更加安全。
③.Tuple在Dictionary中是可以作为Key的,而List是不可以的!因为Dictionary中的key必须是不可变的。
④.Tuple是可以转换成List的。内置的tuple函数可以接收一个List,返回一个有着相同元素的Tupelo;而List函数接收一个Tuple返回一个List。

深入理解本文所述的Python内置数据类型对于熟练掌握Python程序设计会有很大的帮助。

(0)

相关推荐

  • vc6编写python扩展的方法分享

    系统环境:VC6 + Python-2.5.4 1.下载Python-2.5.4源码. 2.解压,打开D:\Python-2.5.4\PC\VC6\pcbuild.dsw,编译,D:\Python-2.5.4\PC\VC6\下得到python25.dll.python25_d.dll.python25.lib.python25_d.lib. 3.使用VC6建立一个动态链接库工程,拷贝D:\Python-2.5.4\PC\example_nt\example.c到工程目录下,并添加到工程中. 4.

  • 详解Python中内置的NotImplemented类型的用法

    它是什么? >>> type(NotImplemented) <type 'NotImplementedType'> NotImplemented 是Python在内置命名空间中的六个常数之一.其他有False.True.None.Ellipsis 和 __debug__.和 Ellipsis很像,NotImplemented 能被重新赋值(覆盖).对它赋值,甚至改变属性名称, 不会产生 SyntaxError.所以它不是一个真正的"真"常数.当然,我们应

  • Python中内置数据类型list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

  • Python实现扩展内置类型的方法分析

    本文实例讲述了Python实现扩展内置类型的方法.分享给大家供大家参考,具体如下: 简介 除了实现新的类型的对象方式外,有时我们也可以通过扩展Python内置类型,从而支持其它类型的数据结构,比如为列表增加队列的插入和删除的方法.本文针对此问题,结合实现集合功能的实例,介绍了扩展Python内置类型的两种方法:通过嵌入内置类型来扩展类型和通过子类方式扩展类型. 通过嵌入内置类型扩展 下面例子通过将list对象作为嵌入类型,实现集合对象,并增加了一下运算符重载.这个类知识包装了Python的列表,

  • 使用C语言扩展Python程序的简单入门指引

    一.简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的开发过程中. 与其它普通脚本语言有所不同,Python程序员可以借助Python语言提供的API,使用C或者C++来对Python进行功能性扩展,从而即可以利用Python方便灵活的语法和功能,又可以获得与C或者C++几乎相同的执行性能.执行速度慢是几乎所有脚本语言都具有的共性,也是倍受人

  • 详解Python的Django框架中manage命令的使用与扩展

    [简介] django-admin.py是Django的一个用于管理任务的命令行工具.本文将描述它的大概用法. 另外,在每一个Django project中都会有一个manage.py.manage.py是对django-admin.py的简单包装,它额外帮助我们做了两件事情: 它将你的project的包放到sys.path中 它将DJANGO_SETTINGS_MODULE环境变量设置为了你的project的setting.py文件的位置. 如果你是通过setup.py工具来安装Django的

  • 使用Pyrex来扩展和加速Python程序的教程

    Pyrex 是一种专门设计用来编写 Python 扩展模块的语言.根据 Pyrex Web 站点的介绍,"它被设计用来在友好易用的高级 Python 世界和凌乱的低级 C 世界之间搭建一个桥梁."虽然几乎所有的 Python 代码都可以作为有效的 Pyrex 代码使用,但是您可以在 Pyrex 代码中添加可选的静态类型声明,从而使得这些声明过的对象以 C 语言的速度运行. 加速 Python 从某种意义上来说,Pyrex 只是不断发展的 Python 类语言系列的一个部分:Jython

  • Python中扩展包的安装方法详解

    前言 作为一个pythoner ,包的安装时必须懂的,这个语言跟matlab很类似,开源.共享,只要你有好的方法,都可以作为一个库,供大家下载使用,毕竟俗话说:"人生苦短,请用Python吗",下面话不多说,我们来一起看看详细的介绍吧. 方法如下: 1.单文件模块 将包拷贝到python安装目录下Lib下,eg:D:\py\Lib. 2.多文件模块 找到模块包(压缩文件zip或tar.gz)下载,进行解压,然后控制台中执行:python setup.py install xxx即可 3

  • python基础教程之基本内置数据类型介绍

    Python基本内置数据类型有哪些 一些基本数据类型,比如:整型(数字).字符串.元组.列表.字典和布尔类型.随着学习进度的加深,大家还会接触到更多更有趣的数据类型,python初学者入门时先了解这几种类型就可以了. 基本内置数据类型对应符号 1)整型--int--数字python有5种数字类型,最常见的就是整型int.例如:1234.-12342)布尔型--bool--用符号==表示布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做

  • Python内置数据类型详解

    通常来说Python在编程语言中的定位为脚本语言--scripting language 高阶动态编程语言. Python是以数据为主,变量的值改变是指变量去指到一个地址. 即:Id(变量)->展示变量的地址. 因此一个具体的值,会有不同的变量名. Python的数据类型: 数字.字符串.列表.元组.字典 数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了. Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和

  • Python的语言类型(详解)

    Python 是强类型的动态脚本语言 . 强类型:不允许不同类型相加 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候 脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译 强类型语言和弱类型语言 1.强类型语言:使之强制数据类型定义的语言.没有强制类型转化前,不允许两种不同类型的变量相互操作.强类型定义语言是类型安全的语言,如Java.C# 和 python,比如Java中"int i = 0.0;"是无法通过编译的: 2.弱类型语言:数据类型

  • python内置数据类型之列表操作

    数据类型是一种值的集合以及定义在这种值上的一组操作.一切语言的基础都是数据结构,所以打好基础对于后面的学习会有百利而无一害的作用. python内置的常用数据类型有:数字.字符串.Bytes.列表.元组.字典.集合.布尔等 1.什么是列表 lst[#] 通过下标访问,从0开始. ps:如果#超过下标的范围时候会出现IndexError的错误. 如果#为负号,则索引从右边开始,#无论为正负均有范围,超过范围会报错. lst = list(range(0,9)) #生产列表 l1 = lst[3]

  • Python内置数据类型list各方法的性能测试过程解析

    这篇文章主要介绍了Python内置数据类型list各方法的性能测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 测试环境 本文所涉及的代码均在MacOS系统与CentOS7下测试,使用的Python版本为3.6.8. 测试模块 测试用的模块是Python内置的timeit模块: timeit模块可以用来测试一小段Python代码的执行速度. Timer类 class timeit.Timer(stmt='pass', setup='p

  • python内置数据类型使用方法和继承关系

    目录 1.python包含的内置序列 2.使用内置的数据类型 2.1创建 2.2索引 2.3使用for遍历 3.可变与不可变 4.小练习题 前言: python之父Guido van Rossum曾经参与过ABC语言的开发(不是参加了A语言.B语言和C语言的开发,ABC是一门单独的编程语言),后来他认为这门语言存在很多缺点,就创立了python语言.因此,python很多风格和ABC语言是有相似之处的. 今天笔记内容是流畅的python书籍的第二章,主要记录python内置序列类型的相关知识 本

  • Python内置数据类型中的集合详解

    目录 1. 集合 set 简介 1.1 使用 { } 直接创建集合 1.2 使用 set() 函数创建集合 2. 集合没有切片功能! 3. 处理集合的常见内置函数 3.1  len 函数 3.2  map 函数 3.3  filter 函数 3.4  reduce 函数 3.5  sum 函数 3.6  max 函数 3.7  min 函数 3.8  sorted 函数 3.9 enumerate 函数 3.10 any 函数 3.11 all 函数 4. 集合的内置方法 4.1  .add(v

  • Python内建数据结构详解

    一.列表(List) list 是一个可以在其中存储一系列项目的数据结构.list 的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个 list .下例用以展示 list 的一些基本操作: # 定义一个 list 对象 class_list: class_list = ['Michael', 'Bob', 'Tracy'] # 获得一个 class_list 的长度 print 'class have', len(class_list), 'students' # 访问c

  • python 的集合类型详解

    目录 集合: 创建集合 集合的基本操作 集合的内建函数和方法 总结 集合: 无序不重复的元素的组合 利用集合可以删除列表中的重复项(set()唱用作去重操作) 分类:可变集合(set),不可变集合(frozenset) 创建集合 用set()函数(可变集合)或frozenset()函数(不可变集合)创建 set()   frozenset()      不可变集合是可哈希的,可变集合是可哈希的 集合的基本操作 -:为差补(离散中叫相对补)      x属于A-B等价于x属于A但x不属于B   ^

  • Python的内置数据类型中的数字

    目录 Python的内置数据类型中的数字 1.变量 2.数据类型总览 3.Python是弱类型的语言 4.各数据类型的详细介绍 4.1 整数(int) 4.2 浮点数/小数(float) 5.复数(complex) 6.布尔类型(bool) Python的内置数据类型中的数字 1.变量 说数据类型之前,我们要先思考一下下面几个问题: 数据是怎么存的呢? 数据类型有啥作用呢? 各种数据类型有啥区别呢? 要想回答这些问题,首先还是要先了解一下变量的概念.那么何为变量呢? 变量(Variable)可以

  • Python语言内置数据类型

    目录 一.数值数据类型 1.整数类型 2.布尔类型 3.浮点类型 4.复数类型 二.序列数据类型 1.不可变序列 2.可变序列 三.集合数据类型 四.字典数据类型 五.NoneType.NotImplementedType.EllipsisType 1.NoneType 2.NotImplementedType 3.EllipsisType 六.其他数据类型 前言: 计算机能处理各种类型的数据,包括数值.文本,不同的数据属于不同的数据类型,支持不同的运算操作,Python语言提供了丰富的内置数据

随机推荐