手记

Python 变量与数据类型详解

在 Python 中,变量是存储在内存中的值。创建变量的过程,本质上就是在内存中开辟一个空间。Python 的变量赋值不需要类型声明,解释器会根据存储的值自动决定数据类型。

1. 变量赋值原理

  • 创建方式:每个变量在使用前必须赋值,赋值后才会被创建。
  • 赋值符号:使用等号 = 进行赋值,左边是变量名,右边是值。
  • 内存机制:Python 中的变量实际上是对对象的引用。

多种赋值方式:

# 1. 标准赋值
counter = 100     # 整型
miles = 1000.0    # 浮点型
name = "John"     # 字符串

# 2. 同时为多个变量赋相同值
a = b = c = 1

# 3. 为多个变量赋不同值(元组解包)
a, b, c = 1, 2, "john"

2. 五大标准数据类型概览

Python 定义了五种标准数据类型来存储不同的数据:

数据类型 描述 可变性
Numbers (数字) 用于存储数值(整数、浮点数、复数等) 不可变
String (字符串) 由数字、字母、下划线组成的一串字符 不可变
List (列表) 最通用的复合数据类型,支持嵌套 可变
Tuple (元组) 类似于列表,但不能二次赋值(只读) 不可变
Dictionary (字典) 无序的对象集合,通过键-值 (key-value) 存取 可变

3. 详细类型解析

① Numbers (数字)
数字类型用于存储数值,属于不可改变的数据类型(即改变数值会分配新对象)。

  • 支持类型int(整型)、float(浮点型)、complex(复数)。
  • 删除引用:可以使用 del 语句删除变量的引用。
    del var
    del var_a, var_b

② String (字符串)
字符串由数字、字母、下划线组成,使用单引号或双引号标识。

  • 索引:支持正向(0 开始)和反向(-1 开始)索引。
  • 切片:使用 [头下标:尾下标] 截取字符串。注意:包含头下标字符,但不包含尾下标字符。
  • 运算符
    • +:字符串连接
    • *:字符串重复

示例:

str = 'Hello World!'
print(str[0])       # 输出: H
print(str[2:5])     # 输出: llo (包含索引2,不包含索引5)
print(str[2:])      # 输出: llo World!
print(str * 2)      # 输出: Hello World!Hello World!

③ List (列表)
列表是 Python 中最灵活的数据类型之一,支持字符、数字、字符串甚至嵌套列表。

  • 标识:使用方括号 []
  • 切片:与字符串切片规则一致,支持步长参数。
  • 运算符:同样支持 +(连接)和 *(重复)。

示例:

list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']
print(list[0])      # runoob
print(list[1:3])    # [786, 2.23]
print(list + tinylist) # 组合输出

④ Tuple (元组)
元组类似于列表,但使用圆括号 () 标识。

  • 特性不允许更新(即不可变),相当于只读列表。
  • 限制:不能对元组中的元素进行二次赋值,否则会报错。

示例:

tuple = ('runoob', 786, 2.23, 'john', 70.2)
# tuple[2] = 1000  # 这是非法的,会报错!

⑤ Dictionary (字典)
字典是无序的对象集合,通过键 (Key) 而不是偏移量来存取值。

  • 标识:使用花括号 {}
  • 结构:由键和对应的值组成(Key-Value 对)。
  • 常用方法
    • .keys():输出所有键
    • .values():输出所有值

示例:

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'}

print(dict['one'])      # 输出键为'one'的值
print(tinydict.keys())  # 输出所有键

4. 数据类型转换

有时候我们需要对数据类型进行转换,Python 提供了内置函数来实现这一功能:

函数 描述
int(x) 将 x 转换为整数
float(x) 将 x 转换为浮点数
str(x) 将对象 x 转换为字符串
tuple(s) 将序列 s 转换为元组
list(s) 将序列 s 转换为列表
dict(d) 创建字典(d 必须是 (key, value) 元组序列)

希望这份整理后的教程能帮助你更好地理解 Python 的变量类型!

0人推荐
随时随地看视频
慕课网APP