首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

应届生学Python年薪30万,秘诀是什么?

今天给大家分享一篇关于Python入门学习的文章,如果你是新手,这篇文章将告诉你学习方法和各阶段路径。最后关于现在Python薪资的分析,希望对你有所帮助。

Python是最容易入门的编程语言,没有之一。

如果初学者接触的第一门语言是C或者C++,对他们来说最难的不是语法,而是容易出现内存泄漏、指针等问题。有时候排查这些问题对初学者的打击很大,尤其是没掌握排查BUG技巧时。

如果初学者接触的第一门语言是Python,学习曲线则会平滑得多,掌握一些基本语法和Python内置的数据结构,已经可以上手写一些小工具或者小型应用。这对初学者来说,非常重要。因为学习的过程是一个突破舒适区的过程,会面临很多痛苦,如果学习过程得不到激励,很容易半途而废,类似我们开玩笑说的「从入门到放弃」。

Python还有很多优点:上手快,第三方库丰富,资料丰富,很容易做出“可见可得”的应用。

Python就大不同,你想搞Web开发?上来一个Flask框架立马就撸。想搞点数据分析?上来一个Panda+数据可视化,撸起来轻松愉快甚有快感。想抓取什么数据?你自己基于request撸一个小爬虫采集点网站信息,app信息都不是什么难事。

也是因为这样,学习Python的过程几乎接近“无痛”,有很好的学习正反馈过程,学一点知识就能做一点小东西,能看得到自己成长和进步。安利了这么多好处,来看看学Python分几个阶段吧。

Python学习阶段

1.基础知识

Python最基本的语言特性和语法:

•变量

•数据类型与数据结构

•输入和输出

•运算符、表达式、语句

•控制流(顺序控制,选择控制和循环控制)

•面向过程编程

•面向对象编程

•异常处理

•组织代码

•标准库、第三方库

针对面向对象这一块需要重点的讲一下,为什么会有面向对象?以及我们如何设计面向对象系统?这个思考的过程有助于你理解面向对象编程思想。

可以说「一切皆对象」这句话普适性是很强的,大家都在玩的王者农药,里面每一个对战英雄,每一个野怪,每一张地图都是通过面向对象的思想构建起来的。如果一开始你觉得太复杂,大可把用「分而治之」的思想把复杂的对象break down,分解成多个简单合理的对象。

任何复杂的系统都可以由若干个简单可靠的系统组成,多个简单可靠的系统有序地组织起来是可以实现强大功能的。举个例子,还拿农药来说,”英雄“是可以作为一个基类的对吧,每个英雄都有血条,移动速度,AD,AP,物防,法扛等等。李白平A后裔一下,这是对象之间的通信(或者说交互)。后裔放大打中李白,李白眩晕,这一系列的触发过程都可以通过面向对象来建模。

在掌握了语法特点,掌握了面向对象的思想之后,我们应该能够在控制台(windows或者mac的命令行)里边实现一个有意思的程序。这个程序应该解决现实生活中的一个实际问题。

比如出现一个职位的发布和管理系统。有以下功能。我们可以录入职位信息。保存到文件上。我们还可以加载职位信息。按多种条件去查询,比如按关键字按城市。按薪资范围。按商圈工作年限等等。

在做这个的过程中,自己需要设计一个很好的面向对象系统。也把Python里常用的语言基本特性都用到了。达到这个阶段算是勉强及格了吧,不过仅仅是在语言掌握层面。如果想当一个合格的研发工程师,还需要掌握很多其他技能。

2. 进阶的阶段

现在的开发大部分是基于web的,比如app要调web接口,pc端肯定也要调web接口,所以我们不能光在控制台里面玩。这个时候需要了解,http协议和Python web开发。我们可以重做前面提到的求职发布系统,学习基于Python web如何实现。这个时候你需要实现若干个接口:

用户端:

•用户注册

•用户登录

•请求首页刷出默认的职位列表

•筛选职位列表

o根据城市

o根据关键字

o根据薪酬

o根据工作商圈

管理后台:

•登录

•发布职位

•更新职位

•删除职位

为了实现以上接口,你需要弄清楚什么是GET,什么是POST请求,什么场景下用GET,什么场景用POST。你还需要明白一个Python web开发框架,要明白一个http请求到了web框架之后,框架做了什么事情,如何在里面实现业务逻辑。哪些数据是服务共享的,哪些数据是用户/请求独享的。

此外,应该学会Python如何操作数据库实现增删改查,大部分的任务都离不开增删改查。比如我提到的发布职位就是create的过程,更新就是update,还有删除是delete,读是read。江湖有一个戏称CRUD boy。

如果能顺利度过进阶阶段,你应该能举一反三实现其他类似系统了。比如现在很火的分销,拼团,还有新闻Feeds等等。

好像我没怎么提数据结构和算法,这个要看个人追求。如果你要在最短时间内学会Python开发,恐怕是没时间学好数据结构和算法了,能掌握自带的数据结构用法就行。如果你的学习时间充足,我的建议是一定要学数据结构和算法。为了以后长期的发展,为了人民币,一定要学好数据结构和算法,我简直苦口婆心地劝啊。

3. 工业界经验

最后一个阶段是实际的工业经验。这个阶段,你应该对公司用的基础架构,如RPC,数据库缓存消息系统中间件,烂熟于心。同时应该掌握最基本的系统设计的技巧。知道如何根据一个实际需求,设计一个高可用,高性能高扩展性的系统。

实际上我觉得第一个阶段是最容易的,第二个阶段会碰到一些坑,有时候不好解决。在第二个阶段,你可能需要比较好的自学能力,或者有一个好的学长导师。第三个阶段需要比较体系化的训练和思考。

Python就业前景

很多人看现在python那么火都想学一学,但也在疑惑学这个到底有没有发展前景,下面就赶紧来看看学完python可以做什么工作。

1、网站后端程序员:使用它单间网站,后台服务比较容易维护。如:Gmail、Youtube、知乎、豆瓣

2、自动化运维:自动化处理大量的运维任务

3、数据分析师:快速开发快速验证,分析数据得到结果

4、游戏开发者:一般是作为游戏脚本内嵌在游戏中

5、自动化测试:编写为简单的实现脚本,运用在Selenium/lr中,实现自动化。

6、网站开发:借助django,flask框架自己搭建网站。

7、爬虫获取或处理大量信息:批量下载美剧、运行投资策略、爬合适房源、系统管理员的脚本任务等。

8、具体日常比如自动备份你的MP3;

Python是一种通用编程语言,它开始于早期阶段自动化系统级任务的解决方案。不过很快,由于其广泛的应用程序开发支持,它变得非常有名。

Python易于学习,可读性强,使用简单。它有一个干净而像英语的语法,它需要较少的代码,并让程序员专注于业务逻辑,而不是考虑语言的本质。

还有可以做网站,很多著名的网站像知乎、YouTube就是Python写的;也可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。

如果说你的系统设计能力ok,甚至经验丰富,再加上你不错的算法,你肯定有一份好工作,薪资可能说多了显浮夸,但优秀的应届生很多人超过30w,甚至50w已经是常态了。工作3-5年的过百万的也大有人在。

这个时代,程序员虽然辛苦了一点,但无疑碰上最好的时代了。

关于Python的常见问题

1.Python是一种什么语言?

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言等,Python是他们其中的一种。

而不同的编程语言,干同一件事,编写的代码量,差距也很大。比如完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

2.用Python可以做什么?

可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站像知乎、YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。

其它比如运维、Web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、自然语言处理……还可以写很长很长……总之就是能干的事情非常多,但是Python也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。

3.学习Python难度大吗?

Python是一门高级语言,那么是不是越低级的程序越难学,越高级的程序越简单?表面上来说是这样的。

但是,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。不过对于初学者和完成普通任务,Python语言是非常简单易用的。像楼主这样软件工程师出身的话,掌握起来也应该是比较轻松的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181211B1018A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券