【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文件,写入如下代码:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程

一.背景 公司是非煤采矿业,核心业务是采选,大型设备多,安全风险因素多。当下政府重视安全,头部技术企业的安全解决方案先进但价格不低,作为民营企业对安全投入的成本很敏感。利用我本身所学,准备搭建公司的…

Windows 服务常用工具及 nssm 使用示例

Windows 将某个应用程序设为服务运行,确保它在后台稳定运行,并且在系统重启后自动启动。 常见的工具包括 Windows 自带的服务管理器、sc 命令、srvany 和第三方工具 nssm。 1.常用 Windows 服务工具 Windows 服务管理器:通过图形化界面&am…

汽车资讯新动力:Spring Boot技术驱动

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

头歌——vlan基本配置第二关

任务描述 本关任务:根据前面的实验,完成相应的题目测试。

深度解析FastDFS:构建高效分布式文件存储的实战指南(上)

文章目录 一、FastDFS简介1.1 概述1.2 特性 二、FastDFS原理架构2.1 FastDFS角色2.2 存储策略2.3 上传过程2.4 文件同步2.5 下载过程 三、FastDFS适用场景四、同类中间件对比4.1 FastDFS和集中存储方式对比4.2 FastDFS与其他文件系统的对比 五、FastDFS部署5.1 单机部署5.1.1 使…

LeetCode 3249.统计好节点的数目:深度优先搜索(DFS)

【LetMeFly】3249.统计好节点的数目:深度优先搜索(DFS) 力扣题目链接:https://leetcode.cn/problems/count-the-number-of-good-nodes/ 现有一棵 无向 树,树中包含 n 个节点,按从 0 到 n - 1 标记。树的根节点是节点 0 。给你一…

中国省级金融发展水平指数(金融机构存款余额、贷款余额、GDP)2020-2023年

数据范围: 包含的数据内容如下: 分省份金融机构存款余额、分省份金融机构贷款余额、分省份金融机构存贷款余额、分省份GDP、分省份金融发展指数 西藏自治区、贵州省、黑龙江省2023年数据暂未公布,计算至2022年,其他省份数据无缺失…

大模型(LLMs)RAG 版面分析——表格识别方法篇

大模型(LLMs)RAG 版面分析——表格识别方法篇 一、为什么需要识别表格? 表格的尺寸、类型和样式展现出多样化的特征,如背景填充的差异性、行列合并方法的多样性以及内容文本类型的不一致性等。同时,现有的文档资料不…

力扣(leetcode)题目总结——辅助栈篇

leetcode 经典题分类 链表数组字符串哈希表二分法双指针滑动窗口递归/回溯动态规划二叉树辅助栈 本系列专栏:点击进入 leetcode题目分类 关注走一波 前言:本系列文章初衷是为了按类别整理出力扣(leetcode)最经典题目&#xff0c…

【python系列】python数据类型的分类和比较

一、数据类型的定义 在程序设计的类型系统中,数据类型(英语:Data type),又称资料型态、资料型别,是用来约束数据的解释。——Wikipedia 从定义我们可以看出来,数字类型的理解最主要的是约束数据的解释,每个类型都有他们自己所使用得场景,这个就是数字类型的分类,分类…

【JavaSE】【多线程】阻塞队列

目录 一、阻塞队列1.1 生产者消费者模型1.2 Java提供的阻塞队列1.3 实现一个简单生产者消费者模型 二、自己实现阻塞队列2.1 成员变量2.2 构造方法2.3 put方法2.4 take方法2.5 最终代码 一、阻塞队列 阻塞队列:是一种特殊的队列,也有先进先出的特性。它…

【pytest】pytest注解使用指南

前言:在 pytest 测试框架中,注解(通常称为装饰器)用于为测试函数、类或方法提供额外的信息或元数据。这些装饰器可以影响测试的执行方式、报告方式以及测试的组织结构。pytest 提供了多种内置的装饰器,以及通过插件扩展…

el-table合并单元格之后,再进行隔行换色的且覆盖表格行鼠标移入的背景色的实现

el-table 中有现成的隔行换色功能,只要增加 stripe 属性即可。但是如果有单元格合并的话,这个属性就不可用了。这时候我们就需要动点小心思了。 基于相同字段进行合并 单元格合并:基于表头中的某一列,具有相同值的个数相加进行合…

OpenAI模型whisper 音频转文本

最近有一个音频转文本的需求,了解到了OpenAI的whisper模型可以实现。 Whisper 是 OpenAI 提供的一个通用语音识别模型,支持多语言的音频转文本功能,并具有较高的准确性。它的主要用途包括自动语音识别 (ASR)、语言翻译(将音频直接…

ubuntu下连接了192.168.1.x和192.168.2.x两个网络段,如何让这个两个网段互相通信?

在 Ubuntu 上连接两个网络段(如 个人终端A 192.168.1.10 和 个人终端B 192.168.2.10),需要配置路由和网络转发功能,使这两个网段能够相互通信。以下是实现方法: 步骤 1:确认网络配置 1. 确保 Ubuntu 机器…

汽车资讯新高度:Spring Boot技术飞跃

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

03-axios常用的请求方法、axios错误处理

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

机器学习基础04_朴素贝叶斯分类决策树分类

目录 一、朴素贝叶斯分类理论 1、贝叶斯分类理论 2、条件概率 3、全概率公式 4、贝叶斯推断 5、朴素贝叶斯推断 6、拉普拉斯平滑系数 二、决策树分类 1、相关概念 2、基于信息增益决策树的建立 3、基于基尼指数决策树的建立 一、朴素贝叶斯分类理论 1、贝叶斯分类理…

git日志查询和导出

背景 查看git的提交记录并下载 操作 1、找到你idea代码的路径,然后 git bash here打开窗口 2、下载所有的日志记录 git log > commit.log3、下载特定日期范围内记录 git log --since"2024-09-01" --until"2024-11-18" 你的分支 > c…

后台管理系统(开箱即用)

很久没有更新博客了,给大家带上一波福利吧,大佬勿扰 现在市面上流行的后台管理模板很多,若依,芋道等,可是这些框架对我们来说可能会有点重,所以我自己从0到1写了一个后台管理模板,你们使用时候可扩展性也会更高 项目主要功能: 成员管理,部门管理&#…