【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正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB