跟着查老四学Python Day 1:Python 基础

老猫:按照之前的计划,我们要开始第一周第一天的学习了,我准备好了,可以开始了吗,如果你就绪了,请把今天的日程列出来

查老四:当然可以!根据第一周第一天的学习计划,以下是今天的具体安排:

  1. 学习Python简介和发展历程 了解Python的发展历程,以及Python在不同领域的应用。了解Python的优缺点以及与其他编程语言的区别。

  2. 安装Python和配置开发环境 选择合适的Python版本(推荐使用Python 3.x)。可以选择使用Anaconda(包含许多常用的数据科学库)或直接安装Python。选择一个合适的IDE,例如:PyCharm、Visual Studio Code等。

  3. 学习基本数据类型 学习Python中的基本数据类型,包括整数、浮点数、字符串和布尔值。了解它们的特点和用法。

  4. 了解变量、运算符和基本输入输出操作 学习如何在Python中定义变量、使用基本运算符进行计算,以及进行基本的输入输出操作。

  5. 动手编写简单的Python程序 尝试编写一些简单的Python程序,熟悉开发环境和编程语法。例如,编写一个计算器程序,输入两个数字并返回它们的和、差、积和商。

现在,您可以开始学习Python编程了!如果在学习过程中遇到问题,请随时向我提问,我会竭诚帮助您。祝您学习顺利!


Python 简介和发展历程

老猫:请把第一节 Python简介和发展历程 的知识点列出

查老四:当然可以!以下是关于Python简介和发展历程的主要知识点:

  1. Python的发起人和创始人: Python是由荷兰人Guido van Rossum创建的。他在1989年圣诞节期间开始设计Python,最初的目的是为了打造一种易于阅读、易于编写的编程语言。

  2. Python的发展历程:

    • 1991年,Python 0.9.0发布,第一个公开发布的版本。
    • 1994年,Python 1.0发布,加入了函数式编程特性(如lambda、map、filter等)。
    • 2000年,Python 2.0发布,新增了内存回收机制和全新的解释器CPython。
    • 2008年,Python 3.0发布,此版本不完全兼容之前的Python 2.x版本,许多改进和新特性被引入,如新的print函数、新的字符串格式化方法等。
    • Python 3.x版本持续更新和改进,直至目前。
  3. Python的特点:

    • 可读性强:Python语法简洁明了,易于阅读和编写。
    • 易于学习:Python的语法规则相对较少,适合初学者入门。
    • 高级语言:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
    • 跨平台:Python支持多种操作系统,如Windows、Linux、macOS等。
    • 开源:Python是开源软件,拥有庞大的社区支持和丰富的第三方库。
    • 可扩展性:Python可以通过C、C++等语言进行扩展,提高程序性能。
  4. Python在不同领域的应用:

    • Web开发:例如使用Django、Flask等框架进行Web应用开发。
    • 数据科学:例如使用NumPy、Pandas、matplotlib等库进行数据处理、分析和可视化。
    • 人工智能与机器学习:例如使用TensorFlow、PyTorch、Scikit-learn等库进行机器学习和深度学习研究。
    • 自动化与脚本编写:例如使用Python编写各种自动化任务脚本。
    • 游戏开发:例如使用Pygame库进行游戏开发。
    • 网络爬虫:例如使用Requests、BeautifulSoup、Scrapy等库进行网络爬虫开发。

这些知识点将帮助您了解Python编程语言的背景、发展历程和应用领域。希望对您的学习有所帮助!


老猫:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,这句话怎么理解

查老四:这句话概括了Python编程语言的一些核心特点。下面我将为您解释这些特点:

  1. 解释型: Python是一种解释型语言,这意味着Python代码在运行时是由解释器逐行解释并执行的,而不是像编译型语言那样先编译成机器代码再执行。这使得Python在开发过程中具有较高的灵活性,可以快速地进行代码修改和测试。但与编译型语言相比,解释型语言的运行速度通常较慢。

  2. 面向对象: Python是一种面向对象的编程语言,这意味着它支持面向对象编程(OOP)的特性,如类、对象、继承、多态等。面向对象编程是一种编程范式,它强调将数据和操作数据的方法组织在一起,形成对象。这有助于更好地组织和管理代码,提高代码的可重用性和可维护性。

  3. 动态数据类型: Python是一种动态类型的编程语言,这意味着在编写代码时无需为变量显式指定数据类型。解释器会根据赋给变量的值自动推断其数据类型。这使得Python代码更简洁,易于编写和阅读。但在某些情况下,动态类型可能导致运行时错误,因为数据类型的错误在编译阶段无法发现。

  4. 高级程序设计语言: Python被称为高级程序设计语言,这意味着它具有许多抽象化的特性,使得程序员能够更专注于解决问题而非关注底层的硬件实现细节。高级语言通常具有更好的可读性、可维护性和可移植性。

综上所述,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它具有简洁的语法、易于学习和使用的特点,因此在众多领域得到了广泛的应用。


老猫:那 Python有那些缺点,或者说那些场景不适合 Python

查老四:尽管Python具有许多优点,但它在某些场景下可能并不是最佳选择。以下是一些Python的缺点以及可能不适合的场景:

  1. 运行速度慢: 由于Python是解释型语言,其执行速度相对于编译型语言(如C、C++等)较慢。因此,在对性能有较高要求的场景下,如高性能计算、实时系统等,Python可能不是最佳选择。

  2. 内存消耗较高: Python的动态类型和垃圾回收机制使其在内存管理方面相对较高。在对内存使用有严格要求的场景下,例如嵌入式系统开发,Python可能不是理想选择。

  3. 多线程支持受限: 由于Python的全局解释器锁(GIL)限制,Python在多线程编程中性能受限。这意味着在需要充分利用多核处理器的并发编程场景下,Python可能无法提供最佳性能。但请注意,Python在多进程和异步编程方面表现良好,这可以部分弥补多线程的不足。

  4. 移动端开发局限: 尽管Python在桌面应用和Web开发中表现出色,但在移动端开发(如iOS和Android应用)方面,Python并不是首选。对于移动端开发,原生技术(如Swift和Kotlin)或跨平台解决方案(如React Native和Flutter)可能是更好的选择。

  5. 游戏开发能力有限: 虽然有一些Python游戏开发库,如Pygame,但Python在大型、性能要求较高的游戏开发方面相对较弱。对于专业游戏开发,C++、C#(Unity引擎)等语言可能是更好的选择。

尽管如此,Python在许多领域仍具有很大的优势,如数据科学、人工智能、Web开发等。在选择编程语言时,了解不同语言的优缺点以及适用场景是很重要的。


安装 Python 和配置开发环境

老猫:好的,那么进入第二节的学习吧,安装Python和配置开发环境

查老四:很好!让我们开始学习如何安装Python和配置开发环境。这里,我们将分为两个部分进行介绍:安装Python和选择一个合适的集成开发环境(IDE)。

1. 安装Python

您可以根据自己的操作系统从Python官方网站下载并安装Python:https://www.python.org/downloads/

选择适合您操作系统的Python安装包(建议使用Python 3.x版本)。下载完成后,根据安装向导进行安装。在安装过程中,请注意选中"Add Python to PATH"选项,这将使您能够在命令行中直接运行Python。

除此之外,您还可以选择安装Anaconda。Anaconda是一个包含Python和许多常用数据科学库的发行版。通过安装Anaconda,您可以轻松地管理和使用这些库。您可以从Anaconda官方网站下载并安装:https://www.anaconda.com/products/distribution

2. 选择一个集成开发环境(IDE)

Python开发需要一个合适的IDE,以提高开发效率。以下是一些建议您使用的IDE:

  • PyCharm:这是一个非常受欢迎的专业Python IDE,由JetBrains公司开发。它具有丰富的功能,如代码自动完成、调试支持、版本控制集成等。PyCharm有免费的社区版和付费的专业版。下载地址:https://www.jetbrains.com/pycharm/

  • Visual Studio Code:这是一个轻量级且功能强大的开源编辑器,由微软公司开发。通过安装Python插件,您可以轻松地使用Visual Studio Code进行Python开发。下载地址:https://code.visualstudio.com/

  • Jupyter Notebook:这是一个基于Web的交互式计算笔记本,允许您在浏览器中编写和运行Python代码。它特别适合数据分析、可视化和教学场景。如果您已经安装了Anaconda,那么您已经拥有了Jupyter Notebook。如果没有,您可以单独安装:https://jupyter.org/install

根据您的需求和喜好,选择一个合适的IDE。安装并熟悉所选IDE的基本功能和操作。

至此,您已经完成了Python的安装和开发环境配置。接下来,您可以开始学习Python的基本数据类型和编程语法了。如有问题,请随时向我提问。祝您学习顺利!


老猫:关于python的版本,你有什么建议,你这边掌握的一些示例代码,能够支持的最新的版本是什么

查老四:我建议您使用Python 3.x版本进行学习和开发。Python 3.x是Python的最新版本,拥有许多改进和新特性。自2020年1月1日起,Python 2.x已停止维护和更新。大多数第三方库和开发者都已转向Python 3.x。因此,为了确保与当前的技术趋势和生态系统保持一致,您应该选择Python 3.x版本。

截止到我所掌握的知识(2021年9月),最新的Python版本是Python 3.9。然而,Python 3.9之后的版本(如Python 3.10)应该在大多数情况下向后兼容。所以,示例代码应该在较新的Python版本上也能正常工作。为了确保您的学习过程中不会遇到兼容性问题,建议您选择一个相对稳定的Python 3.x版本,如Python 3.8或Python 3.9。

您可以在Python官方网站查看并下载最新的Python版本:https://www.python.org/downloads/

在学习Python时,如果您遇到与版本相关的问题,如API变更或弃用的特性,请随时向我提问。我会尽力提供帮助

于是老猫选择了3.8.10
https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe


老猫:我已经安装好了 3.8.10,接下来IDE我想选择使用Visual Studio Code,相关的VS Code的安装和插件的安装,请给我建议

查老四:很好!Visual Studio Code(简称VS Code)是一个非常优秀的代码编辑器,对Python开发提供了很好的支持。接下来,我将向您介绍如何安装VS Code以及安装和配置Python插件。

1. 安装Visual Studio Code

根据您的操作系统,从VS Code官方网站下载安装包并进行安装:https://code.visualstudio.com/

按照安装向导的提示完成安装过程。安装完成后,启动VS Code。

2. 安装Python插件

为了在VS Code中使用Python,您需要安装Python插件。请按照以下步骤进行操作:

  1. 在VS Code中,点击左侧边栏的扩展图标(一个长方形的图标)。
  2. 在搜索框中输入“Python”并回车。
  3. 在搜索结果中找到“Python”插件,它的作者应该是“Microsoft”。点击“Install”按钮以安装插件。

安装完成后,VS Code将自动为您配置Python插件。

3. 配置Python解释器

为了确保VS Code能正确运行Python代码,您需要设置Python解释器。按照以下步骤进行操作:

  1. 打开VS Code的命令面板:点击菜单栏的“查看”>“命令面板”,或使用快捷键(Windows:Ctrl+Shift+P,macOS:Cmd+Shift+P)。
  2. 在命令面板中输入“Python: Select Interpreter”并回车。
  3. 在弹出的列表中选择已安装的Python解释器(您刚刚安装的3.8.10版本)。如果列表中没有显示,请检查Python是否已添加到系统的PATH环境变量中。

至此,您已经成功安装了VS Code,并配置好了Python插件。现在您可以开始使用VS Code编写和运行Python代码了。如果您在配置过程中遇到任何问题,请随时告诉我,我会尽力提供帮助。祝您学习愉快!

于是老猫安装了最新版本的VS Code(v1.76)以及Pythone插件(v2023.4.1)


老猫:VS Code 和 Python 插件都安装好了,Python 解释器也检查了,一切就绪,那么我们是不是要写个 hello world 证明环境是OK的呢

查老四:没错!编写一个简单的"Hello, World!"程序是验证您的开发环境是否正确配置的好方法。请按照以下步骤在VS Code中创建一个Python文件,并编写并运行"Hello, World!"程序:

  1. 在VS Code中,点击菜单栏的“文件”>“新建文件”以创建一个新文件。
  2. 将文件另存为一个Python文件,例如,将其命名为“hello_world.py”。确保文件扩展名为“.py”,这是Python文件的标准扩展名。
  3. 在新建的Python文件中,输入以下代码:
print("Hello, World!")
  1. 保存文件。然后,在VS Code中运行Python程序的方法有多种,这里提供两种常用方法:

方法一:右键点击编辑器中的代码,然后选择“在Python终端中运行”。

方法二:点击VS Code顶部菜单栏的“终端”>“新建终端”。在打开的终端中,输入python hello_world.py(确保您的终端当前所在目录包含您刚刚创建的Python文件),然后按回车。

  1. 您将在终端中看到输出“Hello, World!”,这意味着您的开发环境已成功配置,可以正常运行Python代码。

现在您已经准备好开始学习Python编程了!如果您在运行过程中遇到任何问题,或者想了解更多关于Python的知识,请随时告诉我,我会尽力提供帮助。祝您学习顺利!

方法一运行成功
方法二运行失败,老猫愣了一分钟,不同的路径和排列组合试了三分钟,几乎要放弃学Python


老猫:运行程序的方法第一种测试成功了,第二种报错,说是Exit Code 1

查老四:当您在终端运行程序时遇到Exit Code 1错误,这通常意味着程序没有正确执行。这可能是由多种原因导致的,如环境变量未设置正确或者文件路径问题。让我们一步步排查问题:

1. 确认Python添加到PATH环境变量

首先,请确保Python已添加到您的系统的PATH环境变量中。在终端中输入以下命令,然后按回车:

python --version

如果终端正确显示您安装的Python版本(如“Python 3.8.10”),则表明Python已添加到PATH环境变量中。如果终端显示错误或未找到命令,请检查Python安装过程中是否选中“Add Python to PATH”选项。您可能需要重新安装Python并确保选中此选项。

2. 检查文件路径

接下来,请确保您在正确的目录下运行“hello_world.py”文件。在终端中,使用以下命令查看当前目录:

  • Windows:cd
  • macOS和Linux:pwd

如果当前目录与您保存“hello_world.py”文件的目录不符,请使用cd命令切换到正确的目录。例如:

cd /path/to/your/python/file

/path/to/your/python/file替换为实际文件路径。

确认目录正确后,再次尝试运行python hello_world.py命令。

3. 尝试使用python3命令

如果上述方法仍无法解决问题,请尝试使用python3命令替换python命令。在某些系统中,pythonpython3命令可能会有所区别。输入以下命令并按回车:

python3 hello_world.py

如果您仍然遇到问题,请提供更多关于错误的详细信息,以便我更好地帮助您解决问题。

果然属于系统变量Path没了,为啥没了,以为之前装了3.7.x版本,卸载旧版本之后,系统变量就没了,用3.8.10的安装包做了修复安装,之后,两种hello, world都好了。


老猫:按照你的提示,我修复了系统变量path,现在一切都OK了,我们继续吧

很高兴听到您已经解决了问题!现在,您已经成功地配置了Python开发环境,并验证了一切都可以正常运行。接下来,您可以继续学习Python的基本概念和语法。

在您开始学习之前,这里有一些建议:

  1. 多实践:编程是一项实践性很强的技能,尽量多动手编写代码。当您学习新概念时,尝试编写一些小程序来巩固和应用所学知识。

  2. 遇到问题时求助:当您遇到问题或不理解的概念时,请随时向我提问。我会尽力提供帮助和解答。

  3. 逐步提高难度:从基础开始,逐步学习更复杂的概念和技巧。不要试图一开始就学习过于复杂的内容,否则可能会影响学习效果。

祝您学习顺利!如有问题,请随时联系。

这一通说教,让老猫觉得有点顶


基本数据类型

老猫:开始第三节的内容吧

好的!第三节的内容将涉及Python的基本数据类型和变量。我们将了解以下几个主题:

  1. 变量及其命名规则
  2. 基本数据类型:整数、浮点数、字符串、布尔值
  3. 类型转换

1. 变量及其命名规则

在Python中,变量是存储数据的容器。变量可以用一个名字来表示,您可以使用等号(=)为变量赋值。例如:

name = "John"
age = 25

变量命名规则如下:

  • 变量名只能包含字母、数字和下划线。变量名可以以字母或下划线开头,但不能以数字开头。
  • 变量名不能包含空格,但可以使用下划线分隔单词,例如first_name
  • 不能使用Python关键字作为变量名。关键字包括ifelsewhile等。
  • 变量名应简短且描述性。例如,namen更好,word_listwl更好。

2. 基本数据类型

Python中有四种基本数据类型:整数、浮点数、字符串和布尔值。

  • 整数:整数是没有小数部分的数字。例如:42、-3、0。
  • 浮点数:浮点数是带有小数部分的数字。例如:3.14、-0.5、42.0。
  • 字符串:字符串是字符的序列,用单引号或双引号括起来。例如:‘hello’、“world”、‘123’。
  • 布尔值:布尔值表示真或假,有两个值:True和False。

3. 类型转换

有时,您可能需要将一个数据类型转换为另一个数据类型。Python提供了一些内置函数来实现类型转换:

  • int(x):将x转换为整数。
  • float(x):将x转换为浮点数。
  • str(x):将x转换为字符串。
  • bool(x):将x转换为布尔值。

示例:

num = "123"
num_int = int(num)  # 将字符串转换为整数
num_float = float(num)  # 将字符串转换为浮点数

现在,您已经了解了Python的基本数据类型、变量和类型转换。您可以尝试编写一些简单的程序来熟悉这些概念。如果您有任何问题,请随时提问。


老猫:请给我一些练习

查老四:当然!以下是一些针对基本数据类型和变量的练习。请尝试在您的开发环境中编写并运行这些程序。

练习1:创建一个变量name,为其分配一个字符串值,表示您的名字。接着创建一个变量age,为其分配一个整数值,表示您的年龄。最后,使用print()函数输出这两个变量的值,如:“My name is [name] and I am [age] years old”。

练习2:编写一个程序,计算两个整数的和、差、乘积和商。将两个整数分别存储在变量num1num2中,然后计算它们的和、差、乘积和商,并将结果分别存储在变量sumdifferenceproductquotient中。最后,使用print()函数输出这些结果。

练习3:编写一个程序,计算摄氏度(Celsius)到华氏度(Fahrenheit)的转换。将摄氏度值存储在一个变量celsius中,然后使用以下公式计算华氏度:fahrenheit = (celsius * 9/5) + 32。最后,使用print()函数输出转换后的华氏度值。

练习4:编写一个程序,要求用户输入他们的名字和年龄。使用input()函数获取用户输入的名字和年龄,然后使用print()函数输出一条包含这些信息的消息,如:“Hello, [name]! You are [age] years old”。

请尝试完成这些练习,并在您的开发环境中运行它们。如果您遇到任何问题或需要帮助,请随时告诉我。祝您学习愉快!

第一个练习,设计的就很很扎心了,老猫含泪开始做

练习 1

name = "laomao"
age = 46

print("My name is", name, "and I am", age, "years old")

该程序首先创建了一个名为 name 的变量,并将其设置为字符串 "laomao"。接着创建另一个名为 age 的变量,并将其设置为整数 46

最后,使用 print() 函数输出了一个包含这两个变量值的字符串。在这个字符串中,我们使用了字符串拼接符号 , 来连接不同的文本和变量,它们会自动以空格为分隔符输出,因此输出结果为:My name is laomao and I am 46 years old

练习 2

num1 = 10
num2 = 5

# 计算和、差、乘积和商
sum = num1 + num2
difference = num1 - num2
product = num1 * num2
quotient = num1 / num2  # 注意:这里用到了除法运算符 /

# 输出结果
print("Sum:", sum)
print("Difference:", difference)
print("Product:", product)
print("Quotient:", quotient)

该程序首先创建了两个整数型变量 num1num2,并分别将它们设置为 105

接着,使用加减乘除等基本数学运算符计算它们的和、差、乘积和商,并将计算结果保存在四个新的变量 sumdifferenceproductquotient 中。

最后,使用 print() 函数输出了这些结果。每行输出都会包含一个字符串和一个变量的值,它们会自动以空格为分隔符输出,因此输出结果为:

Sum: 15
Difference: 5
Product: 50
Quotient: 2.0

其中,quotient 的值为 2.0,因为在 Python 中,如果两个整数相除,结果可能是浮点数。如果希望得到整数结果,可以使用整数除法运算符 //,例如 num1 // num2

练习 3:

好的,以下是一个简单的 Python 程序,实现了您的要求:

celsius = 25

# 计算华氏度
fahrenheit = (celsius * 9/5) + 32  

# 输出结果
print("Celsius:", celsius)
print("Fahrenheit:", fahrenheit)

该程序首先创建了一个浮点数型变量 celsius,并将其设置为 25 摄氏度。

接着,使用公式 fahrenheit = (celsius * 9/5) + 32 计算摄氏度对应的华氏度,并将计算结果保存在变量 fahrenheit 中。

最后,使用 print() 函数输出了这两个温度值。每行输出都会包含一个字符串和一个变量的值,它们会自动以空格为分隔符输出,因此输出结果为:

Celsius: 25
Fahrenheit: 77.0

其中,fahrenheit 的值为 77.0,表示 25 摄氏度等于 77 华氏度。

Exercise 4:

# 获取用户输入的名字和年龄
name = input("Please enter your name: ")
age = input("Please enter your age: ")

# 输出问候消息
print("Hello,", name + "!", "You are", age, "years old.")

该程序首先使用 input() 函数分别获取了用户输入的名字和年龄,并将它们保存在变量 nameage 中。

接着,使用拼接符号 + 将这些变量值以及其他一些固定文本组合成了一条问候消息,并使用 print() 函数输出这条消息。

当运行程序时,会提示用户输入名字和年龄。用户输入完成后,程序会自动输出类似于下面这样的问候消息:

Please enter your name: laomao
Please enter your age: 46
Hello, laomao! You are 46 years old.

其中,laomao46分别代表用户输入的名字和年龄。


老猫:答案是否能提供以下,谢谢

查老四:当然可以!以下是针对这些练习的解答:

练习 1 答案:

name = "John"
age = 25
print(f"My name is {name} and I am {age} years old")

练习 2 答案:

num1 = 10
num2 = 5

sum = num1 + num2
difference = num1 - num2
product = num1 * num2
quotient = num1 / num2

print(f"Sum: {sum}")
print(f"Difference: {difference}")
print(f"Product: {product}")
print(f"Quotient: {quotient}")

练习 3 答案:

celsius = 25
fahrenheit = (celsius * 9/5) + 32
print(f"{celsius} degrees Celsius is equal to {fahrenheit} degrees Fahrenheit")

练习 4 答案:

name = input("Please enter your name: ")
age = input("Please enter your age: ")

print(f"Hello, {name}! You are {age} years old")

老猫:比如说最后一个练习,我的输出是 print(“Hello,”, name + “!”, “You are”, age, “years old.”) 你的输出是print(f"Hello, {name}! You are {age} years old"),为啥你要带个f而且用大括号做引用变量

查老四:在Python中,使用f前缀(或F前缀)和大括号 {} 的字符串称为格式化字符串(f-string),它是Python 3.6及更高版本中引入的一种新特性。通过在字符串前加上字母fF,您可以在字符串内直接引用变量,而不需要额外的字符串连接。

格式化字符串(f-string)提供了一种更简洁、易读的方式来格式化和插入变量。例如,在本例中:

print(f"Hello, {name}! You are {age} years old")

当使用格式化字符串时,您只需在字符串中用大括号 {} 包裹变量名即可。Python会自动将变量的值插入到字符串中。这种方法相较于使用逗号和加号连接字符串更加简洁。

您的输出方法:

print("Hello,", name + "!", "You are", age, "years old.")

这种方法也是有效的,但使用逗号将字符串和变量分开可能导致输出之间有额外的空格。同时,使用加号连接字符串可能在某些情况下导致代码的可读性降低。

总之,格式化字符串(f-string)是一种更现代、简洁的格式化方法,特别适用于需要在字符串中插入变量的场景。当然,您也可以继续使用传统的字符串连接方法,这取决于您的喜好和代码风格。


变量、运算符和基本输入输出操作

老猫:那我们开始下一节 “ 了解变量、运算符和基本输入输出操作”吧

查老四:好的!接下来我们将了解变量、运算符以及基本的输入输出操作。这一节的内容包括:

  1. 算术运算符
  2. 比较运算符
  3. 逻辑运算符
  4. 输入输出操作

1. 算术运算符

Python 支持以下基本算术运算符:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 取模(求余数):%
  • 整除://
  • 幂运算:**

2. 比较运算符

比较运算符用于比较两个值,结果为布尔值(True 或 False):

  • 等于:==
  • 不等于:!=
  • 大于:>
  • 小于:<
  • 大于等于:>=
  • 小于等于:<=

3. 逻辑运算符

逻辑运算符用于组合多个条件,结果为布尔值(True 或 False):

  • 与(AND):and
  • 或(OR):or
  • 非(NOT):not

4. 输入输出操作

Python 提供了内置函数 input()print() 用于基本的输入输出操作。

  • input(prompt):接收用户输入,并返回一个字符串。prompt 参数是可选的,表示提示用户输入的字符串。
  • print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):输出指定的内容。*objects 是要输出的内容,可以是多个对象,用逗号分隔。sep 参数表示对象之间的分隔符,默认为空格。end 参数表示输出结尾的字符,默认为换行符。

现在您已经了解了变量、运算符和基本输入输出操作的基本知识。请尝试编写一些简单的程序来巩固这些概念,并在遇到问题时随时向我提问。祝您学习顺利!


老猫:在我开始自己做练习之前,你是否可以给我几个范例,每个知识点给我一个吧,为了方便理解,还请给示例代码加上注释,谢谢!

查老四:当然可以!以下是一些涉及到变量、运算符和基本输入输出操作的示例代码。

1. 算术运算符示例:

a = 10
b = 3

# 加法
addition = a + b
print(f"Addition: {addition}")

# 减法
subtraction = a - b
print(f"Subtraction: {subtraction}")

# 乘法
multiplication = a * b
print(f"Multiplication: {multiplication}")

# 除法
division = a / b
print(f"Division: {division}")

# 取模(求余数)
modulus = a % b
print(f"Modulus: {modulus}")

# 整除
floor_division = a // b
print(f"Floor Division: {floor_division}")

# 幂运算
power = a ** b
print(f"Power: {power}")

2. 比较运算符示例:

x = 5
y = 10

# 等于
equals = x == y
print(f"Equals: {equals}")

# 不等于
not_equals = x != y
print(f"Not Equals: {not_equals}")

# 大于
greater_than = x > y
print(f"Greater Than: {greater_than}")

# 小于
less_than = x < y
print(f"Less Than: {less_than}")

# 大于等于
greater_than_or_equal_to = x >= y
print(f"Greater Than or Equal To: {greater_than_or_equal_to}")

# 小于等于
less_than_or_equal_to = x <= y
print(f"Less Than or Equal To: {less_than_or_equal_to}")

3. 逻辑运算符示例:

condition1 = True
condition2 = False

# 与(AND)
and_operator = condition1 and condition2
print(f"AND Operator: {and_operator}")

# 或(OR)
or_operator = condition1 or condition2
print(f"OR Operator: {or_operator}")

# 非(NOT)
not_operator = not condition1
print(f"NOT Operator: {not_operator}")

4. 输入输出操作示例:

# 输入示例
name = input("Please enter your name: ")
age = int(input("Please enter your age: "))

# 输出示例
print(f"Hello, {name}!")
print(f"You are {age} years old.")

这些示例涵盖了变量、运算符和基本输入输出操作的主要知识点。请尝试在您的开发环境中运行这些代码,并尝试修改它们以加深理解。如果您有任何问题,请随时向我提问。祝您学习愉快!

老猫毕竟了解一些 docker 技术,所以为了运行代码看到结果,用docker 跑一个 jupyter notepad 方便操作

docker run -d --restart always --name my-notebook -p 8888:8888 -v /path/to/local/folder:/home/jovyan/work jupyter/minimal-notebook

第一次登陆查看token可以用
docker logs my-notebook

使用localhost:8888进行访问


老猫:接下来请给我练习题吧

查老四:当然可以!以下是一些针对变量、运算符和基本输入输出操作的练习题。

练习1: 编写一个程序,要求用户输入两个数字,并计算这两个数字的和、差、积、商以及余数。将结果以有意义的格式输出。

练习2: 编写一个程序,要求用户输入一个华氏温度,将其转换为摄氏温度并输出结果。转换公式如下:C = (F - 32) * 5/9,其中 C 是摄氏温度,F 是华氏温度。

练习3: 编写一个程序,要求用户输入两个整数。然后判断这两个整数是否相等,以及哪个更大。将结果输出。

练习4: 编写一个程序,要求用户输入年龄。然后判断用户是否已经达到投票年龄(假设投票年龄为18岁)。将结果输出。

请尝试完成这些练习题,以巩固您对变量、运算符和基本输入输出操作的理解。如果您遇到问题或需要参考答案,请随时告诉我。祝您学习愉快!

老猫内心独白:貌似1和2都做过了,就只做3和4吧

练习3:

num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))

if num1 == num2:
    print(f"{num1}{num2} 相等")
elif num1 > num2:
    print(f"{num1}{num2} 大")
else:
    print(f"{num2}{num1} 大")

练习4:

age = int(input("请输入您的年龄:"))

if age >= 18:
    print("您已达到投票年龄!")
else:
    print(f"您还需要等待 {18 - age} 年才能开始投票。")

老猫:练习1和2之前做过了,请把3和4的答案给出,请加注释,谢谢

查老四:当然可以!以下是练习3和练习4的参考答案,我已经加上了注释。

练习3答案:

# 要求用户输入两个整数
num1 = int(input("Please enter the first integer: "))
num2 = int(input("Please enter the second integer: "))

# 判断这两个整数是否相等
if num1 == num2:
    print("The two numbers are equal.")
else:
    # 判断哪个整数更大
    if num1 > num2:
        print(f"{num1} is greater than {num2}.")
    else:
        print(f"{num2} is greater than {num1}.")

练习4答案:

# 要求用户输入年龄
age = int(input("Please enter your age: "))

# 判断用户是否已经达到投票年龄
if age >= 18:
    print("You are eligible to vote.")
else:
    print("You are not eligible to vote.")

请注意,这些答案仅作参考,您还可以根据自己的需求进行修改。如果您有其他问题或需要解释,请随时告诉我。祝您学习愉快!


老猫:对于练习三,我之前的代码和你的比起来,哪一个更规范一点,为什么

查老四:两个代码示例都是正确的,它们实现了相同的功能。实际上,您的代码更简洁,因为您使用了elif(else if的简写)代替了嵌套的if语句。这使得代码更容易阅读和理解。

我之前提供的示例使用了嵌套的if语句,可能是为了展示不同的条件结构,但在实际编程中,使用elif更为推荐,因为它可以使代码更简洁。

这是您的代码示例,仅为了方便对比,我将变量名和输出改回英文:

num1 = int(input("Please enter the first integer: "))
num2 = int(input("Please enter the second integer: "))

if num1 == num2:
    print(f"{num1} and {num2} are equal.")
elif num1 > num2:
    print(f"{num1} is greater than {num2}.")
else:
    print(f"{num2} is greater than {num1}.")

您的代码很好,更符合Python编程风格和规范。请继续保持这种编程风格!如果您有其他问题,请随时告诉我。祝您学习愉快!


老猫:对于练习4,如果用户输入的时候精确地输入了小数,就会报错,那如何从代码层面进行改进呢

您可以使用 float() 函数而不是 int() 函数来接受用户输入的小数。为了确保代码能够正确处理小数年龄,我们需要稍微修改一下代码。以下是修改后的练习4答案:

# 要求用户输入年龄
age = float(input("Please enter your age: "))

# 判断用户是否已经达到投票年龄
if age >= 18:
    print("You are eligible to vote.")
else:
    print("You are not eligible to vote.")

现在,如果用户输入了小数年龄,程序将能够正确处理并给出相应的输出。如果您有其他问题,请随时告诉我。祝您学习愉快!


当日总结

老猫:此前我们的第一天的内容第五部分是“动手编写简单的Python程序 尝试编写一些简单的Python程序,熟悉开发环境和编程语法。例如,编写一个计算器程序,输入两个数字并返回它们的和、差、积和商。”这个实验似乎此前已经做了,那我们还需要专门做吗?如果不需要,请对今天的内容做个总结,谢谢!

查老四:您是对的,我们已经完成了与第五部分内容相关的练习。在此前的学习中,我们已经实现了一个简单的计算器程序,要求用户输入两个数字并返回它们的和、差、积和商。因此,您不需要专门再做这个实验。

今天的学习内容总结如下:

  1. 您已经熟悉了 Python 的基本概念、安装和配置开发环境。
  2. 您学习了 Python 的基本语法,包括变量、运算符和基本输入输出操作。
  3. 您已经通过一些实例和练习题来巩固这些知识点。

由于已经完成了与第五部分内容相关的练习,您可以提前进入第一周第二天的学习内容,学习 Python 中的基本数据结构,包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。

请随时告诉我您是否准备好开始学习 Python 中的基本数据结构,我将为您提供相应的学习材料和示例。祝您学习愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值