Python 语言中的变量
# Python 语言中的变量
## 基本概念
### 什么是程序
程序是数据和指令的有序集合。写程序,就是用数据和指令控制计算机完成特定任务。
### 计算机硬件基础
现代计算机遵循冯·诺依曼体系结构,硬件系统由五大部件组成:
- **运算器 + 控制器** = CPU(中央处理器),负责执行指令
- **存储器** = 内存(直接寻址)+ 硬盘等外部存储
- **输入设备** = 键盘、鼠标、麦克风、摄像头等
- **输出设备** = 显示器、打印机、扬声器等
### 二进制基础
计算机内部以二进制(0 和 1)存储和处理数据。二进制的"逢二进一"与十进制的"逢十进一"原理相同。
对于大多数编程工作,我们不需要手动处理二进制转换,但需要了解:无论什么类型的数据,在计算机内存中都以二进制形式存在。
## 变量和类型
**变量**是存储数据的内存空间,有名字、可读取、可修改,是程序运行的基础。
### 常用数据类型
| 类型 | 说明 | 示例 |
|------|------|------|
| `int`(整型) | 整数,支持任意大小 | `100`, `0b100`(二进制), `0o64`(八进制), `0x64`(十六进制) |
| `float`(浮点型) | 小数 | `123.45`, `1.2345e2`(科学计数法) |
| `str`(字符串) | 文本,用引号包裹 | `'hello'`, `"world"` |
| `bool`(布尔型) | 真或假 | `True`, `False` |
**简单示例:**
```python
print(100) # 整型
print(3.14) # 浮点型
print('hello') # 字符串
print(True) # 布尔型
```
## 变量命名
### 命名规则(必须遵守)
1. 由字母、数字、下划线组成,**数字不能开头**
2. Python **大小写敏感**,`a` 和 `A` 是两个不同的变量
3. 不能与 Python 关键字(如 `if`、`for`、`while`、`True`、`False`)或内置函数名(如 `int`、`print`、`str`)重名
### 命名惯例(建议遵守)
- 变量名使用**小写字母**,多个单词用下划线连接:`user_name`、`total_count`
- 受保护变量以单下划线开头:`_internal`
- 私有变量以双下划线开头:`__private`
- **见名知意**:变量名应体现其含义,避免用 `a`、`b`、`temp` 之类的无意义名称
> **关键字查询**:可用以下代码查看 Python 所有关键字
> ```python
> import keyword
> print(keyword.kwlist)
> ```
## 变量的使用
### 基本使用
```python
a = 45 # 定义变量 a,赋值为 45
b = 12 # 定义变量 b,赋值为 12
print(a, b) # 输出: 45 12
print(a + b) # 加法: 57
print(a - b) # 减法: 33
print(a * b) # 乘法: 540
print(a / b) # 除法: 3.75
```
### 类型检查
使用 `type()` 函数查看变量类型:
```python
a = 100
b = 123.45
c = 'hello'
d = True
print(type(a)) #
print(type(b)) #
print(type(c)) #
print(type(d)) #
```
### 类型转换
| 函数 | 作用 | 示例 |
|------|------|------|
| `int(x)` | 转换为整数 | `int('123')` → `123` |
| `float(x)` | 转换为浮点数 | `float('123.45')` → `123.45` |
| `str(x)` | 转换为字符串 | `str(100)` → `'100'` |
| `bool(x)` | 转换为布尔值 | `bool('hello')` → `True` |
| `chr(x)` | 整数转字符 | `chr(100)` → `'d'` |
| `ord(x)` | 字符转整数 | `ord('d')` → `100` |
```python
print(int('123')) # 字符串转整数: 123
print(int('123', base=16)) # 十六进制字符串转整数: 291
print(int('100', base=2)) # 二进制字符串转整数: 4
print(float('123.45')) # 字符串转浮点数: 123.45
print(bool('hello')) # 非空字符串转布尔值: True
print(chr(100)) # 整数编码转字符: 'd'
print(ord('d')) # 字符转整数编码: 100
```
> **注意**:`bool` 转 `int` 时,`True` → `1`,`False` → `0`。非空字符串转 `bool` 都是 `True`,空字符串 `''` 才是 `False`。
## 总结
- 变量是数据的载体,存储在计算机内存中
- 常用数据类型:整型、浮点型、字符串、布尔型
- 变量命名需遵守规则,避免与关键字冲突,做到见名知意
- 可使用 `type()` 检查类型,`int()`、`float()`、`str()` 等函数进行类型转换