Python 数据类型与运算符

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将探索 Python 的基本数据类型和运算符。基于你在上一个实验中学到的知识,你将学习整数、浮点数、字符串和布尔值。你还将练习使用各种运算符进行计算和比较。这种动手实践将加深你对 Python 核心概念的理解,并为你完成更高级的编程任务做好准备。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") subgraph Lab Skills python/variables_data_types -.-> lab-393077{{"Python 数据类型与运算符"}} python/numeric_types -.-> lab-393077{{"Python 数据类型与运算符"}} python/strings -.-> lab-393077{{"Python 数据类型与运算符"}} python/booleans -.-> lab-393077{{"Python 数据类型与运算符"}} python/type_conversion -.-> lab-393077{{"Python 数据类型与运算符"}} end

理解数值数据类型

在这一步骤中,你将使用 Python 中的两种主要数值数据类型:整数和浮点数。

  1. 在终端中输入以下命令以打开 Python 解释器:

    python

    你应该会看到 Python 提示符(>>>),这表示你现在处于 Python 交互式 shell 中。

    Python 解释器
  2. 让我们从探索整数开始。在 Python 解释器中输入以下内容:

    >>> age = 25
    >>> print(f"I am {age} years old.")
    I am 25 years old.
    >>> type(age)
    <class 'int'>

    在这里,age 是一个整数变量。type() 函数确认它是一个 int(整数)数据类型。整数是没有小数点的整数。

  3. 现在,让我们使用浮点数:

    >>> height = 1.75
    >>> print(f"My height is {height} meters.")
    My height is 1.75 meters.
    >>> type(height)
    <class 'float'>

    height 是一个浮点数,由 Python 中的 float 数据类型表示。浮点数用于表示带有小数点的数字。

  4. 让我们使用这些数值类型进行计算:

    >>> weight = 70  ## 首先定义 weight
    >>> bmi = weight / (height ** 2)
    >>> print(f"My BMI is {bmi:.2f}")
    My BMI is 22.86

    在这里,我们首先定义了 weight** 运算符用于指数运算(求幂)。f-string 中的 .2f 将输出格式化为仅显示两位小数。

    # 在 Python 中用于注释。注释会被解释器忽略,用于记录代码。

如果你犯了错误或想尝试不同的值,不用担心!你可以简单地重新定义变量并再次运行计算。

使用字符串

在这一步骤中,你将学习如何使用字符串,字符串是 Python 中的字符序列。

  1. 在 Python 解释器中创建一个字符串变量:

    >>> name = "Alice"
    >>> print(f"Hello, {name}!")
    Hello, Alice!
    >>> type(name)
    <class 'str'>

    str 数据类型表示 Python 中的字符串。字符串可以用单引号('')或双引号("")括起来。

  2. 字符串支持多种操作。让我们探索一些操作:

    >>> ## 字符串连接(拼接字符串)
    >>> first_name = "John"
    >>> last_name = "Doe"
    >>> full_name = first_name + " " + last_name
    >>> print(full_name)
    John Doe
    
    >>> ## 字符串重复
    >>> echo = "Hello " * 3
    >>> print(echo)
    Hello Hello Hello
    
    >>> ## 字符串长度
    >>> print(len(full_name))
    8
    
    >>> ## 访问字符串中的字符
    >>> print(full_name[0])  ## 第一个字符(索引 0)
    J
    >>> print(full_name[-1])  ## 最后一个字符
    e

    记住,在 Python 中,索引从 0 开始,因此第一个字符的索引是 0。

  3. Python 中的字符串是不可变的,这意味着你不能更改单个字符。但是,你可以基于现有字符串创建新的字符串:

    >>> uppercase_name = full_name.upper()
    >>> print(uppercase_name)
    JOHN DOE
    
    >>> lowercase_name = full_name.lower()
    >>> print(lowercase_name)
    john doe

    这些方法不会改变原始字符串,而是创建新的字符串。

理解布尔值和比较运算符

在这一步骤中,你将学习布尔值以及如何在 Python 中使用比较运算符。

  1. Python 中的布尔值要么是 True,要么是 False。让我们创建一些布尔变量:

    >>> is_student = True
    >>> is_employed = False
    >>> print(f"Is a student: {is_student}")
    Is a student: True
    >>> print(f"Is employed: {is_employed}")
    Is employed: False
    >>> type(is_student)
    <class 'bool'>

    布尔值通常用于条件语句和循环中,你将在未来的实验中学习这些内容。

  2. 比较运算符返回布尔值。让我们探索一些比较操作:

    >>> x = 5
    >>> y = 10
    >>> print(x < y)   ## 小于
    True
    >>> print(x > y)   ## 大于
    False
    >>> print(x == y)  ## 等于
    False
    >>> print(x != y)  ## 不等于
    True
    >>> print(x <= y)  ## 小于或等于
    True
    >>> print(x >= y)  ## 大于或等于
    False

    这些运算符比较值并根据比较结果返回 TrueFalse

  3. 你也可以将比较运算符用于其他数据类型:

    >>> name1 = "Alice"
    >>> name2 = "Bob"
    >>> print(name1 < name2)  ## 字母顺序比较
    True
    
    >>> print(len(name1) == len(name2))  ## 比较字符串长度
    False

    在比较字符串时,Python 使用字典顺序(lexicographic ordering)。

  4. 布尔运算符(andornot)可以用于组合布尔值:

    >>> a = True
    >>> b = False
    >>> print(a and b)  ## 如果两者都为 True,则返回 True
    False
    >>> print(a or b)   ## 如果至少一个为 True,则返回 True
    True
    >>> print(not a)    ## 取反
    False

    这些运算符在程序中用于创建复杂的条件非常有用。

探索类型转换

在这一步骤中,你将学习如何在 Python 中转换不同的数据类型。

  1. 有时你需要将一种数据类型转换为另一种。Python 提供了内置函数来实现这一目的。让我们从将字符串转换为数字开始:

    >>> ## 将字符串转换为整数
    >>> age_str = "25"
    >>> age_int = int(age_str)
    >>> print(f"Age: {age_int}")
    Age: 25
    >>> print(type(age_int))
    <class 'int'>
    
    >>> ## 将字符串转换为浮点数
    >>> height_str = "1.75"
    >>> height_float = float(height_str)
    >>> print(f"Height: {height_float} meters")
    Height: 1.75 meters
    >>> print(type(height_float))
    <class 'float'>

    int()float() 函数分别将字符串转换为整数和浮点数。注意:如果字符串无法转换,你会得到一个错误。

  2. 你也可以将数字转换为字符串:

    >>> ## 将整数转换为字符串
    >>> count = 42
    >>> count_str = str(count)
    >>> print(f"The count is: {count_str}")
    The count is: 42
    >>> print(type(count_str))
    <class 'str'>
    
    >>> ## 将浮点数转换为字符串
    >>> pi = 3.14159
    >>> pi_str = str(pi)
    >>> print(f"Pi is approximately {pi_str}")
    Pi is approximately 3.14159
    >>> print(type(pi_str))
    <class 'str'>

    str() 函数可以将大多数 Python 对象转换为字符串。

  3. 布尔值可以与其他类型相互转换:

    >>> ## 转换为布尔值
    >>> print(bool(1))     ## 非零数字为 True
    True
    >>> print(bool(0))     ## 零为 False
    False
    >>> print(bool(""))    ## 空字符串为 False
    False
    >>> print(bool("Hello"))  ## 非空字符串为 True
    True
    
    >>> ## 将布尔值转换为整数
    >>> true_int = int(True)
    >>> false_int = int(False)
    >>> print(f"True as integer: {true_int}")
    True as integer: 1
    >>> print(f"False as integer: {false_int}")
    False as integer: 0

    在 Python 中,任何非零数字或非空字符串在转换为布尔值时都被视为 True

综合应用

在这最后一步中,你将创建一个简单的程序,利用你在本实验中学到的概念。

  1. 通过输入 exit() 或按下 Ctrl+D 退出 Python 解释器。

  2. 切换到 LabEx VM 中的 WebIDE 标签页。WebIDE 是一个在线代码编辑器,允许你直接在浏览器中编写和运行 Python 脚本。它适用于较长的脚本和项目。

    WebIDE 在线代码编辑器
  3. 使用以下命令在 ~/project 目录中创建一个名为 data_types_practice.py 的新文件:

    touch ~/project/data_types_practice.py
  4. 点击新创建的文件以在编辑器中打开它。

  5. 将以下代码复制并粘贴到文件中:

    ## 数据类型和运算符练习
    
    ## 获取用户输入
    name = input("Enter your name: ")
    age_str = input("Enter your age: ")
    height_str = input("Enter your height in meters: ")
    
    ## 将输入转换为适当的类型
    age = int(age_str)
    height = float(height_str)
    
    ## 执行计算
    ## 你可能需要将年份改为当前年份
    birth_year = 2025 - age
    is_adult = age >= 18
    
    ## 创建输出字符串
    output = f"""
    Name: {name}
    Age: {age}
    Height: {height:.2f} meters
    Birth Year: {birth_year}
    Is Adult: {is_adult}
    """
    
    ## 打印结果
    print(output)
    
    ## 额外功能:字符串操作
    uppercase_name = name.upper()
    name_length = len(name)
    
    print(f"Your name in uppercase: {uppercase_name}")
    print(f"Your name has {name_length} characters")

    该程序展示了各种数据类型的使用、类型转换、字符串格式化和基本计算。

  6. 保存文件(自动保存已启用)并使用以下命令运行它:

    python ~/project/data_types_practice.py
  7. 在提示时输入你的信息。你应该会看到类似以下的输出:

    Enter your name: Alice
    Enter your age: 25
    Enter your height in meters: 1.75
    
    Name: Alice
    Age: 25
    Height: 1.75 meters
    Birth Year: 1999
    Is Adult: True
    
    Your name in uppercase: ALICE
    Your name has 5 characters
    程序输出示例

如果你在输入数据时出错,你需要重新运行程序。这是一个练习多次运行 Python 脚本并使用不同输入的好机会。

总结

在本实验中,你探索了 Python 的基本数据类型和运算符。你学习了如何使用整数、浮点数、字符串和布尔值。你练习了使用各种运算符进行计算和比较,并获得了类型转换的经验。最后,你将这些概念应用到一个简单的程序中,该程序接收用户输入、处理数据并生成格式化的输出。

这些技能构成了 Python 编程的基础,随着你继续开发更复杂的程序,它们将变得至关重要。请记住定期练习这些概念,以巩固你的理解,并更加熟悉 Python 的语法和数据处理。

在继续学习的过程中,不要犹豫去尝试 Python 解释器。它是一个测试小段代码和理解不同操作如何工作的绝佳工具。如果你遇到任何错误,请仔细阅读错误信息——它们通常会提供关于问题所在以及如何修复的线索。