美文网首页python学习我爱编程
作为比湖南还火的python网红,零基础要如何系统的开始学习呢?

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

作者: Python学习 | 来源:发表于2018-05-20 17:59 被阅读8次

    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标准库开始, 这些模块能进入标准库说明他们足够好并且在实际项目中足够常用,列举一些极为常用的:这里还是要推荐下小编的Python学习裙:【五 八 八,零 九 零,九 四 二】不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

    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应用程序员,还有些高级话题可以继续学习:这里还是要推荐下小编的Python学习裙:【五 八 八,零 九 零,九 四 二】不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

    1.装饰器

    2.元类

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

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

    Python可以做什么?

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

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

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

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

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

    相关文章

      网友评论

        本文标题:作为比湖南还火的python网红,零基础要如何系统的开始学习呢?

        本文链接:https://www.haomeiwen.com/subject/znptjftx.html