入门 Python 语言:变量与数据类型
目录
✨前言✨
本系列文章目的在于将 Python 的基础内容完全夯实,最终目的是为后期的深度学习在算法上有一定的铺垫,前期在学习数学的过程中也会有很大的帮助,相对于 C++ 来说 Python 有自身的优势,文末会有 Python 的优势对比于 C++ 的维度点说明,我已经先写过 C++的基础使用 了,两种语言各自有各自的优势,我们要根据具体的需求来分析使用哪种语言更为方便,其它的语言暂时不在考虑范畴之内,我们的目标是AI深度学习。
前置环境与代码结构文章:
📚本篇目标
本篇博客旨在帮助初学者快速入门 Python 语言,重点介绍 Python 中的变量与数据类型相关知识。通过学习,你将掌握变量的定义、命名规则、赋值与修改方法,了解 Python 中常见的基本数据类型,如整数、浮点数、字符串、布尔值和空值,并学会进行数据类型之间的转换。同时,通过练习题的巩固,加深对这些知识点的理解和运用。
🔥重难点说明
重点
- 理解变量的概念,掌握变量的定义、命名规则和赋值修改操作。
- 熟悉 Python 中各种基本数据类型的特点和用途。
- 学会使用数据类型转换函数进行不同类型数据之间的转换。
难点
- 正确区分不同数据类型在内存中的存储方式和使用场景。
- 理解数据类型转换的原理和规则,避免因类型转换不当导致的错误。
📖学习正文
变量定义与使用
在 Python 中,变量是存储数据的容器。可以通过赋值的方式来定义一个变量,例如:
# 定义一个整数变量
age = 25
# 定义一个字符串变量
name = "John"
定义好变量后,就可以使用变量名来访问和操作存储在其中的数据。
变量命名规则
Python 中的变量命名需要遵循一定的规则:
- 变量名只能包含字母、数字和下划线。
- 变量名不能以数字开头。
- 变量名不能是 Python 的关键字,如 if、else、for 等。
- 变量名应该具有描述性,能够清晰地表达变量所存储的数据的含义。
变量赋值与修改
变量赋值是将一个值存储到变量中的过程。可以使用赋值运算符 =
来进行赋值操作。例如:
# 赋值操作
x = 10
# 修改变量的值
x = 20
基本数据类型
整数(int)
整数是 Python 中最基本的数据类型之一,用于表示整数数值。例如:
num1 = 10
num2 = -5
浮点数(float)
浮点数用于表示带有小数部分的数值。例如:
pi = 3.14
price = 9.99
字符串(str)
字符串是由一系列字符组成的序列,可以使用单引号、双引号或三引号来表示。例如:
message1 = 'Hello, World!'
message2 = "Python is great!"
message3 = '''This is a multi-line string.
It can span multiple lines.'''
布尔值(bool)
布尔值只有两个取值:True 和 False,用于表示逻辑真和逻辑假。例如:
is_valid = True
is_empty = False
空值(None)
空值 None 表示没有值,通常用于初始化变量或表示函数没有返回值。例如:
result = None
数据类型转换
在 Python 中,可以使用一些内置函数来进行数据类型的转换。常见的类型转换函数有:
- int():将其他类型的数据转换为整数。
- float():将其他类型的数据转换为浮点数。
- str():将其他类型的数据转换为字符串。
- bool():将其他类型的数据转换为布尔值。
# 将字符串转换为整数
num_str = "123"
num_int = int(num_str)
# 将整数转换为浮点数
num_float = float(num_int)
# 将浮点数转换为字符串
float_str = str(num_float)
# 将整数转换为布尔值
bool_value = bool(num_int)
💻练习题
单选题-5
-
以下哪个变量名是合法的?
A. 123abc
B. if
C. _name
D. my-name -
执行以下代码后,变量
x
的值是多少?x = 5 x = x + 3
A. 5
B. 3
C. 8
D. 15 -
以下哪个是 Python 中表示字符串的正确方式?
A. 123
B. True
C. "Hello"
D. None -
将字符串 "3.14" 转换为浮点数,应该使用哪个函数?
A. int ()
B. float ()
C. str ()
D. bool () -
布尔值 False 转换为整数的结果是?
A. 0
B. 1
C. -1
D. 2
多选题-3
-
以下哪些是 Python 中的基本数据类型?
A. 整数(int)
B. 浮点数(float)
C. 字符串(str)
D. 布尔值(bool) -
以下哪些变量名是符合 Python 命名规则的?
A. my_variable
B. 2nd_variable
C. _secret
D. class -
数据类型转换函数中,以下哪些是正确的?
A. int ("10")
B. float ("3.14")
C. str (123)
D. bool (0)
判断题-2
- Python 中的变量名可以使用中文。( )
- 布尔值 True 转换为整数的结果是 0。( )
代码题-1
编写一个 Python 程序,实现将一个整数和一个浮点数相加,并将结果转换为字符串输出。
📝答案解析
单选题
- 答案:C
- 选项 A 以数字开头,不符合变量命名规则;选项 B 是 Python 的关键字,不能作为变量名;选项 D 中包含连字符
-
,不合法;选项 C 以下划线开头,后面跟字母,是合法的变量名。
- 选项 A 以数字开头,不符合变量命名规则;选项 B 是 Python 的关键字,不能作为变量名;选项 D 中包含连字符
- 答案:C
- 首先将 5 赋值给变量 x,然后执行 x = x + 3,即 x = 5 + 3,结果为 8。
- 答案:C
- 选项 A 是整数;选项 B 是布尔值;选项 D 是空值;选项 C 用双引号括起来的是字符串。
- 答案:B
- float() 函数用于将其他类型的数据转换为浮点数,所以将字符串 "3.14" 转换为浮点数应使用 float() 函数。
- 答案:A
- 布尔值 False 转换为整数的结果是 0,True 转换为整数的结果是 1。
多选题
- 答案:ABCD
- 整数(int)、浮点数(float)、字符串(str)和布尔值(bool)都是 Python 中的基本数据类型。
- 答案:AC
- 选项 B 以数字开头,不符合命名规则;选项 D 是 Python 的关键字,不能作为变量名;选项 A 和 C 符合变量命名规则。
- 答案:ABCD
- int("10") 可以将字符串 "10" 转换为整数 10;float("3.14") 可以将字符串 "3.14" 转换为浮点数 3.14;str(123) 可以将整数 123 转换为字符串 "123";bool(0) 可以将整数 0 转换为布尔值 False。
判断题
- 答案:正确
- Python 3 支持使用中文作为变量名,但不建议这样做,因为可能会影响代码的可读性。
- 答案:错误
- 布尔值 True 转换为整数的结果是 1,False 转换为整数的结果是 0。
代码题
# 定义一个整数和一个浮点数
num1 = 5
num2 = 3.14
# 相加
result = num1 + num2
# 转换为字符串并输出
result_str = str(result)
print(result_str)
总结
通过本篇博客的学习,我们了解了 Python 中变量的定义、命名规则、赋值与修改方法,掌握了 Python 中常见的基本数据类型,包括整数、浮点数、字符串、布尔值和空值,以及数据类型之间的转换方法。通过练习题的巩固,我们进一步加深了对这些知识点的理解和运用。希望这些内容能帮助你顺利入门 Python 语言,为后续的学习打下坚实的基础。
Python的优势对比于 C++ 的维度点说明
对比维度 | Python 优势 | C++ 情况 |
---|---|---|
性能效率 | 1. 开发效率高:代码简洁,语法灵活,能够用较少的代码实现相同的功能,缩短开发周期。 2. 有高性能库支持:对于计算密集型任务,可以使用如 NumPy、Pandas 等高性能库,它们底层使用 C 或 Fortran 实现,能在一定程度上弥补 Python 执行速度慢的问题。 | 1. 开发效率低:代码相对冗长,需要编写更多的代码来实现相同功能,开发周期较长。 2. 开发难度大:需要手动管理内存,容易出现内存泄漏等问题,对开发者要求较高。 |
底层控制能力 | 1. 代码编写简单快速:无需关注底层硬件细节,能让开发者更专注于业务逻辑的实现,快速搭建应用原型。 2. 适合快速迭代开发:在应用开发过程中,能够快速对代码进行修改和调整,适应不断变化的需求。 | 1. 代码编写复杂:需要对底层硬件有深入了解,编写代码时要处理很多底层细节,开发难度大。 2. 开发周期长:由于需要关注底层,代码的修改和调整相对困难,不适合快速迭代开发。 |
语言特性 | 1. 语法简洁易懂:代码可读性高,易于学习和上手,降低了编程门槛,适合初学者。 2. 动态类型灵活:在编写代码时无需提前声明变量类型,能够根据需要灵活赋值,提高了代码的编写效率。 | 1. 语法复杂:学习成本较高,对于初学者来说有一定难度。 2. 静态类型不够灵活:在编写代码时需要提前声明变量类型,不够灵活,修改代码时可能需要对类型进行调整。 |
可移植性 | 1. 跨平台部署方便:只要安装了相应的 Python 解释器,代码可以在不同操作系统上轻松运行,无需重新编译。 2. 云服务支持好:很多云服务平台都提供了 Python 运行环境,方便将 Python 应用部署到云端。 | 1. 跨平台编译麻烦:不同操作系统的编译器和运行时环境可能存在差异,需要针对不同平台进行编译和调试。 2. 云服务集成复杂:将 C++ 应用部署到云服务平台时,需要处理更多的底层配置和依赖问题。 |
生态系统和工具链 | 1. 库丰富且易用:拥有大量的开源库和框架,涵盖了数据分析、机器学习、Web 开发等多个领域,能够快速实现各种功能。 2. 社区活跃:有庞大的开发者社区,遇到问题可以很容易找到解决方案和技术支持。 | 1. 库学习成本高:虽然有很多专业级库,但部分库的学习曲线较陡,使用起来有一定难度。 2. 社区相对较小:相比 Python 社区,C++ 社区规模相对较小,获取技术支持和解决方案的渠道相对较少。 |
安全性和稳定性 | 1. 内置安全机制:有一些内置的安全机制,如异常处理机制,能够在程序出现错误时进行捕获和处理,避免程序崩溃。 2. 代码审查相对容易:简洁的语法和动态类型使得代码结构相对简单,在代码审查时更容易发现问题。 | 1. 手动管理易出错:手动管理内存和资源容易出现错误,如内存泄漏、悬空指针等,影响程序的稳定性和安全性。 2. 代码审查复杂:由于语法复杂,代码结构可能比较复杂,在代码审查时需要花费更多的时间和精力。 |