Python对象类型

Python程序可以分解为模块、语句、表达式以及对象,如下所示:

程序由模块构成

模块包含语句

语句包含表达式

表达式建立并出口对象

一、Python类型的介绍:

1.1 为什么使用内置类型

Python提供了强大的对象类型作为语言的组成部分,事实上,除非有内置类型无法提供的特殊对象要处理,最好总是使用内置对象而不是使用自己的实现。下面是其原因:

内置对象使程序更容易编写:

对于简单的任务,内置类型往往能够表现问题领域的所有结构。例如,集合(列表)和搜索表(字典)可以马上使用它们,仅使用python内置对象类型就能完成很多工作。

内置对象使扩展的组建:

对于较为复杂的任务,或许仍需要提供自己的对象,使用python的类或C语言的结构。例如,堆栈数据结构也许会实现为管理和定制内置列表的类。

内置对象往往比定制的数据结构更有效率:

在速度方面,python内置类型优化了用C实现数据结构算法。尽管可以实现属于自己的类似的数据类型,但往往很难达到内置数据类型所提供的性能水平。

内置对象是语言的标准的一部分:

python不但借鉴了依靠内置工具的语言(例如LISP),而且吸取了那些依靠程序员去提供自己实现的工具或框架的语言(例如C++)的优点。尽管在Python中可以实现独一无二的对象类型,但在开始阶段并没有必要这样做。此外,因为Python的内置工具是标准的,他们一般都是一致的。

1.2 Python的核心数据类型

python的内置对象类型和一些编写其常量(literal)所使用到的语法,也就是能够生成这些对象的表达式。

内置对象:

数字、字符串、列表、字典、元组、文件、集合、其他类型、编程单元类型、与实现相关的类型

上面所列内容并不完整,因为在python程序中处理的每样东西都是一种对象。例如,在python中进行文本模式匹配时,创建了模式对象,还有进行网络脚本编程时,使用了套接字对象,它们由def、class、import和lamba这样的语句和表达式创建,并且可以在脚本间自由地传递,存储在其他对象中等。

1.3数字

python的核心对象集合包括常规的类型:整数、浮点数以及更为少见的类型(有虚部的复数、固定精度的十进制数、带分子和分母的有理分数以及集合等)。

python的基本数字类型还是相当基本的。python中数字支持一般的数学运算。其中**表示乘方。

>>> 12+33
45
>>> 1.5*4
6.0
>>> 2 ** 100
1267650600228229401496703205376

#注意这里的最后一个记过:当需要的时候,python 3.0的整数类型会自动提供额外的精度,以用于较大的数值。
1.4 字符串

就像任意字符的集合一样,字符串是用来记录文本信息的。从严格意义上来说,字符串是单个字符的字符串的序列,其他类型的序列还包括列表和元组。

作为序列,字符串支持假设其中各个元素包含位置顺序的操作。例如,如果我们有四个字符的字符串,我们通过内置的len函数验证其长度并索引操作得到其各个元素。

>>> S = ‘Spam‘
>>> len(S)
4
>>> S[0]
‘S‘
>>> S[1]
‘p‘

在Python中,索引是按照最前面的偏移量进行编码的,也就是从0开始,第一项索引为0,第二项索引为1,以此类推。

>>> S[-1]
‘m‘
>>> S[-2]
‘a‘
>>>

#在Python中,我们能够反向索引,从最后一个开始(反向索引是从左边开始计算,反向索引是从右边开始计算)

>>> S[len(S)-1]
‘m‘

#一般来说,负的索引号会简单地与字符串的长度相加,因此,上面操作和S[-1]是等效的。

>>> S[1:3]
‘pa‘

#除了简单的从位置进行索引,序列也支持一种所谓分片(slice)的操作,这是一种一步就能够提取整个分片(splice)的方法。

>>> S[1:]
‘pam‘
>>> S[0:3]
‘Spa‘
>>> S[:3]
‘Spa‘
>>> S[:-1]
‘Spa‘
>>> S[:]
‘Spam‘

#在一个分片中,左边界默认为0,并且右边界默认为分片序列的长度。

>>> S+‘xyz‘
‘Spamxyz‘
>>> S*8
‘SpamSpamSpamSpamSpamSpamSpamSpam‘

#作为一个序列,字符串也支持使用加号进行合并(将两个字符串合成为一个新的字符串),或者重复(通过再重复一次创建一个新的字符串)。
#注意加号(+)对于不同的对象有不同的意义:对于数字为加法,对于字符串为合并。这是Python的一般特性,也就是我们将会在本书后面提到的多态。简而言之,一个操作的意义取决于被操作的对象。Python编写的操作通常自动地适用于不同类型的对象。

时间: 2024-10-05 03:35:49

Python对象类型的相关文章

Python 二、Python对象类型及其运算

一.Python对象的相关术语 Python中一切皆对象,python程序中保存的所有数据都是围绕对象这个概念展开的:所有的对象都是由类实例化而来的,只不过这些类有些是python内置的类:例如,整数和浮点数,字符串都是由python内置的类实例化而来的.除此之外用户还可以自定义类型,就是类. python程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 例如,school="MaGe Linux"会以"MaGe Linux"创建一个字符串对象,

python学习手册——1介绍python对象类型

在python ,数据以对象的形式出现--无论是python提供的内置对象,还是使用python或是像C扩展库这样的扩展语言工具创建的对象.尽管在以后才能确定这一概念,但对象无非是内在中的一部分,包含数值和相关操作的集合. 由于对象是python 最基本的概念,从这一章开始我们将会全面地体验python的内置对象类型. python程序可以分解成模块,语句,表达式以及对象,如下所示: 1.程序由模块构成 2.模块包含语句 3.语句包含表达式 4.表达式建立并处理对象 为什么使用内置类型 1.内置

Python学习笔记(四)Python对象类型及其运算

Python对象的相关术语: Python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份,一个类型和一个值 例如,school="MaGe linux"会以"MaGe linux"创建一个字符串对象,其身份是指向它在内存中所处位置的指针(其在内存中的地址),而school就是引用这个具体位置的名称 In [14]: name="herry" In [15]: id(name) Out[15]: 

python之路-------第4章、介绍python对象类型

对象是内存中的一部分,包含数值和相关操作的集合.python可以分解成模块.语句.表达式以及对象:程序由模块构成.模块包含语句.语句包含表达式.表达式建立并处理对象. 1.1.为什么使用内置类型? 使用c或c++,很大一部分工作集中于对象,需要部署内存结构.管理内存分配.实现搜索和读取进程.而python不是这样,它提供了强大的对象类型作为语言的组成部分. 除非有内置类型无法提供的特殊对象要处理,所以最好总是使用内置对象而不是使用自己的实现. 1.2.python核心的数据类型 函数.模块和类这

二:python 对象类型

---恢复内容开始--- 1,为什么使用内置类型: a)内置对象使程序更容易编写 b)内置对象是扩展的组件 c)内置对象往往比定制的数据结构更加高效 d)内置对象是语言的标准的一部分 2,python  的主要内置对象 对象类型 例子 常量/创建 数字 1234,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'spam',''hello,world'' [不可变性,按相对位置进行读取,可以重新定义一个字符串,并取相同的变量名称,python在运行过程中会清理旧

三:python 对象类型详解一:数字(下)

一:位操作 除了一般的数学运算,python也支持c语言中的大多数数学表达式.这包括那些把整数当作二进制位串对待的操作.例如,还可以实现位移及布尔操作: >>> x = 1 #0001 >>> x << 2 #shift left 2 bits:0100 4 >>> x | 2 #Bitwise OR:0011 3 >>> x & 1 #Bitwise AND:0001 1 这样的按位进行掩码的运算,使我们可以对一

Python对象类型——字典和集合

字典 1.字典本身是哈希的,是无序的,但字典中的键的集合或值的集合可以是有序的,通过keys()或values()返回一个列表,该列表是可排序的.注:哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值. 2.字典的创建可以直接赋值:可以通过工厂函数dict()生成,如果参数是可迭代的,即一个序列或是一个迭代器,或是支持迭代的对象,则没个可迭代的元素必须成对出现,eg:dict([['x',1],['y',2]]):还可以用内建方法fro

Python学习手册笔记(1):Python对象类型

在Python中一切皆对象,Python程序可以分解为模块.语句.表达式及对象.如下所示: 1 程序由模块组成 2 模块包含语句 3 语句包含表达式 4 表达式建立并处理对象 内置对象(核心类型): 1)数字: >>> 2+2            #整数加法 4 >>> 1.5*4          #浮点数乘法 6.0 >>> 2**10          #2的10次方 1024 2) 字符串: >>> s='abcdefg'

《Python 学习手册4th》 第四章 介绍Python对象类型

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容(每天看42页内容,可以保证月底看完此书) ''' 摘要 Python程序可以分解成模块.语句.表达式和对象: 程序由模块构成: 模块包含语句: 语句包含表达式: 表达式建立并处理对象. 一. 为什么使用内置类型  #了解即可 内置对象使程序更容易编写 内置对象是扩展的组件 内置对象往往比定制的数据结构更高效 内置对象是语言的标准的一部分 二. Py