变量的基本使用

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-17 21:37:35
程序就是用来处理数据的,而变量就是用来存储数据的

变量定义

* 在 Python 中,每个变量 **在使用前都必须赋值**,变量 **赋值以后** 该变量 **才会被创建**
* 等号(=)用来给变量赋值
    * `=` 左边是一个变量名
    * `=` 右边是存储在变量中的值

```python
变量名 = 值
```

> 变量定义之后,后续就可以直接使用了

### 1) 变量演练1 —— iPython

```python
# 定义 number 的变量用来保存号码
In [1]: number = "1234567"

# 输出 number 中保存的内容
In [2]: number
Out[2]: '1234567'

# 定义password 的变量用来保存密码
In [3]:password = "123"

# 输出password 中保存的内容
In [4]: password
Out[4]: '123'
```

> 使用交互式方式,如果要查看变量内容,直接输入变量名即可,不需要使用 `print` 函数



* `money = money - 5` 是在定义新的变量还是在使用变量?
    * 直接使用之前已经定义的变量
    * 变量名 只有在 **第一次出现** 才是 **定义变量**
    * 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量
* 在程序开发中,可以修改之前定义变量中保存的值吗?
    * 可以
    * 变量中存储的值,就是可以 **变** 的

变量的类型

* 在内存中创建一个变量,会包括:
    1. 变量的名称
    2. 变量保存的数据
    3. 变量存储数据的类型
    4. 变量的地址(标示)


在 `Python` 中定义变量时不需要指定类型; `Python` 可以根据 `=` 等号右侧的值,自动推导出变量中存储数据的类型

变量的类型

* 在 `Python` 中定义变量是 **不需要指定类型**(在其他很多高级语言中都需要)
* 数据类型可以分为 **数字型** 和 **非数字型**
* 数字型
    * 整型 (`int`)
    * 浮点型(`float`)
    * 布尔型(`bool`) 
        * 真 `True` `非 0 数` —— **非零即真**
        * 假 `False` `0`
    * 复数型 (`complex`)
        * 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
* 非数字型
    * 字符串
    * 列表
    * 元组
    * 字典

> 提示:在 Python 2.x 中,**整数** 根据保存数值的长度还分为:
>   * `int`(整数)
>   * `long`(长整数)

* 使用 `type` 函数可以查看一个变量的类型

```python
In [1]: type(name)
```

不同类型变量之间的计算

#### 1) **数字型变量** 之间可以直接计算

* 在 Python 中,两个数字型变量是可以直接进行 算数运算的
* 如果变量是 `bool` 型,在计算时
    * `True` 对应的数字是 `1`
    * `False` 对应的数字是 `0`

e.g.
1. 定义整数 `i = 10`
2. 定义浮点数 `f = 10.5`
3. 定义布尔型 `b = True`

* 在 iPython 中,使用上述三个变量相互进行算术运算

#### 2) **字符串变量** 之间使用 `+` 拼接字符串

* 在 Python 中,字符串之间可以使用 `+` 拼接生成新的字符串

```python
In [1]: first_name = "三"

In [2]: last_name = "张"

In [3]: first_name + last_name
Out[3]: '三张'
```
**字符串变量** 可以和 **整数** 使用 `*` 重复拼接相同的字符串

```python
In [1]: "-" * 50
Out[1]: '--------------------------------------------------'
```

**数字型变量** 和 **字符串** 之间 **不能进行其他计算**

```python
In [1]: first_name = "zhang"

In [2]: x = 10

In [3]: x + first_name
---------------------------------------------------------------------------
TypeError: unsupported operand type(s) for +: 'int' and 'str'
类型错误:`+` 不支持的操作类型:`int` 和 `str`
```
变量的输入

* 所谓 **输入**,就是 **用代码** **获取** 用户通过 **键盘** 输入的信息
* 例如:去银行取钱,在 ATM 上输入密码
* 在 Python 中,如果要获取用户在 **键盘** 上的输入信息,需要使用到 `input` 函数
 关于函数

* 一个 **提前准备好的功能**(别人或者自己写的代码),**可以直接使用**,而 **不用关心内部的细节**
* 目前已经学习过的函数

| 函数 | 说明 |
| --- | --- |
| print(x) | 将 x 输出到控制台 |
| type(x) | 查看 x 的变量类型 |

input 函数实现键盘输入

* 在 Python 中可以使用 `input` 函数从键盘等待用户的输入
* 用户输入的 **任何内容** Python 都认为是一个 **字符串**
* 语法如下:

```python
字符串变量 = input("提示信息:")
```
类型转换函数

| 函数 | 说明 |
| --- | --- |
| int(x) | 将 x 转换为一个整数 |
| float(x) | 将 x 转换到一个浮点数 |


**提示**
 
* 如果输入的不是一个数字,程序执行时会出错,有关数据转换的高级话题,后续会讲!

变量的格式化输出

> 苹果单价 `9.00` 元/斤,购买了 `5.00` 斤,需要支付 `45.00` 元

* 在 Python 中可以使用 `print` 函数将信息输出到控制台
* 如果希望输出文字信息的同时,**一起输出** **数据**,就需要使用到 **格式化操作符**
* `%` 被称为 **格式化操作符**,专门用于处理字符串中的格式
    * 包含 `%` 的字符串,被称为 **格式化字符串**
    * `%` 和不同的 **字符** 连用,**不同类型的数据** 需要使用 **不同的格式化字符**

| 格式化字符 | 含义 |
| --- | --- |
| %s | 字符串 |
| %d | 有符号十进制整数,`%06d` 表示输出的整数显示位数,不足的地方使用 `0` 补全 |
| %f | 浮点数,`%.2f` 表示小数点后只显示两位 |
| %% | 输出 `%` |

* 语法格式如下:

```python
print("格式化字符串" % 变量1)

print("格式化字符串" % (变量1, 变量2...))
```






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!