Python 核心技术与实战
景霄
Facebook 资深工程师
114324 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
开篇词 (1讲)
Python 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

01 | 如何逐步突破,成为Python高手?

实战经验的重要性
拥有大中型产品的开发经验
代码规范的重要性
遵守编程语言的代码规范
多练习
多上手操作
掌握必要的基础
循序渐进地学习
明确学习的重点
专注于Python
选用合适的编程语言根据不同的产品需求
联想其他语言的相似点和区别
明确区分语言的不同点
多阅读、多练习、多思考
第三步:开发经验,质的突破
第二步:代码规范,必不可少
第一步:大厦之基,勤加练习
唯一语言,可循序渐进
不同语言,需融会贯通
如何逐步突破,成为Python高手?

该思维导图由 AI 生成,仅供参考

你好,我是景霄。
工作中,我总听到很多程序员抱怨,说现在的计算机编程语言太多了,学不过来了。一些人 Java 用了很多年,但是最近的项目突然需要用 Python,就会不知所措,压力很大。
众所周知,Facebook 的主流语言是 Hack(PHP 的进化版本)。不过,我敢拍着胸脯说,就刚入职的工程师而言,100 个里至少有 95 个,以前都从未用过 Hack 或者 PHP。但是,这些人上手都特别快,基本上一两周后,日常编程便毫无压力了。
他们是怎么做到的呢?
事实上,他们遵循的,正是我在开篇词中提到的方法,也是本专栏学习的中心观点:“从工程的角度去学习 Python”。那么具体来说,到底要怎么学,学习的过程中又要特别注意哪些地方呢?

不同语言,需融会贯通

其实,如果你在学一门语言的时候多阅读、多练习、多思考,你就会发现,不同语言都是类似的。编程语言本就是人类控制计算机的指令,语法规则等方面自然大同小异。
而在原有基础上,学习一门新的编程语言,其实也没有那么难,你首先要做到的是明确区分。比如,在学习 Python 的条件与循环语句时,多回忆一下其他语言的语法是怎样的。再如,遇到 Python 中的字符串相加时,你能分析出它的复杂度吗?再联想到其他语言,比如 Java 中字符串相加的复杂度,它们之间有什么相同点、又有什么区别呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

学习Python并成为高手需要遵循一定的方法和注意事项。首先,要明确不同编程语言的相似之处,并能够灵活运用。其次,对于初学者来说,专注于Python这门语言,循序渐进地学习是关键。具体而言,学习的三个步骤包括掌握基础并进行实践练习、遵守代码规范以确保代码质量、以及获取开发经验以实现质的突破。文章还提供了Python学习的知识图谱,涵盖了核心知识。这些学习方法和观点不仅适用于Python,也适用于学习其他编程语言。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 核心技术与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(116)

  • 最新
  • 精选
  • 夜路破晓
    编程零基础自学Python半年一直在门口打转转,水平局限于leetcode刷题复写代码,会看不会写,更没有信心自己上手项目,更别提找到相应的工作了。 我有些业务经验基础和对数据的好奇心,目前希望转行先做数据分析逐渐往自动化运营方向发展,边做边学,打算报考在职研究生系统地学习下计算机科学,主要方向是机器学习和人工智能。 我的问题是,现在年龄也不小了,半路出家“工程师”不知道能不能成?但明知道悬崖在前,不得不自我鞭策,每天工作、生活与学习交织并行,感到鸭梨山大,焦虑感与日俱增。 我对学习不迷茫,因为我发自内心信任地学习,但我对转行这件事以及未来的就业感到迷茫。一边是希望能够在未来人机协同的创新社会中找到自己的价值与地位,一边是自己心里真的是一点底也没有。

    作者回复: 我和你有过相同的经历,但是那时我还处在本科,年龄还小,对于你的case: 首先你要相信自己。我身边很多的同事,朋友都是半路出家,不少28,29,甚至30了才转的计算机,甚至是从文科转的。但是你也要做好心理准备,这肯定是一个漫长艰苦的过程。 leetcode可以说是基础吧,因为算法题的练习可以锻炼你的逻辑思维。重要的是,一定要多做项目,多写,多和优秀的人交流,很多工程上的经验都是通过遇到实际问题然后去解决积累起来的。其次对于方向的问题,现在太多的人想做机器学习,我的建议是工程的开发也不要落下,比如后端开发之类的,多去通过项目了解一下自己的擅长什么和喜欢做什么,再做决定。 最后祝你成功!

    2019-05-10
    8
    89
  • Clany
    老师,Python中循环结构while和for谁的效率高呢?

    作者回复: 这个看你怎么写了。代码中所有直接调用C的操作的语句肯定比通过Python间接调用C(Python的解释器是C写的)快的多。比如下面的例子B用for循环比例子A用while循环快很多,因为range这个函数是C写的,直接调用。但是i += 1这个操作得通过解释器间接调用C,而这个简单的增值操作又涉及到object的创建和删除(i是immutable的),因此相对来说很耽误时间。这个作为了解就可以啦 (A) i = 0 while i < 100000000: i += 1 (B) for i in range(0, 100000000): pass

    2019-05-11
    2
    50
  • coderHOW
    我是自学路上的,就是看视频看书,然后跟着一些demo能做出来一些东西,但是自己做的时候还是没有思路,可能练得还是太少

    作者回复: 往往需要一个需求,一个场景,多练习,多和别人交流,这样才能提高

    2019-05-10
    35
  • 水木刀
    困惑: 1、学习过一阵子但工作中没怎么用,过了一段时间也就忘了。 2、真做一个项目时,发现自己有想法,可是实现落地却是很痛苦,各种查找后都不是自己想要的效果,实现起来进度特别慢,就产生畏惧了。

    作者回复: 你和我大学里的经历一样。工程这种东西没办法,都是得逼自己去做项目,练出来的,当然最好有小伙伴一起合作,这样能够相互督促

    2019-05-10
    2
    27
  • geek_holic
    请问学习数据分析与建模有什么建议吗?

    作者回复: 首先熟悉基本的工具,比如机器学习的框架,TensorFlow等等,然后找一些项目练手,比如可以参加kaggle比赛。当然,最重要的是得通过实际的业务积累经验,比如大公司上亿的用户,就是很宝贵的机会,如果你能去大公司机器学习的组工作,这样海量的数据加上不停的practice和分析,肯定大有所为

    2019-05-12
    17
  • Wen
    谢谢,看完很有收获。想请教一个问题,对于零编程基础,想通过学python找到相关岗位的工作。怎么选python方向呢?感觉其他的方向都挺难,爬虫还好,学完基础就可以做一些简单的爬虫练习项目,我选python爬虫是不是没啥问题呢?

    作者回复: 最简单的应该是数据分析的工作吧,就是用python实现一些简单的数据统计分析的功能,往往只需要高中的数学知识就够了。爬虫这种属于服务器端的工作,对于服务器端的工作,应该也不难,对数学都没有高要求,但是需要工程经验的积累。门槛最高的应该是机器学习这块,需要较高的数学基础。 综合下来,我觉得你应该定位于服务器端的开发,自己先做项目试手,找到工作后,多积累经验,然后一步步可以更深入

    2019-05-10
    16
  • Geek_c5b97d
    老师,能不能每日一更新,我很“饥渴“啊!

    作者回复: 哈哈。每周更新3次。每日都更新,我来不及写啊

    2019-05-11
    12
  • 阿哔
    python小白,之前只接触过C++但是也只懂一点点最基础的东西,现在转专业,需要写代码,开始学习python,但总是感觉力不从心,再简单的问题也要去百度,别人怎么做,可能还是基础不牢固

    作者回复: technical的问题尽量用google,可以买个代理。百度基本查不到啥的。 你这种情况还是得多练,通过项目练习,积累工程经验

    2019-05-10
    12
  • 首席民工
    关于字符串相加的复杂度,这个具体指什么?可以请您举个例子吗?

    作者回复: 后面会讲道。简单的来说,你认为Python中字符串相加的过程是是重新分配一块内存空间,然后把2个字符串分别拷贝进去吗?其实是不对的

    2019-05-10
    9
  • AI悦创
    脑图的第三步中编辑器没有sublime text3 ,是不适用还有有什么原因呢?想了解了解

    作者回复: 谢谢补充

    2019-05-10
    6
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部