当前位置: 首页 > news >正文

Python星球日记 - 第2天:数据类型与变量

🌟引言

上一篇: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变量命名有以下规则

  • 必须以字母或下划线开头,后面可以跟字母、数字和下划线
  • 区分大小写ageAge是两个不同的变量
  • 不能使用Python关键字,如ifforwhile
  • 避免使用Python内置函数名,如printinput
# 有效的变量名
user_name = "小明"
age123 = 25
_count = 10

# 无效的变量名
123user = "小红"  # 不能以数字开头
my-name = "小刚"  # 不能使用连字符
if = "条件"       # 不能使用关键字

在这里插入图片描述

4. 变量命名建议

虽然技术上允许,但以下是一些变量命名的建议

  • 使用有意义的名称,如student_countsc更清晰
  • 使用小写字母和下划线分隔单词(蛇形命名法),如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.5

print(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)

布尔值表示逻辑状态,只有两个可能的值:TrueFalse

is_student = True
has_completed = False

print(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

  • 数值00.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_number
        print(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 = True
    
    while 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_number
            print(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计算已中断。")
            break
        except Exception as e:
            print(f"发生错误: {e}")

# 调用函数
calculate_sum_advanced()

在这里插入图片描述

这个进阶版本不仅处理了无效输入,还允许用户决定是否继续计算更多数字的和,同时也处理了键盘中断(如用户按下Ctrl+C)的情况。

总结与回顾

今天,我们学习了Python中的数据类型与变量,包括:

  1. 变量的概念和命名规则
  2. 常见数据类型:整数、浮点数、字符串和布尔值
  3. 类型转换方法和注意事项
  4. 实战练习:计算用户输入的两个数字之和

这些基础知识是Python编程的基石,掌握它们将帮助你更好地理解和使用Python进行编程。

思考题(欢迎在评论区给出你的回复)

  1. Python变量与其他编程语言(如C、Java)的变量有什么不同?

  2. 为什么0.1 + 0.2在Python中不精确等于0.3?如何解决这个问题?

  3. 尝试编写一个程序,接受用户输入的华氏温度,然后将其转换为摄氏温度。

下一步学习

在掌握了数据类型与变量的基础知识后,你可以进一步学习:

  • 更复杂的数据类型:列表、元组、字典、集合
  • 运算符和表达式
  • 条件语句和循环结构

让我们继续探索Python星球的奥秘!

创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
如果你对今天的内容有任何问题,或者想分享你的学习心得,欢迎在评论区留言讨论!

http://www.dtcms.com/a/109811.html

相关文章:

  • Android U 分屏——分割线相关
  • 基于ANSYS 概率设计和APDL编程的结构可靠性设计分析
  • mqtt封装与使用
  • 大模型面试题
  • SSL/TLS
  • 【系统架构设计师】系统架构评估中的重要概念
  • 几何法证明卡特兰数_栈混洗
  • 代码随想录|动态规划|21组合总和IV
  • 从零开始:使用Spring Boot和MyBatis实现CRUD操作全攻略
  • 25.Reactor
  • PHP代码审计-01
  • RAGFlow 知识库分段研究
  • 码界奇缘 Java 觉醒 第一章 命运的终端
  • 数据驱动防灾:AI 大模型在地质灾害应急决策中的关键作用。基于DeepSeek/ChatGPT的AI智能体开发
  • 关于inode,dentry结合软链接及硬链接的实验
  • 线性代数:分块矩阵,秩,齐次线性,非齐次线性的解相关经典例题
  • 带头结点 的单链表插入方法(头插法与尾插法)
  • 纪检委行业光盘安全隔离与数据摆渡应用方案
  • 笔记:背包问题总结
  • 【PHP】- 项目通用目录架构及示例demo
  • 【LLM之评测】AlignBench: Benchmarking Chinese Alignment of Large Language Models
  • Docker 常用指令速查
  • TDengine 重磅功能虚拟表
  • Spring Security(maven项目) 3.1.0
  • 青少年编程与数学 02-015 大学数学知识点 06课题、离散数学
  • Linux驱动开发进阶(三)- 热插拔机制
  • Scala基础知识
  • 数据结构学习
  • 混杂模式(Promiscuous Mode)与 Trunk 端口的区别详解
  • UEFI镜像结构布局