typora/note/Python/数据类型.md
2024-12-12 10:48:55 +08:00

59 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 标准数据类型:
- Number数字
- int
- float
- bool True: 1 False: 0
- complex
- String字符串
- List列表写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同
- Tuple元组与列表类似不同之处在于元组的元素不能修改。元组写在小括号里元素之间用逗号隔开。
元组中的元素类型也可以不相同
- Set集合一个无序不重复元素的集
- Dictionary字典是一种映射类型mapping type它是一个无序的键值对key-value集合。
关键字key必须使用不可变类型也就是说list和包含可变类型的 tuple 不能做关键字。
在同一个字典中关键字key必须互不相同
### 不可变数据3 个):
- Number数字
- String字符串
- Tuple元组
### 可变数据3 个)
- List列表
- Dictionary字典
- Set集合
> 可变数据和不可变数据是相对于引用地址来说的。
>
> 不可变数据类型不允许变量的值发生变化,如果改变了变量的值,相当于新建了一个对象,而对于具有相同的值的对象,内部会有一个引用计数来记录有多少个变量引用了这个对象。
>
> 可变数据类型允许变量的值发生变化。对变量进行修改操作只会改变变量的值,不会新建对象,变量引用的地址也不会发生变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,不存在引用计数,是实实在在的对象。
>
> 简单地讲,可变数据和不可变数据的“变”是相对于引用地址来说的,不是不能改变其数据,而是改变数据的时候会不会改变变量的引用地址。
### 确定数据类型
- 使用 `type(变量名)`
### 字符串
- 自然字符串, 通过在字符串前加 r 或 R。 如 r"this is a line with \n" 则\n会显示并不是换行
- Python 允许处理 unicode 字符串,加前缀 u 或 U 如 u"this is an unicode string"
- 级联字符串,如"this " "is " "string"会被自动转换为this is string
<img src="https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20231201114240737.png" alt="image-20231201114240737" style="zoom: 50%;" />
- 字符串的截取的语法格式如下:变量 **[头下标: 尾下标: 步长]**