- 零基础学Python程序设计
- 任昱衡编著
- 2429字
- 2022-05-06 12:01:23
4.1 变量赋值
变量赋值是将变量名和数据建立关联的过程。通过对变量进行赋值操作,变量名就可以指代具体的数值了。Python提供了内部赋值和外部赋值两种方式。本节详细讲解这两种方式。
4.1.1 内部赋值
内部赋值是通过等号运算符(=)为变量指定一个数据值。它可以为一个变量进行赋值,也可以同时为多个变量进行赋值。下面依次介绍这几种方式。
1. 单一赋值
单一赋值是指为一个变量名指定一个数据值,格式如图4.1所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-80-1.jpg?sign=1739391840-N9AnvC2Or15Sei7RqRrGgspvWdCnngK7-0-16082ee7fe0fc05b007e98f85d6f3d26)
图4.1 单一赋值
其中,数据值是为变量赋值的值。它可以是数值,也可以是表达式。在IDEL的交互模式中,成功赋值以后,只要直接执行变量名,即可查看变量的值,格式如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-80-2.jpg?sign=1739391840-zzra9BYwb7ODTfryGzoMGtezO7mvl93K-0-808e767bed6bd367de9093cfb1341332)
【实例4-1】下面演示为变量A进行单一赋值,并查看变量的值。
(1)为变量赋值一个整数,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-80-3.jpg?sign=1739391840-Yn5fcOWajwRjSBOU0JDN5FrpQNlZDwb5-0-027ae9daca9633a9f7be1f9d38532485)
代码为变量A赋值了整数60,查看变量类型时,变量类型为整数类型。
(2)为变量赋值一个浮点数,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-81-1.jpg?sign=1739391840-vsOtwlrAk8DH2xttFXxteqSrmJ6LKzft-0-3ee09e09c742998dba1eb8c6bc19f817)
代码为变量A赋值了浮点数60.8,查看变量类型时,变量类型为浮点数类型。
(3)为变量赋值一个字符串,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-81-2.jpg?sign=1739391840-rlN11Kesz6UgfUVMk09YU1WtJvQAPysL-0-174a76bcd1eda5d6482aee303729f861)
代码为变量A赋值了字符串“60”,查看变量类型时,变量类型为字符串类型。
(4)为变量赋值一个布尔值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-81-3.jpg?sign=1739391840-pWPIicKdZalPOmM8VhcYjgslG6eVtjKK-0-2ffd8a22b7cdd82726495e21022fd863)
代码为变量A赋值了布尔值True,查看变量类型时,变量类型为布尔类型。
提示:为变量进行赋值时,变量的数据类型由赋值的数据类型决定。
2. 多重赋值
多重赋值是指将一个数据值同时赋给多个变量,格式如图4.2所示。其中,3个变量均被赋给同一个数据值。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-81-4.jpg?sign=1739391840-crOkvss6BjIyyHYuF1HjDJKF5BMLP9bl-0-663e8588925031090e1412df62a29393)
图4.2 多重赋值
【实例4-2】下面演示为多个变量赋给相同值,并查看这些变量的值。
(1)为变量A、B、C同时赋值整数60,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-81-5.jpg?sign=1739391840-VlnXffsb1RDWr7Id95f0GMRMQoxnAVUv-0-99a871cb51b851702940ceb950d71a5f)
输出信息表示,此时变量A、B、C的值均为整数60,具有相同的数据类型——整数类型。
(2)为变量A、B、C同时赋值浮点数60.8,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-82-1.jpg?sign=1739391840-LYyXPzLaiFSTzAoGZqgVYxXlSRUjV1qW-0-8e6b1b3bdebdbff46a5a068c225b1825)
输出信息表示,此时变量A、B、C的值均为浮点数60.8,具有相同的数据类型——浮点数类型。
(3)为变量A、B、C同时赋值字符串“80”,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-82-2.jpg?sign=1739391840-go9JpqLa7vEQ6OwIvQ29Yew1lyklrBDI-0-1c235020f2011e4c3d524f818c2367c9)
输出信息表示,此时变量A、B、C的值均为字符串“80”,具有相同的数据类型——字符串类型。
(4)为变量A、B、C同时赋值布尔值False,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-82-3.jpg?sign=1739391840-8nluI4lYrdQXuP9NS9pwYQR9f7Xl6L47-0-31cf88dc0f53239b680412ecd80a59be)
输出信息表示,此时变量A、B、C的值均为布尔值False,具有相同的数据类型:布尔类型。
提示:同时为多个变量赋给同一个值时,这些变量具有相同的值,数据类型也相同。
3. 同步赋值
同步赋值是同时为多个变量进行赋值的,但每个变量都可以有不同的数值。这种形式等同于多个单一赋值的组合,格式如图4.3所示。其中,变量与变量之间、数据值与数据值之间使用逗号进行分隔。图中为3个变量分别赋给了数据值1、数据值2和数据值3。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-83-1.jpg?sign=1739391840-XkUrOMqADuLBFlum90vFZzqAJsrea3D5-0-cc2c0d7fc06d1a11fc26e793b9c6b47c)
图4.3 同步赋值
【实例4-3】下面演示为多个变量同时赋给不同的值,并查看这些变量的值。
(1)为变量A、B、C同时赋值,依次赋值为整数60、浮点数60.8和字符串“80.6”,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-83-2.jpg?sign=1739391840-GZDZULc5tTeHBvZSewE9ADZOoVzU0XyR-0-e993cb6f28b572313f37dcb9d50819e4)
输出信息表示,变量A的值为整数60,数据类型为整数类型;变量B的值为浮点数60.8,数据类型为浮点数类型;变量C的值为字符串“80.6”,数据类型为字符串类型。
(2)这里将要赋的值顺序进行颠倒,为变量A、B、C同时赋值,依次赋值为字符串“80.6”、整数60和浮点数60.8,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-83-3.jpg?sign=1739391840-KF9Uplut8xmuXneVaBTix73WPrvtpcrJ-0-8d787a527e831bd01568d4a59f6a18dd)
输出信息表示,变量A的值为字符串“80.6”,数据类型为字符串类型;变量B的值为整数60,数据类型为整数类型;变量C的值为浮点数60.8,数据类型为浮点数类型。
提示:同时为多个变量赋给不同的值时,需要注意顺序关系。
4.1.2 外部赋值
有些变量需要根据用户的输入进行赋值。这样的赋值称为外部赋值。例如,某个程序需要处理用户输入的信息。当程序运行时,需要等待用户的输入,然后才能进行后续处理。在这种情况下,无论用户输入的信息是何种数据类型,程序获取的都是字符串。所以,为了便于后续处理,程序员需要对数据进行额外处理,以获取正确类型的数据。
1. 字符串类型赋值
字符串类型赋值是指将一个字符串类型的输入信息作为要赋的值,赋值给变量,那么这个变量类型就是字符串类型的变量。在前面讲到的输入函数input()就可以将用户的输入信息变为字符串类型。因此,可以通过input()为变量进行赋值。格式如图4.4所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-84-1.jpg?sign=1739391840-HA8nngPN7TzkdAuXGXs9TTQVBvwZejPd-0-3754c93cf39f37146d82d572ff4d9d99)
图4.4 字符串类型赋值
【实例4-4】下面演示通过用户的输入信息给变量A进行赋值,使变量为字符串类型。
(1)假如,用户输入的信息为整数60。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-84-2.jpg?sign=1739391840-EP4DXnGwUN0ujJ0UVNCDGMoQTz2qsSjI-0-efcc917d1bcb1a86eac9e8f0c3d2e22d)
输出信息表示,变量A的值为字符串“60”,数据类型为字符串类型。
(2)假如,用户输入的信息为浮点数60.8。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-84-3.jpg?sign=1739391840-FH537p9I1wdzkobscp7ZB2ajtua4pOYl-0-4e3bea0a43032e9f5c6c287930b2b8a4)
输出信息表示,变量A的值为字符串“60.8”,数据类型为字符串类型。
(3)假如,用户输入的信息为字符串“60”。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-84-4.jpg?sign=1739391840-mr2YoWSFWgYjZ6qh61ST3dF5GfyK2fbb-0-fa5bca061ac9de634624fb40945e6956)
输出信息表示,变量A的值为字符串“60”,数据类型为字符串类型。
(4)假如,用户输入的信息为布尔值True。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-85-1.jpg?sign=1739391840-sbd8PsNA8uYWc77xEZxSCZFwf1rM5fsD-0-43023cb2fd6495ee0c42aa5fc0214596)
输出信息表示,变量A的值为字符串“True”,数据类型为字符串类型。
提示:通过input()接收用户输入信息为变量进行赋值时,无论输入的数据为何种类型,复制后,变量始终是字符串类型。
2. 非字符串类型赋值
如果想使用用户的输入对变量赋值,并且赋值后变量的类型为非字符串类型,那么就需要借助eval()对input()的输入信息结果进行处理后再赋值。也就是将用户的输入转换为非字符串形式,然后再赋值给变量。格式如图4.5所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-85-2.jpg?sign=1739391840-q2otTG1zN8C0F8wuoGzKZDspjYHhxqYk-0-6a5126cea5d35a4170f3bea4755709ec)
图4.5 非字符串类型赋值
【实例4-5】下面演示通过用户的输入信息为变量A进行赋值,使变量为非字符串类型。
(1)假如,用户输入的信息为整数60。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-85-3.jpg?sign=1739391840-jEKPYk6bKlqBpslXykJUsAi9mWHmD4xW-0-48fc5e4f386ca81b05d7e0a9e60fd0a7)
输出信息表示,变量A的值为整数60,数据类型为整数类型。
(2)假如,用户输入的信息为浮点数60.8。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-85-4.jpg?sign=1739391840-oEFNYRaOATWovxRxBpUOcClMxMcVjrKH-0-c58ba90869a414696ccf664d0b05356b)
输出信息表示,变量A的值为浮点数60.8,数据类型为浮点数类型。
(3)假如,用户输入的信息为布尔值False。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-85-5.jpg?sign=1739391840-HmCFrbZrw0DQYJPwu4FtskW7OExbAtPf-0-31e0095c9fee01e34af720fdb96beceb)
输出信息表示,变量A的值为布尔值False,数据类型为布尔类型。
(4)假如,用户输入的信息为字符串“60”。进行赋值,代码如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-86-1.jpg?sign=1739391840-sXUq0bY7vIhXIQwrSJFOcrWzr693xgcc-0-72ff7645f188724e3e51547292cc28d3)
输出信息表示,变量A的值为字符串“60”,数据类型为字符串类型。
提示:通过eval(input())接收用户输入信息为变量进行赋值时,只要用户输入的信息为非字符串类型,变量的类型就与输入信息的类型一致。例如,输入的信息为浮点数类型,赋值后变量的类型就为字符串类型。