Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

Python上手很容易, 基本有其他语言编程经验的人可以在1周内学会Python最基本的内容。

它们包括:

1、常用内置类型(int、float、 boo、bytes、 str、 list、 dict、set)的使用

2、分支if-else 循环while 迭代for的语法

3、def定义函数, 调用函数

你再花1周学习些:

1、类

2、异常

此时, 有些人就在简历中得意的自称"会"Python了。但是学到如此程度, 在实际编程中会经常遇到挫折, 主要源自理解不够深入, 仅仅Python语法和API层面体验了一下。

随意列举一些新手普遍存在的问题:

1、不了解Python对象模型, 变量名,对象概念含混

2、不了解可变对象和不可变对象, 尤其是int.

3、不了解切片意味着拷贝, 在循环中大量使用, 影响效率

4、不了解切片是浅拷贝还是深拷贝

5、遇到bytes和str(2.7中的str和unicode)就头晕

6、经常在需要使用is的场景使用==

7、不了解def是运行时执行语句, 并且是赋值语句

8、类属性和实例属性混淆

9、不了解在函数中修改可变对象参数会对调用者产生影响, 导致莫名其妙错误

10、企图在函数中修改全局变量, 没有使用global, 而创建了本地变量

11、以可变对象做函数默认参数

拥有某项技能的程序员的价值,可以用学习技能所需的成本来衡量。你用2周学习达到的这种程度, 对于企业就是没有价值的, 因为老板可以让一个公司里任意其他语言的程序员经过2-3周的学习就能达到你现在的程度。

Python的简洁易用, 快速开发对项目有价值, 但这不是你的价值,是Python的价值。所以提高自身价值,也就是不让别人轻易追上你,以极低的成本替代你。

你只能快跑, 进一步学习

Python语言层面还需要学习下面一些内容:

1.使用生成器, 迭代器

2.函数式编程, 匿名函数lambda, map, reduce, filter

3.列表解析, 字典解析, 集合解析, 生成器解析

4.运算符重载(setattr, getattr, getitem, gt, lt...)

5.property, 描述符(get, set, delete)

6.上下文管理器(enter, exit)

7.深入理解面向对象

上述都是语言层面的,属于内功。实战中当然也需要一些更为具体的外功, 训练外功可以从熟悉Python标准库开始, 这些模块能进入标准库说明他们足够好并且在实际项目中足够常用,列举一些极为常用的:

1.正则表达式 re

2.迭代工具 itertools

3.常用数据结构 collections, heapq, array

4.处理二进制数据 struct

5.随机 random

6.系统调用 os

7.Python对象序列化 pickle

8.多进程多线程处理 threading, multiprocessing

9.网络 socket, urllib

10.系统参数 sys

无论练习内功或外功,结合实战都是最好的训练方式和检验手段,可以根据个人情况以及喜好选择,如:

1.使用django,flask开发网站

2.开发网络爬虫或使用Python爬虫框架(如scrapy)

3.写一些自动化运维脚本, 定时读取某软件log,出现异常自动发邮件

4.使用selenium对网站进行测试

5.使用Python开发树莓派小车(电机,传感器驱动)

6.使用Python开发Vim插件, 如在vim中做一个音乐播放器

7.使用Python做算法题, 如leetcode

8.opencv做图像识别

9.使用numpy和pandas做数据处理

10.使用机器学习库sklearn, tensorflow做应用

11.使用PyQt编写桌面应用

12.使用scipy,matplotlib做科学计算

13.使用Python做渗透测试

个人建议选择小项目进行实训, 有些新手上来就想定一个大目标,做的时候很挫折,往往半途而废。还是应该把小东西先实现,然后优化, 接下来添加新功能,慢慢迭代把小东西做大。这样在做的时候,每实现一个小功能你都会有成就感,激励继续前进。

可能经过比较漫长的一段时间,你成为了一个熟练的Python应用程序员,还有些高级话题可以继续学习:

1.装饰器

2.元类

这些高级话题在开发框架中经常使用, 它们可以帮你创建更灵活的代码。

通常自称一个月光速学了会Python的人基本都不是天才,只是浮躁, 目标定的比较低而已。不要太过急功近利, 慢慢玩, 精进。

Python可以做什么?

web开发和 爬虫是比较适合 零基础的

自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员

大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强

科学计算 一般都是科研人员 在用

机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大

我有一个微信公众号,经常会分享一些python技术相关的干货;如果你喜欢我的分享,可以用微信搜索“python语言学习”关注。欢迎大家加入千人交流答疑群:588090942

作为比湖南还火的python网红,零基础要如何系统的开始学习呢?的更多相关文章

  1. 零基础的学习者应该怎么开始学习呢?Python核心知识学习思维分享

    近几年,Python一路高歌猛进,成为最受欢迎的编程语言之一,受到无数编程工作者的青睐. 据悉,Python已经入驻部分小学生教材,可以预见学习Python将成为一项提高自身职业竞争力的必修课.那么零 ...

  2. 函数:Python的乐高积木 - 零基础入门学习Python017

    函数:Python的乐高积木 让编程改变世界 Change the world by program 相信大家小时候应该都玩过神奇的乐高积木,只要通过想象和创意,我们可以用它拼凑出很多神奇的东西. 随 ...

  3. 闲聊之Python的数据类型 - 零基础入门学习Python005

    闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...

  4. 零基础如何入门Python

    编程零基础如何学习Python 如果你是零基础,注意是零基础,想入门编程的话,我推荐你学Python.虽然国内基本上是以C语言作为入门教学,但在麻省理工等国外大学都是以Python作为编程入门教学的. ...

  5. 教育改革——国家认证 “网红” 编程语言 Python

     特大消息!!!  不止是上海计算机二级考试 ,全国计算机考试等级考试也有要求 如果你正打算考计算机等级,那你需要学习以下知识 要求学习的知识太多了,我就不一一在这里展示了! 一.考试改革的目标 据悉 ...

  6. 50 个加速包都抢不到车票,还不如这个 Python 抢票神器!

    又到了一年一度的抢票大战,本来就辛苦劳累了一年,想着可以早点订到票跟家里人团聚.所以有挺多的人,宁愿多花些钱去找黄牛买票.但今年各种抢票软件的横行,还有官方出的加速包,导致连黄牛都不敢保证能买到票.你 ...

  7. Python网络编程基础|百度网盘免费下载|零基础入门学习资料

    百度网盘免费下载:Python网络编程基础|零基础学习资料 提取码:k7a1 目录: 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 ...

  8. 语音直播是否真能让国内网红向“Creator”转变?

    2016年,“直播”.“网红”成为了互联网领域最热门的关键词,一时间整个国内市场涌现出了数百家直播平台,而一些视频网站.新闻客户端.社交平台.电商平台等也纷纷推出直播功能.不仅仅只是创业者们像发了疯似 ...

  9. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

随机推荐

  1. Spring中对象和属性的注入方式

    一:Spring的bean管理 1.xml方式 bean实例化三种xml方式实现 第一种 使用类的无参数构造创建,首先类中得有无参构造器(重点) 第二种 使用静态工厂创建 (1)创建静态的方法,返回类 ...

  2. 只需几分钟跟小猫学前端(内含视频教程):nodejs基础之用express、ejs、mongdb建设简单的网站

    开门见山视频教程 https://v.qq.com/x/page/d0645s79xrq.html 前 言: 这是小猫的第二篇node教程,第一篇教程是一个简单的试水,小猫的node教程面向对象为没有 ...

  3. 【转载】tomcat+nginx+redis实现均衡负载、session共享(一)

    http://www.cnblogs.com/zhrxidian/p/5432886.html 在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新.但这可能会出现一 ...

  4. 导出excel 的方法及示例

    一.基本知识 1.Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 2. HSSF 是Horribl ...

  5. IT桔子沙龙之本地生活服务O2O探路者笔记整理

    这个沙龙活动侧重于创业融资与投资角度 主持人:真格基金投资分析师顾女士;E-mail:grace@zhenfund.com;新浪微博:@顾三小姐 赞助商七牛云的服务宣传:静态资源托管:上传下载全网加速 ...

  6. 下载网易云VIP音乐

    有偿帮助.联系方式在个人信息里.

  7. webstorm配置eslint【标记错误,修复错误】

    项目中经常用到eslint语法,结合个人经验,用webstorm配置eslint "文件"->"默认设置"->"语言&框架&quo ...

  8. add two nums

    问题描述: 给定两个链表,计算出链表对应位置相加的和,如果和大于10要往后进位.用链表返回结果.其实上是一种大数加法.可以把一个大数倒着写存入链表,然后两个链表相加就是所需要的大数相加的和 输入 2 ...

  9. 前端leader找我谈心:我是如何从刚毕业的前端菜鸟一步步成长为前端架构师的?

    谈谈学习 我做前端已经有五年的时间了,从大学刚毕业的时候,我是一个完全什么都不懂的小白.虽然我大学里学的是软件工程专业,但是因为在大学里荒废学业,每天只知道打游戏,基本上到大学毕业之前我是什么都不会的 ...

  10. C++ 模板基础

    我们学习使用C++,肯定都要了解模板这个概念.就我自己的理解,模板其实就是为复用而生,模板就是实现代码复用机制的一种工具,它可以实现类型参数化,即把类型定义为参数:进而实现了真正的代码可重用性.模版可 ...