【Pythonr入门第二讲】你好,世界
"Hello, World!"
是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!"
这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。
Python介绍
学了Python你能做什么
数据分析与挖掘
- Kaggle入门:泰坦尼克号幸存者 - 分析泰坦尼克号乘客数据,预测乘客是否生存。
- 电影人物关系提取 - 通过分析电影剧本,提取人物之间的关系网络。
- 出租车与网约车调度 - 利用实时数据优化出租车和网约车的调度策略。
- 租房问题 - 分析租房市场数据,找到最佳租房策略。
- NBA比赛结果预测 - 基于历史比赛数据,使用机器学习模型预测NBA比赛结果。
机器学习与深度学习
- 人脸识别 - 使用深度学习模型实现人脸识别系统。
- K-近邻算法实现手写数字识别 - 利用机器学习算法(K-近邻)实现手写数字的自动识别。
- 中文错别字高亮系统 - 基于自然语言处理,设计一个中文错别字检测与高亮系统。
- 街边字符识别 - 利用计算机视觉技术,识别街边标识上的字符信息。
网络开发
- Django搭建个人博客 - 使用Django框架建立个人博客,实现文章发布、用户管理等功能。
- Flask实现简易聊天室 - 利用Flask框架创建一个简易的实时聊天室。
- 信息管理系统 - 使用异步框架(如Toronto)搭建一个信息管理系统,用于数据的存储和检索。
爬虫
- 微信好友信息批量获取 - 利用爬虫技术批量获取微信好友的相关信息。
- 微博热搜 - 爬取微博热搜榜单,分析热门话题。
- 爬取知乎图片 - 通过爬虫程序获取知乎上的图片资源。
- 爬取天气预报 - 从天气网站获取实时天气信息,用于天气预报应用。
- 网易云音乐 - 利用爬虫获取网易云音乐的歌曲、歌手信息等。
这些实际任务展示了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 解释器和第三方库,以避免项目之间的依赖冲突。使用虚拟环境,你可以为每个项目创建一个独立的环境,保持项目之间的依赖关系隔离,确保项目的独立性和可维护性。
虚拟环境的主要目的是:
- 依赖隔离: 每个虚拟环境都有自己的 Python 解释器和第三方库,与全局 Python 环境和其他虚拟环境相互隔离。这意味着你可以为每个项目选择特定版本的库,而不受其他项目的影响。
- 版本管理: 你可以在不同的虚拟环境中使用不同版本的 Python 解释器。这对于确保项目在特定 Python 版本下运行非常有用。
- 简化依赖安装: 在虚拟环境中,你可以通过简单的命令安装项目所需的依赖,而不会影响到全局 Python 环境。
Virtualenv、Pipenv、Poetry、Conda 如何选择
选择使用 virtualenv
、pipenv
、poetry
还是 conda
取决于项目需求、工作流程以及个人偏好:
virtualenv
****:
- 适用场景:
- 轻量级虚拟环境管理,适合小型项目和快速原型。
- 当你只需要创建和激活虚拟环境,而不涉及依赖管理时。 - 优点:
- 简单,是 Python 标准库的一部分。
- 易于使用,适合初学者
。
- 与pip
配合使用,可以灵活管理依赖。 - 缺点:
- 不提供依赖管理的高级功能。
- 不能锁定依赖版本。
pipenv
****:
- 适用场景:
- 依赖管理和虚拟环境创建。
- 适用于中小型项目,支持开发和部署的一体化。 - 优点:
- 自动创建和管理虚拟环境。
- 提供 Pipfile 和 Pipfile.lock 文件,用于确定依赖关系和版本。
- 支持环境变量自动加载。 - 缺点:
- 有时可能较慢,对于大型项目可能不是最佳选择。
poetry
****:
- 适用场景:
- 管理 Python 项目的全部生命周期,包括依赖管理、构建、发布等。
- 适用于中大型项目,强调项目整体性。 - 优点:
- 提供全方位的项目管理,包括构建、依赖管理、发布等。
- 简化了setup.py
和requirements.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所做的工作也相当多:
- 指定解释器: 在运行文件时,文件末尾的
.py
扩展名告诉操作系统这是一个 Python 程序。编辑器将使用 Python 解释器来执行这个程序。 - 文件读取: Python 解释器读取整个
hello_world.py
文件的内容。 - 词法分析(Lexical Analysis): 解释器对文件内容进行词法分析,将代码分解为词汇单元(token),例如关键字、标识符、运算符等。
- 语法分析(Syntax Analysis): 解释器根据词法分析的结果,建立语法树,确定代码结构和语法是否合法。
- 执行代码: 解释器按照语法树执行代码。对于
hello_world.py
,它会执行print("Hello Python world!")
这行代码。 - 执行
print
函数: 解释器知道print
是一个内置函数,于是执行这个函数。它将括号中的内容,即字符串 “Hello Python world!”,打印到屏幕。
在编写程序时,编辑器通常会提供语法高亮和代码提示等功能。例如,它知道 print
是一个函数,将其显示为蓝色;而字符串 “Hello Python world!” 不是 Python 代码,所以将其显示为橙色。这种功能称为语法突出,有助于程序员更容易地阅读和理解代码。
结语
"Hello, World!"
是一个简单而经典的起点,标志着程序员的编程之旅的开始。它象征着学习和探索编程世界的第一步,是一个传统而重要的示范。
相关文章:
【Pythonr入门第二讲】你好,世界
"Hello, World!" 是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!" 这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。 …...
3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
随着科技的飞速发展,实时渲染正逐步成为游戏与实时交互领域的重要驱动力。与离线渲染不同,实时渲染需要极高的计算性能,对硬件设备尤其是GPU的性能要求极高。随着 RTX 4090 显卡的问世,其强大的算力和创新技术,为实时渲…...
Oracle 单机及 RAC 环境 db_files 参数修改
Oracle 数据库中 DB_FILES 定义了数据库中数据文件的个数,默认值为200,如果创建数据库文件时超过DB_FILES 定义的值就会报 ORA-00059 错误。 下面分别演示单机及 RAC 环境下修改 db_files 参数的操作步骤。 一、单机环境 1.查询当前参数值 SQL> sh…...
消息中间件分类
消息中间件(Message Middleware)是一种在分布式系统中实现跨平台、跨应用通信的软件架构。它基于消息传递机制,允许不同系统、不同编程语言的应用之间进行异步通信。 常见的消息中间件类型包括: 1. JMS(Java Message S…...
讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
在 移动端 接入语音合成方面,讯飞和腾讯云等都是优秀的选择,但各有其特点和优势。咱们的需求是需要支持普通话/英语/法语三种语言,以下是对各个平台的详细比较: 一、讯飞语音合成介绍 与语音听写相反,语音合成是将一段…...
SpringBoot开发——整合AJ-Captcha实现安全高效的滑动验证码
文章目录 一、什么是AJ-Captcha二、项目配置1、Maven依赖配置2、滑动验证码的基本原理3、 后端实现3.1 生成滑动验证码图片代码解释3.2 校验滑块位置代码解释4、前端部分代码解释5、Redis 缓存滑动验证码信息5.1 Redis配置5.2使用Redis缓存验证码数据5.3 校验时从Redis获取总结…...
Spring Security 核心组件
Spring Security 是一个功能全面的安全框架,用于处理基于 Spring 应用程序的身份验证和授权。 它提供了开箱即用的支持,采用行业标准的做法和机制来保护你的应用。 无论你是开发简单的 Web 应用还是复杂的微服务架构,理解 Spring Security …...
聚焦 AUTO TECH 2025华南展:探索新能源汽车发展新趋势
随着“新四化”浪潮的推进,汽车行业正经历前所未有的变革。中国新能源汽车正逐渐走向世界。国内汽车制造巨头如比亚迪、吉利、奇瑞、长安等,已经将出口提升至核心战略地位。中国新能源汽车的发展,不仅推动了全球汽车产业的电动化转型…...
Python-简单病毒程序合集(一)
前言:简单又有趣的Python恶搞代码,往往能给我们枯燥无味的生活带来一点乐趣,激发我们对编程的最原始的热爱。那么话不多说,我们直接开始今天的编程之路。 编程思路:本次我们将会用到os,paltform,threading,ctypes,sys,…...
[STM32]从零开始的STM32 HAL库环境搭建
一、前言 之前在搭建STM32的标准库环境时就告诉过大家,开发STM32的方式主要有三种。一种是最原始但是效率最高的寄存器开发,另一种是效率仅次于寄存器难度相对较低的标准库开发,最后一种是最为简单但是程序效率最低的HAL库开发。如果对于初学…...
Docker部署Kafka SASL_SSL认证,并集成到Spring Boot
1,创建证书和密钥 需要openssl环境,如果是Window下,下载openssl Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 还需要keytool环境,此环境是在jdk环境下 本案例所使用的账号密码均为: ka…...
Pr:音频过渡
Adobe Premiere Pro 自带一组共三个音频过渡 Audio Transitions效果。 对音频剪辑之间应用交叉淡化 Crossfade过渡,操作方式类似于应用视频过渡效果。 对于交叉淡化,要保证前剪辑的出点之后及后剪辑的入点之前有足够的预留内容(也称“手柄”&…...
HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案
1.沉浸式效果的目的 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。 2.组件安全区方案介绍 应用在默认情况下窗口背景绘制范围是全屏,但UI元素被限制在安全区内…...
从 const 到 mutable:C++ 中的优雅妥协与设计智慧
在C编程中,const 关键字被广泛应用于确保数据的不变性,它提供了一种强大的机制来防止意外修改,从而增强了代码的可靠性和可维护性。然而,在某些特定场景下,完全的不变性可能会限制设计的灵活性,这时 mutabl…...
CC工具箱使用指南:【CAD导出界址点Excel】
一、简介 群友定制工具。 面图层导出界址点Excel表之前已经做过好几个,这个工具则是将CAD导出Excel。 CAD数据如下: 工具将如上截图中的边界线导出界址点Excel,并记录下面内的文字。 二、工具参数介绍 点击【定制工具】组里的【CAD导出界…...
制作图片马常用的五种方法总结
目录 1. 以文本方式2. Windows的cmd方式3. PhotoShop方式4. 16进制5. Linux的cat方式 图片马:就是在图片中隐藏一句话木马。利用.htaccess等解析图片为PHP或者asp文件。达到执行图片内代码目的。 1. 以文本方式 用文本方式(这里用notepad。如果用记事本的方式打开…...
深入解析MySQL中的事务处理
一、引言 事务是数据库管理系统执行过程中的一个逻辑单位,它由一系列操作组成,这些操作要么全部执行,要么全部不执行。事务在保证数据的一致性、隔离性、持久性方面发挥着重要作用。MySQL作为一个广泛使用的数据库管理系统,对事务…...
TCP Analysis Flags 之 TCP Dup ACK
前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...
r-and-r——提高长文本质量保证任务的准确性重新提示和上下文搜索的新方法可减轻大规模语言模型中的迷失在中间现象
概述 随着大规模语言模型的兴起,自然语言处理领域取得了重大发展。这些创新的模型允许用户通过输入简单的 "提示 "文本来执行各种任务。然而,众所周知,在问题解答(QA)任务中,用户在处理长文本时…...
光伏电站的方案PPT总结
现在的市面上每做一个项目,做个项目方案是必不可少的了,光伏电站的项目亦是如此,做一个既美观又有说服力的项目PPT方案就尤为重要,项目PPT方案的全面性,美观度更征服业主,拿下项目,下面我从鹧鸪…...
前端pdf预览方案
前端pdf预览方案 pdf预览一般不需要前端生成pdf文件,pdf文件一般是通过接口,获取pdf文件【responseType:‘blob’,】或二进制文件流【responseType: ‘arraybuffer’,】或者已有的pdf文件。 前端PDF预览通常是通过读取现有的PDF文件,并使用…...
java 深拷贝 浅拷贝 详解
在 Java 中,深拷贝和浅拷贝是对象拷贝(复制)时的两个重要概念,它们决定了拷贝后的对象与原对象之间的关联性。以下是深拷贝和浅拷贝的详解,包括定义、实现方式及其区别。 1. 概念解释 1.1 浅拷贝(Shallow …...
针对git、giteeVSCode连接的使用 || Live Share插件使用
1.下载git 链接 打开终端,桌面鼠标右键 2.配置密钥 登录gitee。 设置密钥 查看官方文档 跟着教程 复制最后的输出进行密钥添加 验证是否添加成功 3.创建&连接远程仓库 创建仓库 git终端进行配置 远程仓库克隆到本地 桌面终端clone,克隆他人|自己的仓库到本地…...
如何解决Ubuntu 20.04中Vim编辑器在按下Ctrl+S时暂停响应的问题
如何解决Ubuntu 20.04中Vim编辑器在按下CtrlS时暂停响应的问题 在Ubuntu 20.04中使用Vim编辑器时,用户可能会遇到按下CtrlS后编辑器似乎“卡死”或无响应的情况。这个问题实际上源于历史悠久的终端行为,而非Vim本身或操作系统的缺陷。以下是详细的分析及…...
mybatisPlus打印sql配置
MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句,以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。 方法 1:通过 application.properties 或 application.yml 配置打印 SQL 可以通过配置 application.properties 或 a…...
Redis 内存管理
参考:面试官:为什么 Redis 不立刻删除已经过期的数据? 目录 1.Redis 给缓存数据设置过期时间有什么用? 2.Redis 是如何判断数据是否过期的呢? 3.Redis 过期 key 删除策略了解么? 4.大量 key 集中过期怎…...
Excel表文本函数、日期和时间函数
一、文本函数 函数说明CHAR返回字符代码所对应的字符CLEAN删除文本中的所有不可打印字符CODE返回文本字符串首字符的代码CONCATENATE合并多个文本字符串EXACT检查两个文本是否完全相同FIND查找文本中某个字符串的位置LEFT从文本的左边开始返回指定数量的字符LEN返回文本字符串…...
从零到一:利用 AI 开发 iOS App 《震感》的编程之旅
在网上看到一篇关于使用AI开发的编程经历,分享给大家 作者是如何在没有 iOS 开发经验的情况下,借助 AI(如 Claude 3 模型)成功开发并发布《震感》iOS 应用。 正文开始 2022 年 11 月,ChatGPT 诞生并迅速引发全球关注。…...
基于Java Springboot幼儿园管理系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...
Python小白学习教程从入门到入坑------习题课2(基础巩固)
目录 一、选择题 二、实战题 2.1 实战1:输入一个年份,判断是否是闰年 2.2 实战2:模拟10086查询功能 2.3 实战3:使用嵌套循环输出九九乘法表 2.4 实战4:猜数游戏 一、选择题 1、以下选项符合Python语法要求且能够…...
做个网站/百度推广竞价开户
广州日昇纸制品有限公司 为您详细解读vDuxfl灯塔uv轮转印刷的相关知识与详情,什么是印前打样?答:打样是印前造做取印刷之间跟尾的工序,让用户正在印刷前预见末印刷品效果。目前凹印行业中常用的打样办法首先有软打样、传统打样和数码打样3种…...
wordpress date/淘宝关键词怎么选取
单机1.0版包括6个class文件:TankClient.java : 主要执行部分,项目的大管家Tank.java : 实现Tank类,模拟坦克的运动Missile.java : 实现Missile类,模拟子弹的运动Explode.java : 实现Explode类,模拟爆炸的产生Wall.java…...
大网站cn域名/北京优化网站方法
开发四年只会写业务代码,分布式高并发都不会还做程序员? Apache HTTP 服务器于4月1日发布了最新的稳定版本 2.4.39,主要是修复安全问题。点此进行下载。 在发布更新不久后,安全研究人员 Charles Fol 便在其博客发布了关于 Apach…...
云南做网站费用/信息发布网站有哪些
碰到一些问题,希望帮忙看看!最近写了一个用户自定义程序,这个程序调用格式是fOpt_DriDispRelia(wt),即给出一个向量wt,就可以得到一个标量f。当然,这个自定义函数为非线性函数,调用MATLAB优化工…...
免费网站建设咨询/seo技术培训宁波
踢掉自己不用的终端 1.查看系统在线用户 w 2.查看哪个属于此时自己的终端(我开了两个连接) who am i 3.pkill掉自己不适用的终端 pkill -kill -t pts/1 注意: 如果最后查看还是没有干掉,建议加上-9 强制杀死。 pkill -9 -t pts/1 …...
网站建设合同审批/新闻最新消息今天
2018DOI: 10.19595/j.cnki.1000-6753.tces.L80178基于变周期递推最小二乘法与卡尔曼观测器的伺服系统在线惯量辨识杨明屈婉莹陈扬洋徐殿国(哈尔滨工业大学电气工程及自动化学院哈尔滨150001)摘要交流伺服系统运行过程中,系统参数的变化和外界干扰会影响系统性能。而…...