属性
python是一种面向对象的编程语言,python类型包含基础类型和自定义类型;
任何类型的变量在python下都是一个对象,对象包含三个属性:
- 身份,可以通过内建函数
id()
查看,很少使用 - 类型,可以通过
type()
函数查看 - 值,对象表示的数据项
基础类型
目前python中有6种基础类型:
- 不可变类型:Number、String、Tuple
- 可变类型: List、Set、Dictionary
数字(Number)
包含:整形、浮点、复数、布尔
字符串(String)
- 可以使用
'
或者"
括起来 -
\
转义特殊字符 -
+
连接两个字符串 -
*
号表示复制当前字符串,例如>>> print("hello" * 3) hellohellohello >>>
- 可以通过下标访问字符串中的字符,可以通过切片访问子串等; 即支持List的操作
列表(List)
- 列表类似于c语言的数组,元素在
[]
之间,以,
分隔; - 可以通过下标访问元素,下标从0开始到n-1(n为元素个数)
-
+
和*
与string含义一致 - 一个列表中的元素类型可以不一样,例如:
>>> a = ['a', 2] >>> type(a[0]) <class 'str'> >>> type(a[1]) <class 'int'> >>>
元组(Tuple)
与List类似,区别:
- 元素放在
()
之间 - 元素内容不可变
- 只有一个元素时,后面要跟一个
,
,不然访问时会报错,如下
>>> c=(50)
>>> type(c)
<class 'int'>
>>> c
50
>>> d = (50,)
>>> type(d)
<class 'tuple'>
>>> d
(50,)
>>>
说明:由圆括号包括的一个单一元素首先被作为分组操作,而不是作为元组的分界符;变通的方法就是在单一元素后面加一个
,
- 元组的'可变性'
如果元组的元素是可变对象(像list
),则对应元素的值是可以变的,如下
>>> a = (1, 2, 3)
>>> a[0] = 10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> b = (1, 2, 3, [4, 5, 6])
>>> b
(1, 2, 3, [4, 5, 6])
>>> b[3][0] = 10
>>> b
(1, 2, 3, [10, 5, 6])
>>>
集合(Set)
- 非空集合,可以通过
{}
或者set()
函数创建 - 空集合只能通过
set()
创建,原因是{}
表示空的字典 - 集合可以去重
-
与数学中的集合操作对比如下
image.png
字典(Dictionary)
- 类型其他语言的map,以
key-value
对存放于{}
中 - key只能使用不可变量,一般使用整数和字符串
- 在一个字典中key唯一
自定义类型
通过关键字class
可以自定义类型,类似其他面向对象语言
网友评论