🌟引言:
上一篇:Python星球日记 - 第1天:欢迎来到Python星球
名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波·莫听穿林打叶声》
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
目录
- 一、变量的概念与命名规则
- 1. 什么是变量?
- 2. 变量的工作原理
- 3. 变量命名规则
- 4. 变量命名建议
- 二、常见数据类型
- 1. 整数 (int)
- 2. 浮点数 (float)
- 3. 字符串 (str)
- 4. 布尔值 (bool)
- 三、类型转换
- 1. 常用类型转换函数
- 2. 字符串与数值之间的转换
- 3. 布尔值转换规则
- 4. 类型转换注意事项
- 四、实战练习:计算用户输入的两个数字之和
- 1. 基本版本
- 2. 增强版本(带异常处理)
- 3. 进阶版本(循环输入)
- 总结与回顾
- 思考题(欢迎在评论区给出你的回复)
- 下一步学习
更多硬核知识,请关注我、订阅专栏《 Python星球日记》,内容持续更新中…
专栏介绍: Python星球日记专栏介绍(持续更新ing)
欢迎来到Python星球的第二天!
今天我们将深入探索Python中的 数据类型与变量,这是构建任何Python程序的基础。
一、变量的概念与命名规则
1. 什么是变量?
在Python中,变量是存储数据的容器。想象变量就像一个贴有标签的盒子,盒子里可以放入不同类型的物品(数据),而标签(变量名)让我们能够找到并使用这些数据。
# 创建一个变量
message = "欢迎来到Python星球"
在上面的例子中,message
是变量名,"欢迎来到Python星球"
是存储在这个变量中的数据。
2. 变量的工作原理
当我们创建变量时,Python 会在内存中分配一块空间存储数据,并将变量名与这块内存空间关联起来。
3. 变量命名规则
Python变量命名有以下规则:
- 必须以字母或下划线开头,后面可以跟字母、数字和下划线
- 区分大小写:
age
和Age
是两个不同的变量 - 不能使用Python关键字,如
if
、for
、while
等 - 避免使用Python内置函数名,如
print
、input
等
# 有效的变量名
user_name = "小明"
age123 = 25
_count = 10# 无效的变量名
123user = "小红" # 不能以数字开头
my-name = "小刚" # 不能使用连字符
if = "条件" # 不能使用关键字
4. 变量命名建议
虽然技术上允许,但以下是一些变量命名的建议:
- 使用有意义的名称,如
student_count
比sc
更清晰 - 使用小写字母和下划线分隔单词(蛇形命名法),如
first_name
- 保持一致的命名风格
- 避免过长的变量名,但也不要过于简短以至于失去描述性
二、常见数据类型
Python是一种动态类型语言,这意味着 变量 可以 存储不同类型的数据,而不需要提前声明类型。
1. 整数 (int)
整数是没有小数部分的数字,可以是正数、负数或零。
age = 25
temperature = -10
count = 0# 查看数据类型
print(type(age)) # 输出: <class 'int'>
Python整数理论上可以是任意大小,只受限于可用内存。
2. 浮点数 (float)
浮点数是带有小数部分的数字。
pi = 3.14159
height = 1.75
negative_float = -0.5print(type(pi)) # 输出: <class 'float'>
浮点数在计算机中的表示方式可能导致一些精度问题。例如:
print(0.1 + 0.2) # 输出: 0.30000000000000004 而不是0.3
对于需要精确计算的场景(如金融计算),可以使用Python的decimal
模块。
3. 字符串 (str)
字符串是一系列字符的序列,在Python中使用单引号'
或双引号"
括起来的文本。
name = "Python星球"
message = '第2天:数据类型与变量'
empty_string = ""print(type(name)) # 输出: <class 'str'>
Python还支持使用三引号创建多行字符串:
multi_line = """这是第一行
这是第二行
这是第三行"""
字符串支持许多操作,如连接、切片、格式化等:
name = "Python星球"
message = '第2天:数据类型与变量'# 字符串连接
greeting = "你好," + name # 结果: "你好,Python星球"
print(greeting)# 字符串切片
first_three = name[0:3] # 结果: "Pyt"
print(first_three)# 字符串格式化
formatted = f"{name}的第2天学习内容是{message}" # 结果:"Python星球的第2天学习内容是第2天:数据类型与变量"
print(formatted)
4. 布尔值 (bool)
布尔值表示逻辑状态,只有两个可能的值:True
和False
。
is_student = True
has_completed = Falseprint(type(is_student)) # 输出: <class 'bool'>
布尔值主要用于条件判断和逻辑运算:
is_student = True
has_completed = False# 条件判断
if is_student:print("这是一个学生")# 逻辑运算
is_eligible = is_student and not has_completed
print("是否符合资格:", is_eligible) # 输出: 是否符合资格: True
三、类型转换
在Python中,我们经常需要将一种数据类型转换为另一种数据类型,这称为类型转换。
1. 常用类型转换函数
Python提供了一系列内置函数用于类型转换:
2. 字符串与数值之间的转换
1️⃣字符串转数值
# 字符串转整数
num_str = "42"
num_int = int(num_str) # 结果: 42 (整数)
print(num_int)# 字符串转浮点数
pi_str = "3.14159"
pi_float = float(pi_str) # 结果: 3.14159 (浮点数)
print(pi_float)
2️⃣数值转字符串
# 整数转字符串
age = 25
age_str = str(age) # 结果: "25" (字符串)
print(age_str)# 浮点数转字符串
height = 1.75
height_str = str(height) # 结果: "1.75" (字符串)
print(height_str)
3. 布尔值转换规则
将其他类型转换为布尔值时,以下值会被视为False
:
- 数值
0
和0.0
- 空字符串
""
- 空列表
[]
、空元组()
、空字典{}
等 - 特殊值
None
其他所有值都会被视为True
。
# 数值转布尔值
print(bool(0)) # False
print(bool(42)) # True
print(bool(-3.14)) # True# 字符串转布尔值
print(bool("")) # False
print(bool("Hello")) # True# None转布尔值
print(bool(None)) # False
4. 类型转换注意事项
不是所有的转换都是可行的。例如,尝试将非数字的字符串转换为数值类型会引发错误:
# 这将引发错误
int("Hello") # ValueError: invalid literal for int() with base 10: 'Hello'
在进行类型转换时,特别是处理用户输入时,应该使用异常处理来捕获可能的错误:
try:user_input = input("请输入一个数字: ")number = int(user_input)print(f"您输入的数字是: {number}")
except ValueError:print("输入无效,请输入一个有效的数字。")
四、实战练习:计算用户输入的两个数字之和
现在,让我们将所学知识应用到一个简单的实战练习中:计算用户输入的两个数字之和。
1. 基本版本
首先,让我们实现一个简单的两数之和计算程序:
# 获取用户输入
first_number_str = input("请输入第一个数字: ")
second_number_str = input("请输入第二个数字: ")# 转换为浮点数(允许用户输入整数或小数)
first_number = float(first_number_str)
second_number = float(second_number_str)# 计算和显示结果
sum_result = first_number + second_number
print(f"两个数字的和是: {sum_result}")
2. 增强版本(带异常处理)
现在,让我们增加异常处理来使程序更加健壮:
def calculate_sum():"""计算用户输入的两个数字之和"""try:# 获取用户输入first_number_str = input("请输入第一个数字: ")first_number = float(first_number_str)second_number_str = input("请输入第二个数字: ")second_number = float(second_number_str)# 计算和显示结果sum_result = first_number + second_numberprint(f"两个数字的和是: {sum_result}")# 检查结果是否为整数,如果是则转换为整数显示if sum_result.is_integer():print(f"整数结果: {int(sum_result)}")except ValueError:print("输入无效,请确保输入的是有效的数字。")except Exception as e:print(f"发生错误: {e}")# 调用函数
calculate_sum()
3. 进阶版本(循环输入)
最后,让我们添加循环,允许用户连续计算多组数字的和:
def calculate_sum_advanced():"""高级版本:允许用户连续计算多组数字的和"""continue_calculation = Truewhile continue_calculation:try:# 获取用户输入first_number_str = input("\n请输入第一个数字: ")first_number = float(first_number_str)second_number_str = input("请输入第二个数字: ")second_number = float(second_number_str)# 计算和显示结果sum_result = first_number + second_numberprint(f"两个数字的和是: {sum_result}")# 检查结果是否为整数,如果是则转换为整数显示if sum_result.is_integer():print(f"整数结果: {int(sum_result)}")# 询问用户是否继续user_choice = input("\n是否继续计算?(y/n): ").lower()continue_calculation = user_choice == 'y' or user_choice == 'yes'except ValueError:print("输入无效,请确保输入的是有效的数字。")except KeyboardInterrupt:print("\n计算已中断。")breakexcept Exception as e:print(f"发生错误: {e}")# 调用函数
calculate_sum_advanced()
这个进阶版本不仅处理了无效输入,还允许用户决定是否继续计算更多数字的和,同时也处理了键盘中断(如用户按下Ctrl+C)的情况。
总结与回顾
今天,我们学习了Python中的数据类型与变量,包括:
- 变量的概念和命名规则
- 常见数据类型:整数、浮点数、字符串和布尔值
- 类型转换方法和注意事项
- 实战练习:计算用户输入的两个数字之和
这些基础知识是Python编程的基石,掌握它们将帮助你更好地理解和使用Python进行编程。
思考题(欢迎在评论区给出你的回复)
-
Python变量与其他编程语言(如C、Java)的变量有什么不同?
-
为什么
0.1 + 0.2
在Python中不精确等于0.3
?如何解决这个问题? -
尝试编写一个程序,接受用户输入的华氏温度,然后将其转换为摄氏温度。
下一步学习
在掌握了数据类型与变量的基础知识后,你可以进一步学习:
- 更复杂的数据类型:列表、元组、字典、集合
- 运算符和表达式
- 条件语句和循环结构
让我们继续探索Python星球的奥秘!
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
如果你对今天的内容有任何问题,或者想分享你的学习心得,欢迎在评论区留言讨论!