找了一堆Python教程自学,为何还是看不进去!那是因为你根本没找对方法

2023-11-18

【Python学不进】这个系列我今天就再带着大家梳理一遍,虽然我之前也讲过这系列,因为…有人还是不会啊!

我想说的就两个点:

  • 第一:学Python以实用性为导向

  • 第二:理解和运用

学Python死记硬背作用不大的,从来没听过哪个程序员是靠背学会编程的,要理解代码是干什么用的,为什么要这么用?

比如 Python 的函数和控制语句,是真正去解决问题的过程。

如何实现判断和循坏?如何将固定的功能模块封装成函数?你能看懂它的概念和语法,但让自己开始写起代码,就无从下手。

再就是学了就要用起来,学以致用!

Python讲究实用性,等到理论学的差不多了再去实操这是最大的学习误区,学是学了,整活又整不来。

基础知识

想入门首先还是基础语法的学习,这是关键。

Python的基础语法包括两大部分,其一是函数式编程部分,其二是面向对象编程部分。

这个阶段的重点:

掌握Python基础语法, 具备基础的编程能力

建立起编程思维以及面向对象程序设计思想

基础语法
  • 计算机组成原理

  • Python开发环境

  • Python变量

  • 流程控制语句

  • 高级变量类型

  • 函数应用

  • 文件操作

  • 面向对象编程

  • 异常处理

  • 模块和包

基础模块1

基本规则、Python语言特点、计算机语言、如何运行Python、变量赋值五个方面,掌握Python编程的基底知识。

基础模块2

模块结构、布局、IO编程流程、标识符、Python对象、内存管理、动态类型六大模块。

两张基础知识导图可以帮助你区域化了解Python的组成部分及基本操作;

高阶语法

学习完基础语法,写写算法题不成问题,但是对应更复杂的环境和需求需要学习一些高阶内容。

  • 网络编程

  • 并发编程

  • 数据库编

  • 正则表达式

  • Linux系统应用

  • 函数的高级应用

  • Python语法高阶

  • 此阶段的重点知识:

  • 熟练使用Linux操作系统;

  • 掌握网络编程相关技术, 能够实现网络间数据通信;

  • 掌握程序设计开发中多任务实现方式;

  • 熟练掌握MySQL操作相关技术, 熟练编写各种数据库操作SQL语句, 并能够进行Python与MySQL之间的数据交互;

  • 掌握Python中的re模块的使用, 能够实现对字符串进行复杂模式匹配;

  • 掌握Web服务器的工作流程, 以及Web框架的实现原理

总的来说,Python的基础语法部分通常还是比较容易掌握的,列表、函数、字符串、流控等内容比较好理解。

面向对象部分对初学者稍难一点,需要一点抽象思维。

想要入门一门语言,还有两个要素是无法回避的,一是学习资料,二是开发工具。学习资料放在了文末,需要的话可以直接划到文末

开发工具

简单说几个,工具选择自己用得顺手的就行;

  • IDLE

Python安装自带工具,被很多人诟病,但我觉得它安装简单,反而很适合初学者。如果实在不喜欢,可以在学习一段时间后改选其他的工具。

  • pycharm

专业级神器,缺点是比较笨重,平时写小程序的话一般不用。

  • sublime text:轻量级神器

  • Anaconda

集成了大量数据分析相关库,安装方便,另外它的调试功能据说也比较强大。缺点是界面比较难看,代码补全功能也不完善。

  • Ipython

又称jupyter,Anaconda自带,我最近才开始使用,能够实时查看代码输出(这一点也很适 合初学者)

最后补充一点Python版本选择的问题,其实这个问题真的真的不用纠结,我还是建议选择Python3入手,毕竟Py3是大势所趋。

注重实战

在这个阶段,一定要多动手实践,始终要相信我们实践是检验真理的唯一标准,查找和处理过程中遇到的错误和异常,遇到问题多上网搜索、找人求教。

虽然过程很难,在成功的解决了这些问题之后,会有一种很大的成就感,这样一个良性循环,才是你学习Python这类程序语言的最大动力。

实操网站

  • GitHub

非常实用的一个网站了,这里找项目训练资源非常不错,数量也很多,也是源码学习、版本控制不可缺少的网站。

  • python3简明教程

一个综合的教程,划分了很多不同类别的知识模块,比较偏重实战,作为入门也很不错。

提供了开箱即用的实验环境,免去了搭建环境的麻烦。

  • 开源中国

开源中国社区的项目合集,里面还有福利项目。

  • 廖雪峰的官方网站

廖雪峰老师的教程非常经典,可以当做Python的百科全书来参考。

觉得单练项目太枯燥无聊了?这里介绍几个有意思的在线编程练习网站,在玩儿中练习编程。

① python100天从新手到大师:非常适合新手练习的项目教程

② py.CheckiO编程挑战练习:游戏闯关模式

③ Codingbat:在线编程练习网站

④ The Python Challenge:项目挑战型编程网站

细化目标

当你决定入门 Python 时,需要一个清晰且短期内可实现的目标。

比如你想通过学习找一份初级程序员工作,目标明确后,你需要了解企业对初级程序员有哪些技能要求。

下面是我从某招聘网站找的一个初级 Python 工程师的任职要求:

1、熟悉 Python 及常用的 Web 开发框架;

2、至少熟悉一种数据库的使用,如MySQL、mongodb、redis等;

3、熟悉 Linux 操作系统及常用命令;

4、良好的编码习惯和文档编写习惯;

做 Python 开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,你不光要学如何投篮,还要练习力量、技战术等一整套东西。

所以一个普通 Python Web 开发工程师需要掌握的技能包括至少一个Web框架,比如:Django、Flask、Tornado,做业务系统离不开数据库的支撑。

另外,还需要对Linux系统的基本操作和常用命令有所了解,因为以后你写到程序基本上都会运行在Linux平台上。

想做Web开发的话,HTML、JS、CSS 是必须有所了解的,作为前端技能,不一定要深入了解,做到能写基本的HTML代码就够了。

此外,还需要了解 HTTP 协议(推荐《图解HTTP协议》);

目前比较主流的Web框架有 Django、Flask、Tornado,各自都有各自的特点,Django 文档丰富、Flask 短小精悍、Tornado 异步并发。

这里推荐使用 Flask,推荐书目《Flask Web开发:基于Python的Web应用开发实战》

Linux 推荐《快乐的 Linux 命令行》,同样是一本非常经典的入门迷你书,没有太多理论,范围也不太宽。

MySQL只推荐一本《MySQL必知必会》,不到250页的小册子,实践性很强,没有什么艰深晦涩的理论堆砌,看完这本书基本入门数据库了

进阶提升

个人python进阶的方法是学完基础知识后,就先从网络编程开始,从一个最简单的socket开始,先写写两台机器如何通讯,找找成就感。

然后接着学习socketserver模块和http.server模块,它们是一个封装一个,你读了这两个模块之后,就知道python面向对象的强大。

即使你现在写不了那么好的代码,但还是在进步。

尤其是http.server模块,你看完它的源码后开始朝着python的web服务器方向发展了,要知道python的web服务器代码,都是基于socket封装的,一行代码一行写出来的。

此时你的电脑就是一个简单的web服务器了,可以通过浏览器获得你电脑让的文件。

了解了这些,就可以着手写一个最简单的web服务器了,其实几行代码就搞定了,代码一次只能服务一台客户端,然后开始思考该怎么做让python实现并发。

在Python中有三种方式,进程、线程和协程,进程先不说,聊聊线程和协程。

这样说吧,线程和协程实现的功能差不多,但是协程占用的系统资源更少,它不需要CPU进行上下文的切换,所以最好的解决方案便是进程加协程。

这时候又开始进入了一个新的学习领域,开始了解协程,从最简单的yield关键字开始,接着了解python中的异步模块,然后到终极异步模块asyncio。

期间,可以使用异步写些小程序,比如写个聊天室,单线程下的并发,到了最后,你会发现学的异步和web服务器相结合,使其更加强大,

如果只是玩玩的话,完全可以将它搭在你的服务器上,提供一些简单的网页服务。如果还想继续发展的话,可以写个小型的web框架玩玩。

这时候就可以去了解爬虫了,毕竟服务端已经了解的差不多了。

先写服务端有一个好处,可以从无到有,锻炼自己写代码的水平,爬虫已经封装的很好了,如果从零开始写有点小麻烦。

还是那句话,慢慢学,如果感兴趣,也可以写个小型的框架来玩。

接着可以玩一些高级一点的,之前我所说的一些和python相关的编程,有个高中知识水平就可以搞了。

但是你想玩数据分析和机器学习那就需要大学的知识储备了,高数、线代、统计学、概率论等等数学知识。

这时候先结合你之前的爬虫知识搞搞简单的数据分析,然后在慢慢的一步步深入下去,那时你应该会有了自己明确的目标了。

想要做到这一点,过程可能不会有那么顺畅,坚持很重要。

Python学习资源分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python入门

下面这些内容是Python各个应用方向都必备的基础知识,想做爬虫、数据分析或者人工智能,都得先学会他们。任何高大上的东西,都是建立在原始的基础之上。打好基础,未来的路会走得更稳重。

包含:

  • 计算机基础
  • python基础
    在这里插入图片描述
    在这里插入图片描述

Python入门视频资料

在这里插入图片描述

二、Python爬虫

爬虫作为一个热门的方向,不管是在自己兼职还是当成辅助技能提高工作效率,都是很不错的选择。

通过爬虫技术可以将相关的内容收集起来,分析删选后得到我们真正需要的信息。

这个信息收集分析整合的工作,可应用的范畴非常的广泛,无论是生活服务、出行旅行、金融投资、各类制造业的产品市场需求等等,都能够借助爬虫技术获取更精准有效的信息加以利用。

在这里插入图片描述

Python爬虫视频资料

在这里插入图片描述

三、数据分析

清华大学经管学院发布的《中国经济的数字化转型:人才与就业》报告显示,2025年,数据分析人才缺口预计将达230万。

这么大的人才缺口,数据分析俨然是一片广阔的蓝海!起薪10K真的是家常便饭。
在这里插入图片描述

数据分析资料

在这里插入图片描述

四、数据库与ETL数仓

企业需要定期将冷数据从业务数据库中转移出来存储到一个专门存放历史数据的仓库里面,各部门可以根据自身业务特性对外提供统一的数据服务,这个仓库就是数据仓库。

传统的数据仓库集成处理架构是ETL,利用ETL平台的能力,E=从源数据库抽取数据,L=将数据清洗(不符合规则的数据)、转化(对表按照业务需求进行不同维度、不同颗粒度、不同业务规则计算进行统计),T=将加工好的表以增量、全量、不同时间加载到数据仓库。
在这里插入图片描述

五、机器学习

机器学习就是对计算机一部分数据进行学习,然后对另外一些数据进行预测与判断。

机器学习的核心是“使用算法解析数据,从中学习,然后对新数据做出决定或预测”。也就是说计算机利用以获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。
在这里插入图片描述

机器学习资料:

在这里插入图片描述

六、Python高级进阶

从基础的语法内容,到非常多深入的进阶知识点,了解编程语言设计,学完这里基本就了解了python入门到进阶的所有的知识点。

在这里插入图片描述

到这就基本就可以达到企业的用人要求了,如果大家还不知道去去哪找面试资料和简历模板,我这里也为大家整理了一份,真的可以说是保姆及的系统学习路线了。

在这里插入图片描述

但学习编程并不是一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以点击下方CSDN官方认证微信名片免费领取↓↓↓【保证100%免费

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找了一堆Python教程自学,为何还是看不进去!那是因为你根本没找对方法 的相关文章

随机推荐

  • JS求任意字符串中出现最多的字符以及出现的次数

    随意定义一个字符串 var str 111iiiw2shhfel000 定义函数 function num str 定义一个空对象 因为这边要求出现最多次数 以及出现的字符 这边使用对象的方式再合适不过了 键值对的形式 var obj 求出
  • 在idea使用本地jetty

    参考 https www jetbrains com idea help run debug configuration jetty server html背景 web开发当中 我觉得服务层的代码尽量用单元测试来测 这样可减少启动web容器
  • HTTP代理编程:Python实用技巧与代码实例

    今天我要与大家分享一些关于HTTP代理编程的实用技巧和Python代码实例 作为一名HTTP代理产品供应商 希望通过这篇文章 帮助你们掌握一些高效且实用的编程技巧 提高开发和使用HTTP代理产品的能力 一 使用Python的requests
  • 小数转化为二进制

    小数转换为二进制方法 a 0 125 10 0 125 10 转化为二进制方法 取每次结果的小数乘以2得到b 取b的整数位 如果b为1 0结束计算得到结果 0 125 2 0 25 gt 取整数部分 0 0 25 2 0 5 gt 0 0
  • 【C#】.Net Framework框架下使用SQLike以及基本概念

    2023年 第32周 第2篇文章 给自己一个目标 然后坚持总会有收货 不信你试试 在C 的 NET Framework框架下 有很多轻量级数据库选择 比如 SQLike就是其中一款 一起来了解SQLike的简单使用吧 目录 一 轻量级数据库
  • 关于VUE 配置文件config详解内容

    const path require path module exports 区分打包环境与开发环境 process env NODE ENV production 打包环境 process env NODE ENV development
  • 【知识蒸馏】知识蒸馏(Knowledge Distillation)技术详解

    参考论文 Knowledge Distillation A Survey 1 前言 近年来 深度学习在学术界和工业界取得了巨大的成功 根本原因在于其可拓展性和编码大规模数据的能力 但是 深度学习的主要挑战在于 受限制于资源容量 深度神经模型
  • C++ 使用海康威视SDK将视频推流到rtmp服务器

    研究FFmpeg有两三年了 一直没写过这方面的文章 今天记一下 由于工作关系 需要将化工企业内部的视频发布到一个部署在公网的视频服务器 然后由相关人员浏览 由于是化工企业 企业严禁外部的机器直接访问视频网络 最多提供一个跳板机 因此 两年多
  • 干洗店小程序,洗鞋店小程序,互联网洗鞋店,企业干洗方案,干洗行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发;

    干洗店小程序 洗鞋店小程序 互联网洗鞋店 企业干洗方案 干洗行业小程序 上门取衣小程序 预约干洗小程序 校园干洗店小程序 工厂干洗店小程序 干洗店小程序开发 微信干洗店小程序 一 核心功能介绍 1 支持上门取送 送货到店 寄存网点 智能衣柜
  • oracle9i升级oracle10g

    author skate time 2009 09 11 网上看到一篇oracle9i升级oracle10g的文章 觉得不错 记录下来 你可以参考汪海的文章 http wzwanghai spaces live com 37AFBD116
  • day3作业

    在家目录下创建目录名为 shuren ubuntu ubuntu mkdir shuren 在shuren目录下创建d1 d2 d3 注意d2在d1目录下 d3在d2目录下 ubuntu ubuntu mkdir shuren d1 d2
  • java 数组作为方法参数

    数组作为方法参数 例 定义方法 打印输出数组元素的值 public void printArray int arr 数组明指向数组的第一个的元素 数组作为方法参数的方法调用 数组作为方法参数 当传参的时候 传递的是数组的名字 而在方法中定义
  • React 组件通讯

    目录 1 组件通讯 概念 1 组件的特点 2 知道组件通讯意义 总结 2 组件通讯 props 基本使用 1 传递数据和接收数据的过程 2 函数组件使用 props 3 类组件使用 props 总结 3 组件通讯 props 注意事项 1
  • Mybatis的缓存(实例)

    目录 概念 实例 Mybatis中的一级缓存 清空一级缓存的时机 Mybatis中的二级缓存 总结 gt 项目源码 概念 缓存 存于内存中的临时数据 使用缓存优点 减少和数据库的交互次数 提高执行效率 缓存适用于 经常查询并且不经常改变的
  • GO连接数据库--踩坑(超详细)

    当使用go语言对数据进行连接时需要几部操作 1 数据库侧 需要允许远程连接 具体操作方法详见 本地主机连接阿里云数据库 自建数据库 排雷 秋为春的博客 CSDN博客 2 GO侧 1 需要引入go sql driver驱动 常见的引入方法有两
  • FPGA同步复位和异步复位的区别以及设计处理

    FPGA复位信号的设计处理 同步复位 同步复位 同步复位信号跟触发器的时钟是同步的 只有在时钟的跳变沿到来之后才会生效 对应verilog代码如下 这种写法会被编译器综合成同步复位 always posedge clk begin if r
  • 5-C语言-三子棋

    问题 用C语言实现三子棋 思路 整体思路 1 肯定先出现菜单 之后在判断 是否退出 出现菜单 肯定就会有选择 不同的选择 进入不同的函数 而选择的话 用switch实现分支选择 2 实现基本思路 选择1 进入游戏 选择2退出游戏 其他情况
  • Altium 不同原理图之间的网络标号没有连线的问题 error:Duplicate Net Names

    今天画板子 发现同一个工程下不同原理图之间的相同网络标号导入到PCB文件之后 pin没有连接在一起 很奇怪 重复导入号几次都是同样的结果 后来发现原理图中会报错 error Duplicate Net Names 搜索后发现 随后在Proj
  • vmware磁盘在线扩容后不显示扩容后的空间(无需重启)

    简单粗暴 增加磁盘容量后无法显示增加的空间容量 查看磁盘空间 饶了三圈寻他千百度 我用的是这条命令 分区名称自行对应sda sdb echo 1 gt sys block sda device rescan 通过总线标识刷新 ll sys
  • 找了一堆Python教程自学,为何还是看不进去!那是因为你根本没找对方法

    Python学不进 这个系列我今天就再带着大家梳理一遍 虽然我之前也讲过这系列 因为 有人还是不会啊 我想说的就两个点 第一 学Python以实用性为导向 第二 理解和运用 学Python死记硬背作用不大的 从来没听过哪个程序员是靠背学会编