《Python基础》第1期:人生苦短,我用Python

介绍

Python 在英语中是蟒蛇的意思,它的 logo 也是两条蟒蛇缠绕在一起。

然而 Python 和蟒蛇实际上没有半点关系。

Python 是由荷兰程序员 Guido van Rossum(因为其名字的前三个字母“gui”是中文“龟”的拼音,所以江湖人称“龟叔”)独立开发完成初版的。

“龟叔”曾供职于 Google,现任职于 Dropbox(多宝箱)。

1989 年圣诞节期间,在阿姆斯特丹,“龟叔”为了打发圣诞节的无趣,决心开发一个新的脚本解释语言,作为 ABC 语言的一种继承,然后他就这么做了,并实现了(天才就是天才)。

之所以选中 Python 作为该编程语言的名字,是因为他是一个叫 Monty Python 喜剧团体的爱好者,其本意并不是想选条蟒蛇。

Python 的口号是:“人生苦短,我用 Python”。

这条口号已经被 Python 业界广泛使用,快成了广告词一类的存在了。

从这个口号也可以看出 Python 简单、易学、省心的特点。

它特别适合没有编程经验但需要将编程语言当作工具的人(比如算法工程师),这也是为什么 Python 能乘着人工智能的风口起飞的原因之一。

历史

  • **(1991年)Python 0.9.0:**这个版本包含了诸多基本的语言特性,如模块、异常处理、函数以及核心数据类型(字符串、列表等)。
  • **(1994年)Python 1.0:**引入了一些现在看来很基本的特性,如 lambda、map、filter 和 reduce。此时 Python 已经有了一个相对完整的语言结构。
  • **(2000年)Python 2.0:**引入了重要的特性,包括垃圾回收机制和 Unicode 支持。在此之后,Python 逐渐成为一门适用于多种领域的编程语言,从 Web 开发到科学计算都有了一席之地。
  • **(2008年)Python 3.0:**也被称为 Python 3000 或简称为 Py3k。这个版本引入了不兼容的语法和库变化,以提高语言的一致性和清晰度。

截止到现在的 2025 年,Python 的最新版本依然是 3.x,语法也没有大的变化,可见其稳定性和完善性。

这样就不用经常学习其新的语法和特性,是非常利好学习者和开发者的(此处内涵半年发布一个大版本的 Java)。

Python 源代码遵循 GPL(GNU General Public License)协议。

这是一个开源的协议,也就是说可以免费使用和传播它,而不用担心版权的问题(再次内涵按人头收费的 Oracle JDK)。

目前 Python 是由一个核心开发团队在维护,“龟叔”属于太上皇职位,仍然占据着至关重要的作用,指导其进展。

现状

Python 近些年一直占据榜单的第一名,可见其热度。

Python 是一种“胶水语言”,其本身非常简单。

但它有非常多的扩展库,而且这些扩展库不是为编程开发服务的,而是为科研、数据分析、机器学习、办公自动化等服务的。

人工智能依赖于机器学习,近些年人工智能大火,自然就带动了 Python 的火爆。

但一定要注意,Python 不等于人工智能

Python 之于人工智能,好比计算器之于会计师,会计师都需要使用计算器。

但计算器本身只是工具,不是技术,衡量一个会计师的水平也不会是计算器的熟练程度,而是会计的专业技能。

以我目前工作的公司为例,我们公司是做工业巡检机器人的,其中有一个算法部门,里面基本全是数学专业的硕士,他们很多完全没学过编程,只是工作要做人工智能才顺带学了 Python。

由此可见,人工智能需要的是数学,Python 只是用来实现数学目的的工具。

所以如果想从事人工智能的工作,应该把精力放在数学的学习上,并尽量取得硕士学位(人工智能行业对学历要求很高,基本硕士才是入门标准)。

至于 Python,完全可以等数学这样的专业知识学习完毕后再将其作为工具学习。

至于爬虫,很多无良培训机构会以爬虫的低门槛、高收入作为 Python 的亮点进行宣传。

但爬虫需要掌握的知识其实很多,前后端都得会,门槛并不低。

高收入或许是事实,但风险也是同样高的,因为爬虫本身就是“灰色地带”,现在的政策对爬虫越来越严厉,市场也越来越小。

要是现在还一门心思做爬虫,很可能是“面向监狱编程”了。


Python 能有今天这样的成就,纵然与外界因素有关(比如近些年大火的人工智能),但其本身简单易学的语法、完善的工具库、舒适的开发体验,都是它能把握住时代风口的重要原因。

学习 Python,并不为将其作为“饭碗”,而是将其作为“餐具”,让我们可以更好的“吃饭”。

作为程序员,在人工智能的时代,学会 Python 注定能走得更远。

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

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

相关文章

DiT、 U-Net 与自回归模型的优势

DiT 相对于 U-Net 的优势 全局自注意力 vs. 局部卷积 U-Net 依赖卷积和池化/上采样来逐层扩大感受野,捕捉全局信息需要堆叠很多层或借助跳跃连接(skip connections)。DiT 在每个分辨率阶段都用 Transformer 模块(多头自注意力 ML…

怎么查找idea插件的下载位置,并更改

长期使用 IntelliJ IDEA 时,默认存储在 C 盘的配置文件会持续生成大量缓存和日志文件,可能导致系统盘空间不足。通过修改默认配置文件存储位置,可以有效释放 C 盘空间并提升系统性能。 1,先找到自己idea的下载目录,再打…

IoT/HCIP实验-1/物联网开发平台实验Part2(HCIP-IoT实验手册版)

文章目录 概述产品和设备实例的产品和设备产品和设备的关联单个产品有多个设备为产品创建多个设备产品模型和物模型设备影子(远程代理) 新建产品模型定义编解码插件开发编解码插件工作原理消息类型与二进制码流添加消息(数据上报消息&#xf…

15.进程间通信(一)

一、进程间通信介绍 进程间通信目的: 数据传输:一个进程需要将它的数据发送给另⼀个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们&#xf…

05-jenkins学习之旅-vue前项目部署实践

1、创建被管理项目 2、构建流程说明 jenkins其实就是将服务部署拆分成了: 1、拉取代码(git) 2、打包编译(npm install) 3、自定义脚本(dist复制、执行启动脚本) 4、部署成功后的一些通知等 3、demo配置 3.1、General 3.2 源码管理 添加用户名密码方式如下图 3.2…

服务器中分布式存储数据技术都包含哪些内容?

随着大数据时代的到来,企业和组织对于服务器的存储要求也在不断地增高,传统的存储架构已经无法满足一些大规模的数据存储和处理需求,分布式存储技术应运而生,成为了大数据存储的重要基础设施,下面,就来介绍…

从比分滚动到数据革命:体育数据如何重构我们的观赛体验?

当凌晨三点的欧冠决赛与闹钟冲突时,当世界杯小组赛因时差难以全程跟进时,当代体育迷早已不再依赖电视直播 —— 打开手机里的比分网,实时跳动的体育大数据正构建着全新的观赛宇宙。这些曾经被视为 "辅助工具" 的平台,如…

vue2使用element中多选组件el-checkbox-group,数据与UI更新不同步

问题描述 使用element多选checkbox组件,点击勾选取消勾选,视图未变化,再次点击表单其他元素,多选组件勾选状态发生变化,视图和数据未同步 第一次尝试:再el-checkbox-group多选父组件上增加点击事件&…

CodeTop之LRU缓存

题目链接 146. LRU 缓存 - 力扣(LeetCode) 题目解析 算法原理 我们使用双向链表哈希表的形式来模拟缓存机制 首先我们要自己实现一个双链表, 自己写一个内部类, 这个内部类记录了key,value,prev,next(前驱和后继), 后续我们就通过这个内部类来构造双…

PyQt学习系列11-综合项目:多语言文件管理器

PyQt学习系列笔记(Python Qt框架) 第十一课:综合项目 - 多语言文件管理器 (原课程规划中的第十五课,按用户要求调整为第十一课) 课程目标 综合运用PyQt框架开发一个支持多语言的文件管理器实现以下核心功…

【Ubuntu修改串口延时(Latency Timer)为1毫秒(设备拔插或系统重启后自动生效)】

Ubuntu修改串口延时Latency Timer为1毫秒-设备拔插或系统重启后自动生效 在Ubuntu系统中,串口设备的延时参数(latency_timer)可以通过udev规则永久修改。以下是完整步骤: 创建udev规则文件 sudo vim /etc/udev/rules.d/99-ftdi-low-latency.rules添加以…

OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于在 GPU 上交换图像的通道顺序(例如将 BGR 图像转为 RGB)。 它适用于多通道图像(如 3 通道或 4 通道…

Linux Ubuntu24.04配置安装MySQL8.4.5高可用集群主从复制!

MySQL 主从复制(Replication)是实现数据高可用、读写分离及异地容灾的核心机制之一。主库写、从库读,提升并发能力;读写分离,减轻主库压力。 本地 windows 系统有一个Linux Ubuntu子系统,版本为Ubuntu 24.…

R基于逻辑回归模型实现心脏病检测及SHAP值解释项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 心血管疾病是全球范围内导致死亡的主要原因之一,每年有数百万人因此失去生命。在众多的…

嵌入式学习笔记 -函数嵌套时以及异常响应时,LR使用的具体过程

函数嵌套时以及异常响应时,寄存器LR的作用存在显著区别,理解这个问题对于理解freeRTOS底层代码的实现大有帮助,具体使用过程如下: 一 函数嵌套时的LR使用的具体过程 在ARM架构(特别是M0处理器)中,函数嵌套调用时LR(L…

Java String函数的使用

文章目录 String字符串比较字符串查找转化字符串替换字符串拆分字符串截取(常用)字符串的不可变性 String str本来是字符串常量的引用,应该打印地址,但是编译器重写了toString方法,所以打印hello String 的构造方法 …

Oracle 11G RAC重启系统异常

vmware安装centos7环境部署Oracle RAC (11.2.0.4) 部署时所有资源情况都是正常的,关机重启虚拟机后集群资源状态异常,请教CSDN大佬 – 部署规划 域名地址备注rac16192.168.31.16rac17192.168.31.17rac16vip192.168.31.26viprac17vip192.168.31.27vip…

吉林省CCPC与全国邀请赛(东北地区赛)游记

总述: 本次赛段共获得一银(吉林省赛)、一铜(东北地区赛)、一铁(全国邀请赛的成绩)。总体成绩跟校内赛的情况相比队伍状态与发挥水准都有提升),但也体现出很多不足&#x…

「Python教案」循环语句的使用

课程目标 1.知识目标 能使用for循环和while循环设计程序。能使用循环控制语句,break、continue、else设计程序。能使用循环实际问题。 2.能力目标 能根据需求合适的选择循环结构。能对嵌套循环代码进行调试和优化。能利用循环语句设计&am…

OpenCV---findCountours

一、基本概念与用途 findContours是OpenCV中用于在二值图像中查找轮廓的核心函数。轮廓作为连续的点集,能够精确勾勒出物体的边界,广泛应用于目标检测、形状分析、图像分割等领域。 函数核心价值 目标检测:通过轮廓定位图像中的物体&#…