【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

相关文章

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互