【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 Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤