【没有转载链接,设置不了“转载”,故这里专门说明此博客实际为“转载”】
一、Python中关于对象的概念
- 对象是python语言中最基本的概念,在python中处理的一切都是对象。python中有许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random( )等。
-
在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。
1、主要的对象类型
对象类型 |
类型名称 |
示例 |
简要说明 |
数字 |
int, float, complex |
1234, 3.14, 1.3e5, 3+4j
扫描二维码关注公众号,回复:
9260482 查看本文章
|
数字大小没有限制,内置支持复数及其运算 |
字符串 |
str |
'swfu', "I'm student", '''Python ''', r'abc', R'bcd' |
使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串 |
字节串 |
bytes |
b’hello world’ |
以字母b引导,可以使用单引号、双引号、三引号作为定界符。不可变(即不能通过下标的方式来修改其中的元素值,试图修改元组中元素的值时会抛出异常) |
列表 |
list |
[1, 2, 3],['a', 'b', ['c', 2]] |
所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型 |
字典 |
dict |
{1:'food' ,2:'taste', 3:'import'} |
所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值” |
元组 |
tuple |
(2, -5, 6), (3,) |
不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略 |
集合 |
set frozenset |
{'a', 'b', 'c'} |
所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的 |
2、补充的对象类型
对象类型 |
类型名称 |
示例 |
简要说明 |
布尔型 |
bool |
True, False |
逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False |
空类型 |
NoneType |
None |
空值 |
异常 |
Exception、ValueError、TypeError |
|
Python内置大量异常类,分别对应不同类型的异常 |
文件 |
|
f = open('data.dat', 'rb') |
open是Python内置函数,使用指定的模式打开文件,返回文件对象 |
其他可迭代对象 |
|
生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等 |
具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次 |
编程单元 |
|
函数(使用def定义) 类(使用class定义) 模块(类型为module) |
类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象 |
二、Python序列概述
Python序列类似于其他语言中的数组,但功能要强大很多。
Python中常用的序列结构有列表、元组、字符串,字典、集合以及range等对象也支持很多类似的操作。
列表、元组、字符串支持双向索引,第一个元素下标为0,第二个元素下标为1,以此类推;最后一个元素下标为-1,倒数第二个元素下标为-2,以此类推。
|
列表 |
元组 |
字典 |
集合 |
类型名称 |
list |
tuple |
dict |
set |
定界符 |
方括号[] |
圆括号() |
大括号{} |
大括号{} |
是否可变 |
是 |
否 |
是 |
是 |
是否有序 |
是 |
是 |
否 |
否 |
是否支持下标 |
是(使用序号作为下标) |
是(使用序号作为下标) |
是(使用“键”作为下标) |
否 |
元素分隔符 |
逗号 |
逗号 |
逗号 |
逗号 |
对元素形式的要求 |
无 |
无 |
键:值 |
必须可哈希 |
对元素值的要求 |
无 |
无 |
“键”必须可哈希 |
必须可哈希 |
元素是否可重复 |
是 |
是 |
“键”不允许重复,“值”可以重复 |
否 |
元素查找速度 |
非常慢 |
很慢 |
非常快 |
非常快 |
新增和删除元素速度 |
尾部操作快 其他位置慢 |
不允许 |
快 |
快 |
三、Python变量涉及存储的概念
Python采用的是基于值的内存管理方式,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。Python中的变量并不直接存储值,而是存储了值的内存地址或者引用,这也是变量类型随时可以改变的原因。