用了半年的时间,把python学到了能出书的程度

2024-03-03 00:32

本文主要是介绍用了半年的时间,把python学到了能出书的程度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    Python难学吗?不难,我边做项目边学,过了半年就通过了出版社编辑的面试,接到了一本Python选题,并成功出版。

    有同学会说,你有编程基础外带项目实践机会,所以学得快。这话不假,我之前的基础确实加快了我的学习进度。不过话说回来,我平时也做兼职培训,我的学生大多是没基础的,我用本文给出的资料和方法去培训他们,学的好的同学,3个月后能干基本的python项目,照此速度,用1年时间做到精通python,达到出书的程度,应该也不是难事。

    所谓赠人玫瑰手有余香,本人将在这篇文章里,尽可能详细地复原本人的学习历程,以及我辅导学生学python的步骤,以求最大程度帮助到那些想学python的同学。

1 要明确目的,没目的宁可学其它

    如果是为了学着玩,那么不建议学python,因为学了几周就会因为失去兴趣,这样之前的学习就白费了。

    学Python一般需要有比较功利性的目的。比如想学好了跳槽涨工资,又如像我这样公司项目要用,学好了挣工资,或者干私活要用,学好了能录制视频能出书。

    明确好目标后,你就有学习方向了。比如你学好了想要跳槽,就去看大多数jd对python的要求,无非是数据分析,爬虫外带各种机器学习和深度学习应用。比如像我要做金融量化,无非也是数据分析三剑客和深度学习,可能还外带些爬虫技术。如果你要出书出视频,也去看人家怎么做的。总之,有了功利性的目的后,你就会明白你该学习的内容列表。

   其实说倒底,哪怕是深度学习知识图谱人工神经网络这些看上去很高深的技能点,但在python里无非是引入库+调用方法,无非就是调用时传入不同的参数罢了,而且这些技能都有现成的书可以参考。但如果你事先不明确学习目标,这样就不会知道还要学什么。

    我看到网上有不少人在问,python该怎么学?该学些什么?这种事情别人怎么知道?其实更应该问你自己。你以后想怎么用Python挣钱,就该学什么。

2 一定得先搭好环境,安装好第三方包

    废话讲多了,不管你要学python里哪些方面的技能,开发环境是一定要搭建的。

    1 到官网https://www.python.org/downloads/windows/,下载Python解释器。

    2 下载集成开发环境,比如eclipse+pydev,或者直接用Pycharm,我现在用的是后者。

    3 下载第三方包,基本命令是pip install,必要时还需要换源。

    Python开发环境怎样才算搭好呢?

    1 能在Pycharm等集成开发环境里运行通python的hello world程序。

    2 能正确地下载好第三方包,这里就以numpy举例,下载好这个库,并能在pycharm里开发numpy基本程序,这就算好了。

    在安装第三方包时,可能会遇到版本不匹配的问题,具体做法是,凡是遇到安装错误时,就把错误提示放网上搜下,总能找到一大堆解决方法,然后慢慢解决。不过这种问题不经常遇到。

3 基本语法该学什么?

    我入门用的是如下两本书,第一本是这个。

    我当时是用了大概两周的时间,把这本书的代码敲了一遍。然后再敲第二本书的代码。这本书虽然讲的是数据分析,但也讲了python的基本语法。

    

 

    当我把两本书的代码敲了一遍时,感觉就能看懂基本的python程序了。当我自己写好两本Python书以后,发现自己在入门时,还是走了弯路,倒不是错误理解了知识点,而是学了初学阶段不需要学的内容。

    现在反思下,在搭建好python开发环境后,可以用如下方法入门python语法。

    1 就敲些if分支和while循环之类的代码,理解python的基本结构,同时理解“缩进”的做法。

    2 需要看列表字典等基本数据结构,因为python主要用来分析数据,分析数据时就用这些对象来存储数据。

    3 然后再稍微看些异常处理部分的代码。

    同时如下的代码无需看。

    1 面向对象思想方面的代码,比如类和继承,这块在现实项目里基本用不到。

    2 文件读写部分的代码。因为数据分析所用的DataFrame能方便地同csv等格式的文件交互,所以基本不会用python核心库自带的读写文件的方法。

    其它的代码,比如本文分析,正则表达式,urllib这些,不是不重要,而是可以放在项目的具体语境里去看,而无需像背单词那样单纯地看相关语法,这样学习的效率会很高。

4 数据分析该学哪些技能?

    当下Python用在最多的可能就算数据分析方面,一般数据分析的项目还外带些机器学习。学这部分的时候,我的建议是:先走通全栈流程,再细看相关方法。

    第一,数据分析无非是用Pandas库的方法,从csv里读数据,再用numpy方法分析清洗下,再用matplotlib库画图,你可以通过若干案例,把这套流程走通。

    我自己感觉我写的这本书,就是围绕这个思路写的。

 

    第二,全栈流程走通以后,你就去看几个点,第一pandas库如何读写csv(或其它文件),第二如何对dataframe对象里的行列数据进行操作,第三如何用matplotlib库画直方图饼图等。

    学的时候,无需太细看语法,因为学了不用的画,过几周就忘了。等到真正做项目时,可以再根据需求来找对应的方法和参数。

    比如我需要把读到的股票数据绘制成折线图,而且折线图对刻度标签和标题都有要求,那么我再以此需求查现成的案例和对应的api,这样就能马上学以致用。         

5 机器学习和深度学习该怎么学?    

    学这部分的时候,一定别先看算法。比如你一定别去关注正则化,梯度下降和降维等算法,因为没必要,而且这些算法很深,你真去看算法的话,估计你的学习自信心马上就会被打消。

    那该怎么学?用自带的数据集和范例学。

    封装机器学习的sklearn库自带很多范例,比如有描述线性回归的波士顿房价案例,有描述SVM分类器的鸢尾花案例,其它像岭回归等算法,也有范例。在这本书里,就用了很多案例讲述机器学习。

 

    深度学习也一样,别看算法,先看api。当大家运行好几本书的代码以后,心里就有底了。而且当大家还会发现,你项目里要写的代码和你之前看书敲的代码框架上是差不多的。

    1 首先无非是创建各种模型,比如人工神经网络,SVM等,创建不同模型时,可能也就是构造函数和类名有所不同。

    2 然后再传入特征值和目标值,比如我在做股票量化时,特征值是开盘价最高价最低价成交量等,特征值是收盘价。在不同的项目里,只要有业务需求,一定也能确定好特征值和目标值,我们程序员要做的就是,在fit方法里传入特征值和目标值,然后让模型训练即可。

    3 训练好了以后再调用predict方法预测即可。

    在做项目的时候,预测的结果可能和期望的不同,那不要紧,慢慢扯皮,换入参特征值即可,或者大家再一起讨论模型,总之这些都不是技术问题。

6 我总结下来比较好的学习方法

    第一,一定得搭建好环境,先把范例代码运行通,通过效果再反看代码和方法,这样基本上代码运行一遍即可理解关键点。

    第二,刚开始的时候一定别到网上看资料,因为网上资料第一未必成系统,第二未必能跑通,刚开始的时候一定得系统地照着书去敲代码。

    第三,找入门书的时候,可以看讲基本语法的书,但一本就够了,而更可以去看综合类的书。比如我上文提到的几本书,都综合包含了语法+数据分析+机器学习等技能,这样的话,就能让大家在理解语法后,直接进入到具体的项目技能环节。

    第四,刚开始做项目的时候,除了自己可以写代码外,更可以参考别人类似的案例。比如我要画股票K线,更要在k线上绘制图例,那么我就可以找两三个人家的类似代码,先运行通,再博采众长地引入人家的方法和参数,这样要比什么都自己想要好很多。 

7 学好Python如何变现?

    回到本文刚开始提到的主题:学好Python如何变现,最直接有效的就是换工作。  

    具体做法是,以主带从。比如你的本业是java或大数据,你还是要以这个方向为主,但在简历上写明,你会数据分析和机器学习等,还熟悉神经网络等模型,然后去投需要此类需求的公司。

    当下能用python做数据分析和机器学习的公司,能开出的公司还未必低,这样如果你兼有python和其它主方向的技能的话,要进此类公司,问题不大。我在培训学校里,就经常帮助学好python的同学做到这点。

    当然用python还能做副业,比如我出过书,录过视频课,也给高校做过教材,总之还是这句话:先指定功利性的学习目标,再细化具体要学的内容,然后在通过看书敲代码等手段系统学,这样学好后,你一定能以此盈利。

8 文末送电子书

    这次要送给大家的还是这本书:《基于股票大数据分析的Python入门实战(视频教学版)》,京东链接:https://item.jd.com/12868774.html。

    我之前搞过类似的活动,如果有同学之前已经拿到了,这次就不用来了。后面合适的时候,我还会送我写的另外一本python书。

    具体做法是:请大家先关注我的公众号:一起进步,一起挣钱。

    然后可以加下我的微信,注明要python股票书,这样我就会把这本书的word电子版给到大家。

 

这篇关于用了半年的时间,把python学到了能出书的程度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06