【Pythonr入门第二讲】你好,世界

"Hello, World!" 是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!" 这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。

Python介绍

学了Python你能做什么

数据分析与挖掘

  1. Kaggle入门:泰坦尼克号幸存者 - 分析泰坦尼克号乘客数据,预测乘客是否生存。
  2. 电影人物关系提取 - 通过分析电影剧本,提取人物之间的关系网络。
  3. 出租车与网约车调度 - 利用实时数据优化出租车和网约车的调度策略。
  4. 租房问题 - 分析租房市场数据,找到最佳租房策略。
  5. NBA比赛结果预测 - 基于历史比赛数据,使用机器学习模型预测NBA比赛结果。

机器学习与深度学习

  1. 人脸识别 - 使用深度学习模型实现人脸识别系统。
  2. K-近邻算法实现手写数字识别 - 利用机器学习算法(K-近邻)实现手写数字的自动识别。
  3. 中文错别字高亮系统 - 基于自然语言处理,设计一个中文错别字检测与高亮系统。
  4. 街边字符识别 - 利用计算机视觉技术,识别街边标识上的字符信息。

网络开发

  1. Django搭建个人博客 - 使用Django框架建立个人博客,实现文章发布、用户管理等功能。
  2. Flask实现简易聊天室 - 利用Flask框架创建一个简易的实时聊天室。
  3. 信息管理系统 - 使用异步框架(如Toronto)搭建一个信息管理系统,用于数据的存储和检索。

爬虫

  1. 微信好友信息批量获取 - 利用爬虫技术批量获取微信好友的相关信息。
  2. 微博热搜 - 爬取微博热搜榜单,分析热门话题。
  3. 爬取知乎图片 - 通过爬虫程序获取知乎上的图片资源。
  4. 爬取天气预报 - 从天气网站获取实时天气信息,用于天气预报应用。
  5. 网易云音乐 - 利用爬虫获取网易云音乐的歌曲、歌手信息等。

这些实际任务展示了Python在不同领域的灵活应用。学习Python后,我们能够处理数据、实现机器学习算法、进行网络开发以及使用爬虫技术获取互联网数据。这种多领域的适用性是Python开发的一大优势。

新建项目

  • 新建项目

项目

Python 解释器

Python 解释器是执行 Python 代码的软件组件,它将你编写的 Python 脚本翻译成计算机能够理解的机器语言,然后执行代码。

虚拟环境: virtualenv、pipenv、poetry、conda

什么是Python环境

Python 环境通常指的是 Python 解释器、相关的库、工具和设置。Python 环境可以是全局环境,也可以是虚拟环境。

全局 Python 环境:

  • 全局环境是安装在计算机系统上的 Python 解释器和相关库的集合。这是你计算机上默认的 Python 环境。
  • 安装 Python 后,你可以在命令行或终端中运行 Python 解释器,执行 Python 脚本。全局环境中的库和工具对所有项目都是可用的。
  • 但在开发中,全局环境的一个问题是可能会出现版本冲突或库之间的不兼容性。为了解决这个问题,可以使用虚拟环境。

虚拟环境:

  • 虚拟环境是一个独立的 Python 环境,用于隔离不同项目的依赖关系。每个虚拟环境都有自己的 Python 解释器和库,与全局环境和其他虚拟环境相互隔离。
  • 虚拟环境允许你在同一台机器上的不同项目中使用不同版本的 Python 解释器和第三方库,以避免冲突。
  • 通过虚拟环境,你可以确保每个项目都拥有其独立的 Python 环境,使得项目之间的开发更加灵活和可维护。

什么是虚拟环境

虚拟环境(Virtual Environment)是 Python 中的一个工具,用于创建独立的、隔离的 Python 运行环境。它允许在同一台机器上的不同项目中使用不同版本的 Python 解释器和第三方库,以避免项目之间的依赖冲突。使用虚拟环境,你可以为每个项目创建一个独立的环境,保持项目之间的依赖关系隔离,确保项目的独立性和可维护性。

虚拟环境的主要目的是:

  1. 依赖隔离: 每个虚拟环境都有自己的 Python 解释器和第三方库,与全局 Python 环境和其他虚拟环境相互隔离。这意味着你可以为每个项目选择特定版本的库,而不受其他项目的影响。
  2. 版本管理: 你可以在不同的虚拟环境中使用不同版本的 Python 解释器。这对于确保项目在特定 Python 版本下运行非常有用。
  3. 简化依赖安装: 在虚拟环境中,你可以通过简单的命令安装项目所需的依赖,而不会影响到全局 Python 环境。

Virtualenv、Pipenv、Poetry、Conda 如何选择

选择使用 virtualenvpipenvpoetry 还是 conda 取决于项目需求、工作流程以及个人偏好:

virtualenv****:

  • 适用场景:
    • 轻量级虚拟环境管理,适合小型项目和快速原型。
    • 当你只需要创建和激活虚拟环境,而不涉及依赖管理时。
  • 优点:
    • 简单,是 Python 标准库的一部分。
    • 易于使用,适合初学者
    • pip 配合使用,可以灵活管理依赖。
  • 缺点:
    • 不提供依赖管理的高级功能。
    • 不能锁定依赖版本。

pipenv****:

  • 适用场景:
    • 依赖管理和虚拟环境创建。
    • 适用于中小型项目,支持开发和部署的一体化。
  • 优点:
    • 自动创建和管理虚拟环境。
    • 提供 Pipfile 和 Pipfile.lock 文件,用于确定依赖关系和版本。
    • 支持环境变量自动加载。
  • 缺点:
    • 有时可能较慢,对于大型项目可能不是最佳选择。

poetry****:

  • 适用场景:
    • 管理 Python 项目的全部生命周期,包括依赖管理、构建、发布等。
    • 适用于中大型项目,强调项目整体性。
  • 优点:
    • 提供全方位的项目管理,包括构建、依赖管理、发布等。
    • 简化了 setup.pyrequirements.txt 的使用。
    • 支持 pyproject.toml 文件。
  • 缺点:
    • 在某些情况下可能需要额外配置。
    • 对于简单项目,可能会感觉过于复杂。

conda****:

  • 适用场景:
    • 用于科学计算、数据分析、机器学习等领域。
    • 跨平台支持和包管理。
  • 优点:
    • 能够管理 Python 包和非 Python 包。
    • 跨平台,适用于 Windows、macOS、Linux。
    • 提供一个独立的环境,可以包含不同版本的 Python。
  • 缺点:
    • 包的体积相对较大。
    • 可能与一些纯 Python 包的依赖产生冲突。

如何选择

  • 如果喜欢 Python 标准库的简单性,项目较小,只需虚拟环境管理,那么选择 virtualenv
  • 如果希望更全面地管理项目的依赖关系,包括创建虚拟环境、锁定依赖版本等,那么选择 pipenv
  • 如果需要一个更全面的项目管理工具,涵盖了构建、发布等方面,那么选择 poetry
  • 如果项目涉及到科学计算、数据分析等,并且需要管理非 Python 包的依赖关系,那么选择 conda

你好,世界

我们以Python解释器:新 Virtualenv 环境为例;新建一个StudyPython的项目。创建hello_world.py文件。

双击hello_world.py文件,写入如下代码:

python 复制代码
print("Hello Python world!")

控制台输出:

Python都做了些什么呢

运行hello_world.py时, Python都做了些什么呢?下面来深入研究一下。实际上,即便是运行简单的程序, Python所做的工作也相当多:

  1. 指定解释器: 在运行文件时,文件末尾的 .py 扩展名告诉操作系统这是一个 Python 程序。编辑器将使用 Python 解释器来执行这个程序。
  2. 文件读取: Python 解释器读取整个 hello_world.py 文件的内容。
  3. 词法分析(Lexical Analysis): 解释器对文件内容进行词法分析,将代码分解为词汇单元(token),例如关键字、标识符、运算符等。
  4. 语法分析(Syntax Analysis): 解释器根据词法分析的结果,建立语法树,确定代码结构和语法是否合法。
  5. 执行代码: 解释器按照语法树执行代码。对于 hello_world.py,它会执行 print("Hello Python world!") 这行代码。
  6. 执行 print 函数: 解释器知道 print 是一个内置函数,于是执行这个函数。它将括号中的内容,即字符串 "Hello Python world!",打印到屏幕。

在编写程序时,编辑器通常会提供语法高亮和代码提示等功能。例如,它知道 print 是一个函数,将其显示为蓝色;而字符串 "Hello Python world!" 不是 Python 代码,所以将其显示为橙色。这种功能称为语法突出,有助于程序员更容易地阅读和理解代码。

结语

"Hello, World!" 是一个简单而经典的起点,标志着程序员的编程之旅的开始。它象征着学习和探索编程世界的第一步,是一个传统而重要的示范。

相关推荐
小白—人工智能9 分钟前
数据分析 —— 数据预处理
python·数据挖掘·数据分析
若叶时代11 分钟前
数据分析_Python
人工智能·python·数据分析
英英_21 分钟前
python 爬虫框架介绍
开发语言·爬虫·python
大模型铲屎官1 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典
yunvwugua__1 小时前
Python训练营打卡 Day27
开发语言·python
Stara05112 小时前
基于多头自注意力机制(MHSA)增强的YOLOv11主干网络—面向高精度目标检测的结构创新与性能优化
人工智能·python·深度学习·神经网络·目标检测·计算机视觉·yolov11
那雨倾城3 小时前
使用 OpenCV 将图像中标记特定颜色区域
人工智能·python·opencv·计算机视觉·视觉检测
LuckyTHP6 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
mahuifa8 小时前
(7)python开发经验
python·qt·pyside6·开发经验
学地理的小胖砸9 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql