前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python 变量的基本使用

Python 变量的基本使用

作者头像
忆想不到的晖
发布2021-12-06 20:10:15
发布2021-12-06 20:10:15
84500
代码可运行
举报
文章被收录于专栏:huihui
运行总次数:0
代码可运行

引言

程序就是用来处理数据的,而变量就是用来存储数据的

一、变量定义

  • 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建
  • 等号 = 用来给变量赋值
    • = 左边是一个变量名
    • = 右边是存储在变量中的值
代码语言:javascript
代码运行次数:0
复制
name = 'hui'

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

1)变量演练1 —— IPython

代码语言:javascript
代码运行次数:0
复制
In [1]: name = 'hui'

In [2]: name
Out[2]: 'hui'

In [3]: age = 21

In [4]: age
Out[4]: 21

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

2)变量演练 2 —— PyCharm

代码语言:javascript
代码运行次数:0
复制
name = "hui"

age = 21

print(name)
print(age)

使用解释器执行,如果要输出变量的内容,必须要要使用 print 函数

3)变量演练 3 —— 超市买猪肉

  • 可以用 其他变量的计算结果 来定义变量
  • 变量定义之后,后续就可以直接使用了

需求

  • 猪肉的价格是 50 元 / 公斤
  • 买了 1.5 公斤 猪肉
  • 计算付款金额
代码语言:javascript
代码运行次数:0
复制
# 定义猪肉价格变量
price = 50

# 定义购买重量 /kg
weight = 1.5

# 计算金额
money = price * weight

print(money)	# 75.0

# 老板太好了,给我们减了5元
money = money - 5

问答时刻 Question and Answer

Q: 上述代码中,一共定义有几个变量?

A: 三个:priceweightmoney

Q: money = money - 5 是在定义新的变量还是在使用变量?

A:

  • 变量名 只有在 第一次出现 才是 定义变量
  • 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量

Q: 在程序开发中,可以修改之前定义变量中保存的值吗?

A:

  • 可以
  • 变量中存储的值,就是可以

二、 变量的类型

在内存中创建一个变量,会包括:

  1. 变量的名称
  2. 变量保存的数据
  3. 变量存储数据的类型
  4. 变量的地址

1)变量类型的演练 —— 个人信息

需求

  • 定义变量保存小汪的个人信息
  • 姓名:小汪
  • 年龄:21
  • 性别:男生
  • 身高:1.63
  • 体重:58 公斤
代码语言:javascript
代码运行次数:0
复制
In [16]: name = '小汪'

In [17]: age = 21

In [18]: sex = True

In [19]: height = 1.63

In [20]: weight = 58

In [21]: type(name)
Out[21]: str

In [22]: type(age)
Out[22]: int

In [23]: type(height)
Out[23]: float

In [24]: type(weight)
Out[24]: int

利用 type() 函数可以确认变量中保存数据的类型

问答时刻

Q: 在演练中,一共有几种数据类型?

A:

  • 4 种
  • str —— 字符串
  • bool —— 布尔(真假)
  • int —— 整数
  • float —— 浮点数(小数)

Q:Python 中定义变量时需要指定类型吗?

A:

  • 不需要
  • Python 可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型

2)变量的类型

Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要) 数据类型可以分为 数字型非数字型

数字型
  • 整型 (int)
  • 浮点型(float
  • 布尔型(bool
    • True —— 非零即真
    • False 0
  • 复数型 (complex)
    • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
非数字型
  • 字符串
  • 列表
  • 元组
  • 字典

三、不同类型变量之间的计算

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

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

IPython 测验

代码语言:javascript
代码运行次数:0
复制
In [31]: a = 10

In [32]: b = 3.14

In [33]: c = True

In [34]: d = False

In [35]: a + b
Out[35]: 13.14

In [36]: a + c
Out[36]: 11

In [37]: a + d
Out[37]: 10

In [38]: c + d
Out[38]: 1

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

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

代码语言:javascript
代码运行次数:0
复制
In [1]: first_name = "张"

In [2]: last_name = "三"

In [3]: first_name + last_name
Out[3]: '张三'

3)字符串变量使用 * 重复拼接相同的字符串

代码语言:javascript
代码运行次数:0
复制
In [1]: "-" * 50
Out[1]: '--------------------------------------------------'

4)数字型变量和字符串之间不能进行的计算

代码语言:javascript
代码运行次数:0
复制
In [40]: name = 'hui'

In [41]: age = 21

In [42]: name + age
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-42-977d5c2bd9b9> in <module>
----> 1 name + age

TypeError: can only concatenate str (not "int") to str

类型错误:仅支持 str类型与str类型进行连接

四、变量类型之间的转换

方法

描述

int(x)

把 x 转换成 int 类型(整数)

float(x)

把 x 转换成 float 类型(浮点数)

str(x)

把 x 转换成 str 类型(字符串)

1)转字符串 str

代码语言:javascript
代码运行次数:0
复制
In [61]: name = 'hui'

In [62]: age = 21

In [63]: sex = True

In [64]: height = 1.75

In [65]: type(name), type(age), type(sex), type(height)
Out[65]: (str, int, bool, float)

In [71]: name = str(name)

In [72]: age = str(age)

In [73]: sex = str(sex)

In [74]: height = str(height)

In [75]: name, age, sex, height
Out[75]: ('hui', '21', 'True', '1.75')

In [76]: type(name), type(age), type(sex), type(height)
Out[76]: (str, str, str, str)

2)转整数 int

代码语言:javascript
代码运行次数:0
复制
In [86]: age = '21'

In [87]: height = 1.75

In [88]: sex = True

In [89]: int(age)
Out[89]: 21

In [90]: int(height)
Out[90]: 1

In [91]: int(sex)
Out[91]: 1

In [92]: flag = False

In [93]: int(flag)
Out[93]: 0

In [94]: name = 'hui'

In [95]: int(name)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-95-f75bcf899621> in <module>
----> 1 int(name)

ValueError: invalid literal for int() with base 10: 'hui'    

浮点数转成 int 时都是 向下取整,例如:int(3.14) -> 3, int(9.99) -> 9 字符串只有是整数的形式才可以转成 int

3)转浮点数 float

代码语言:javascript
代码运行次数:0
复制
In [97]: age = 21

In [98]: sex = True

In [99]: flag = False

In [100]: float(age)
Out[100]: 21.0

In [101]: float(sex)
Out[101]: 1.0

In [102]: float(flag)
Out[102]: 0.0

In [103]: name = 'hui'

In [104]: num = '3.14'

In [105]: float(num)
Out[105]: 3.14

In [106]: num = '10'

In [107]: float(num)
Out[107]: 10.0

In [108]: float(name)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-108-8e2822995b26> in <module>
----> 1 float(name)

ValueError: could not convert string to float: 'hui'

要是数字形式的字符串,才可以转换成 float 浮点数型

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 一、变量定义
    • 1)变量演练1 —— IPython
    • 2)变量演练 2 —— PyCharm
    • 3)变量演练 3 —— 超市买猪肉
  • 二、 变量的类型
    • 1)变量类型的演练 —— 个人信息
    • 2)变量的类型
      • 数字型
      • 非数字型
  • 三、不同类型变量之间的计算
    • 1)数字型变量之间可以直接计算
    • 2)字符串变量之间使用 + 拼接字符串
    • 3)字符串变量使用 * 重复拼接相同的字符串
    • 4)数字型变量和字符串之间不能进行的计算
  • 四、变量类型之间的转换
    • 1)转字符串 str
    • 2)转整数 int
    • 3)转浮点数 float
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档