文末赠免费精品编程资料~~
- 语言终究是用来使用的,就像汉语交流,我们每时每刻可能都在用.Python也不例外,最重要的是每天习惯使用它.无外乎,每天手敲代码,实现你想要的功能,可以是一个批量实现文件处理的自动化办公脚本,一个批量对车辆行驶轨迹的分析脚本,抑或是一个小型对话系统.遇到一些实际需求,立即拿一门编程语言实现它,日久天长你的语言能力不可能不提高.
1、学习基本语法
- 每门语言都有自己的语法规则,Python当然也有自己的一套语法系统.什么是Python的语法,比如Python中逻辑块是用缩进实现的,如下print这行一般缩进4个空格.
def f(name):
print('I\'m coming')
- 再有Python的单行注释使用
#
,多行注释使用""" """
;Python的流程控制使用for
,if elif else
,while
,当然还有一些极具个性的语法,如下我们判断某个点是在北京哪个环路时,如果if条件始终未被命中,就会走到else这个逻辑块,这是一个Python相对个性、难理解点的语法用法.
def where(point):
for circle in ['三环里','四环','五环','六环']:
if f(circle, point) == True:
print('点{}在{}环中'.format(point, circle))
break
else:
print('点{}在六环外'.format(point))
其他重要基本语法还包括:
-
算术转换
-
原子
-
原型
-
await 表达式
-
幂运算符
-
一元算术和位运算
-
二元算术运算符
-
移位运算
-
二元位运算
-
比较运算
-
布尔运算
-
赋值表达式
-
条件表达式
-
lambda 表达式
-
表达式列表
-
求值顺序
-
运算符优先级
这些基本语法在Python官网里都有,每天学一点就行,不必从头学到尾后再开展下一个环节.
https://docs.python.org/zh-cn/3/reference/index.html
2、使用Python库
- Python除了强大的语法体系外,另一个最强大的地方非Python内置包和第三方库莫属了.我们说生态是最重要的一方面,光有语言系统,但是没有强大的生态体系,这个语言也不会繁荣的.这就像操作系统为啥主流的就是win, mac, linux呢? 难道我们国家就造不出一个操作系统吗? 显然不是的,关键是你造的操作系统,别的国家会基于你的操作系统开发软件吗?会开发app吗?如果office不支持我们的自研系统,如果python也不支持,那么我们自研的操作系统只能是自己在摆弄的系统.
2.1 Python标准内置库
- Python内置了200+个内置模块,基本满足所有的日常开发,这是官网的介绍:
❝
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的.这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案.其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性.
❝
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件.对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件.
2.2 第三方包
https://pypi.org/
-
是Python第三方包的索引库,里面包括所有的Python第三方库.你还可以在这里发布自己的包,流程也非常简单,想象就激动人心.
-
不管是内置库,还是第三方包,都为让Python帮助我们干活,起到至关重要作用.使用它们,实现你的功能,就是迈出学好Python的第一步.
3、Python工程化
-
学习语言,使用库,算是学习Python的前两步,它们保证你写出的代码实现一些基本功能.但是,大部分程序员学习一门语言,是为了找一份高薪工作,是为了解决生活的基本需求,过上好日子的.
-
那么尽快掌握Python的工程化,让自己写出的代码更加professional,是更加重要的.掌握Python工程化,也并不难,还是要不断的练习,学习优秀框架,再练习,一个不断重复的过程.
-
所谓的练习就是使用Python实现一些功能,工作中实现项目交付,这时候大部分代码都是自己写出来的,你可能会自我感觉良好,觉得代码质量还不错,但是自我感觉和真实水平总会有一些gap,如何真实的检验出自己的代码水平呢?最好的方法就是学习很牛逼的、程序员都在使用的一个框架或者项目代码.通过优秀的代码,反射到你的代码中,找到差距,弥补不足,并努力补齐,真正晋升为Python工程师、软件工程师或算法工程师,无论哪一个,你都是工程师,代码工程化能力十分重要.
-
工程化能力都包括哪些呢? 很多小伙伴都有一种错误的认识,它们认为会使用一个框架,会调用里面的API,写出的代码没有Bug,认为这些就是主要的工程化.这种认识显然是片面的,这些当然是最基本,与其说是工程化,倒不如说保证程序正常运行.
-
工程化能力,还包括很多其他重要能力,你看看Keras的包,为什么它就能被tensorflow收购呢? Keras的作者首先是能力很强的软件工程师,工程化能力很强,框架里的API接口高度统一、高可读、高扩展,这才是真正工程化能力的体现,要想做到这些,并不简单,需要你不断学习这些优秀的框架.
-
设计模式是通往优秀框架大门的一把金钥匙,就像真正的武林高手,习武最后都感悟无刀胜有刀,练武是练魂,而非表也.设计模式的思想是统一的,常用的有二十种左右,真正归一后,可能只有五大类,把它们融入你的骨髓,融入到你的工作项目中.也许你的老板并不关心这些,但是你自己要不断提升,因为我们的目标不应该仅仅是完成项目,还有不断提升自己.仅仅解决一项项任务,并没有多难,难得是如何练出比别人更强的真功夫.
4、学习算法和数据结构
-
不管是用html,css,js做前端,还是Django,Flask做后端,还是mysql,Redis数据持久化,我们往往都会陷入一个困境:就是感觉每天在重复:增删改查,建库建表,并发同步,消息异步,熟练后,你就应该考虑拿出时间,学习算法和数据结构了.因为前面这些任务代码,年轻的同事入职一两年后,也会很快掌握,随着年龄过33、35后,你的优势会迅速被吞噬,并且你的价格可能还高,这些都是很现实的,你明白我的意思吗?但是算法和数据结构,我相信绝不是短时间内就能掌握的,你看看发明算法的那些大神,哪个不是摸打滚爬多年后才突发灵感做出来的.我们倒不是为了发明算法,就是学会它们也是一个很漫长的过程.
-
先认识一些最基础的算法思想,从递归,贪心,回溯,深、广优先搜索,动归,结合数学归纳法,这些思想就这么几个字,光知道没有任何用,得不断练习,不断思考,直到会用,怎么才算会用?遇到实际问题时,能应用它们非常顺手的解决问题为止.队列栈链表,从线性到非线性的二、多叉树,最后到图,这些数据结构存在的价值、优弱势在哪里,最后你需要很清楚.
-
当然还有若干编程技巧,使用哨兵会让我们写出的代码更加简洁,少讨论很多情况,太美妙了!
总结
- 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!
文末福利
最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包含编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
也可以扫描下方CSDNA官方认证二维码领取【保证100%免费】