【Python入门教程01】Python 到底是干什么的?应该怎么入门?

2024-04-25 19:08

本文主要是介绍【Python入门教程01】Python 到底是干什么的?应该怎么入门?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

♩-♪-♫-♬ 原创文章,欢迎正常授权转载(请联系作者),反对恶意复制粘贴,如有发现必维权 ♩-♪-♫-♬

随着人工智能的火热,Python越来越受到关注,越来越多的人加入到Python学习中。相信如果有教程的“加持”话,绝大部分人学会肯定不是什么大的问题。最怕的是自己一开始就学错了方向,浪费了大把大把的时间。
举个例子,你最开始是学习Python来进行人工智能开发,教程前半部分讲的是基本语法等等,完全符合需求,结果后半部分却是针对web开发的。这个问题真的很普遍,尤其是对于刚刚入门的小白来说,很多人都学完了都没反应过来。

我遇到很多人就是这个情况。

小白:我想学习Python,以后搞人工智能,现在很火的

:很好呀,有很多教程书籍,上手很快的。

。。。

过了2周,小白学的是真的快,直到他问了我一个问题,我意识到了问题

小白:诶~师兄,那个Django我怎么装不上呀?这书是不是写的不对呀?你帮我看看呗。

:你不是要学人工智能吗?怎么改web开发了呢?。。。

小白:这些不是人工智能必须的???

为什么要在写这个系列教程开始前,强调这个问题呢?因为实际的经历告诉我这个真的很重要。把握住学习的关键点能节省大量的精力来加深我们真正关注的研究。因此,推荐想要学习Python的小白仔细研究一下自己想要学什么,有方向有目的的去学。

个人认为最快速最高效的Python学习方法:

  • 确定开发方向,这也是本文的目的。
  • 学习基本语法,只需了解基本语法、数据结构,能够分清代码中的各个区块,其他不作深入研究。
  • 上手实践项目,一个项目一个项目的学习,此时遇到不懂的语法问题、数据结构问题再详细的了解学习。

下面进入今天的正题。

1. 什么是Python?有什么特点?

Python 是一种解释型面向对象动态数据类型高级程序设计语言

  • 解释型:相对于编译型语言(C语言、C++等)存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。通俗的讲就是“边翻译边执行”,因此效率相对低,但跨平台性更好。

  • 面向对象:相对于面向过程语言(C语言)存在的,面向对象语言的代码复用性更高,代码管理维护更简单。

  • 动态数据类型:相对于静态数据语言(C++等)存在的,静态类型语言中,变量具有类型,而且在编译期确定,具有某一类型的变量只能持有相同类型的数据。动态类型语言中,变量没有类型,只有数据有类型,变量可以持有任意类型的数据,只有在运行的时候才知道数据的真实类型,优点:更加灵活多变。

  • 高级程序设计语言:面向用户的、基本独立于硬件环境外的程序设计语言。Python语言相对于C++等更“高级”,可读性更好,开发效率也更高,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行,但代价就是Python执行效率相对较低。

2.Python可以做什么?

上面这张图片将Python开发的主要方向罗列了一下,Python主要用于以下几个方向的开发:

(1)人工智能

得益于Python良好的开发效率及大量开源的人工智能开发框架,Python在人工智能领域的应用可以说是垄断性的;大部分的研究机构和公司在开发过程中都使用Python。
在这里插入图片描述
如果致力于人工智能方面的学习,需要注意目前人工智能主要在计算机视觉、自然语言处理以及数据挖掘三大领域具有较好的应用,学习的时候建议挑选一个领域学习,如果都感兴趣,那还是基本了解一个之后再研究其他的。这里给大家推荐一些后期学习的Python库:

  • numpy ---- 主要用于数据处理,包括大型矩阵运算等。
    中文文档:https://www.numpy.org.cn
  • TensorFlow ---- 谷歌开发的基于静态计算图的人工智能算法库,2.0后支持动态图。
    中文社区:http://www.tensorfly.cn
  • PyTorch ---- Facebook开发的基于动态计算图的人工智能算法库,与TensorFlow并称“双雄”,建议挑一个学。
    官方中文文档:https://pytorch.apachecn.org
  • Paddle ---- 百度开发的“飞桨”,优点是全中文文档,感兴趣可以研究一下。
    官方文档:https://www.paddlepaddle.org.cn
  • opencv ---- 开源图像处理库,如果研究图像处理方面的人工智能,那基本绕不过它了。
    官方英文文档:https://docs.opencv.org

(2)数据分析与处理

现在比较受欢迎的数据分析与处理语言是Java与Python,Java在大数据处理方面还是比较倾向软件应用与网站数据,包括游戏数据处理,特别是金融服务数据处理,一直都是Java的强项;Python有着众多免费科学算法库,优势在人工智能大数据处理,当然也有使用Python在银行的基础架构中处理财务数据。
在这里插入图片描述

由于本人对大数据爬取及分析处理不甚了解,这里不介绍大数据处理方面的内容,这里仅简单介绍一些日常学习研究过程中用到的数据处理及可视化的Python库。

  • numpy ---- 上文已介绍。
  • pandas ---- 一种 "表格式"数据管理计算库,Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
    中文手册:https://www.pypandas.cn
  • matplotlib ---- 一个Python 2D绘图库,广泛应用于数据的可视化。
    中文手册:https://www.matplotlib.org.cn

(3)Web开发

Python超高的开发效率使得其也非常适合web开发,Python有上百种Web开发框架,有很多成熟的模板技术,这里简要介绍几种。

  • Django ---- “Web框架界的变形金刚”,Django的MVT架构、自带ORM、强大的Admin后台管理、自带数据库、还自带开发测试用的服务器、不得不说服务周到。如此大而全,重量级的Django给开发者提供了超高的开发效率。

  • Flask ---- 相较于Django ,Falsk属于轻量级Web框架,特点是自由、灵活、可扩展性很强。很适用于开发小型应用、开发大型网站也没有压力,自己设计架构、选择合适第三方扩展,各方面性能完全不输Django。

  • Tornado ---- 全称是Torado Web Server,可用作Web服务器,同时也是一个Python Web的开发框架。Tornado 走的少而精的路子,除了Web开发需要的基本模块,剩下的则都需要开发者自己扩展。

(4)可视化桌面软件

相较于C++,Python执行效率相对较低,可视化并不是Python的强项,但并不是说Python就完全不适合作为可视化软件的开发,对于计算量不大、时间不敏感的需求,Python是一个不错的选择。例如,在科学研究过程中,可视化的桌面软件有着巨大的作用,良好的用户可视化可以大幅提高研究效率,减少过程中不必要的错误,而Python上手简单开发效率高,研究人员可以使用Python快速搭建可视化的桌面软件实现自己的需求。

这里介绍一款功能强大,上手极快的可视化开发Python包:

  • PyQt ---- Qt的Python版本,与C++版的Qt在函数的使用方法上基本一致。有PyQt4及PyQt5的区别,个人建议使用PyQt5。优点:底层实现基于C++,拥有很高的执行效率,可以轻松满足研究过程中的基本需求;其次是它有很多通用工具可以使用,可大大提高开发效率。
    官方文档:https://doc.qt.io

下图就是我在做摄像机标定研究时开发的一个可视化桌面软件。
在这里插入图片描述

(5)其他用途

除去上述的主要用途,Python在其他领域也有着重要的应用。其极高的开发效率,使得使用者可以快速实现自己的需求。在开展一些简单的重复性工作时,可以使用Python大幅提高劳动率,例如:大量的文本及表格数据处理。

如果你读后有收获,欢迎关注我的微信公众号
上面有更多完全免费教程,我也会不定期更新
ღ ღ ღ 打开微信扫描下方二维码关注 ღ ღ ღ

在这里插入图片描述

这篇关于【Python入门教程01】Python 到底是干什么的?应该怎么入门?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935538

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e