前言

最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,python开始频繁的进入我们视野,不至于觉他就火成了今天这个样子。当然我使用他也是单纯的跟风,而是像tf这样优秀的项目,虽然也支持其他的主流的开发语言,比如go、java、javascript(前几天刚开始公布支持),但现在能找到的,大部分tf的样例,依然是python写的,所以,python的优势不言而喻。

还有对我特别有吸引的力的opencv(一款非常优秀的跨平台开源视觉库),也和tf的情况类似,这让我意识到,必须要系统的、深入的学习一下python了,如果你和我一样也是喜欢折腾的程序员,我想这种情况你也一定遇到过。这就是我学习python的初衷,也是这篇文章诞生的原因。

自我介绍一下先,我是08年用了一年半的时间主学了java和C#语言,之后4-5年的工作一直从事的是C#方面的开发,直到前几年,因为工作的原因,先后学习并使用了nodejs、golang、以及手机混合开发。其中手机混口开发包括:dcloud、deviceone、xamarin、reactnative等,nodejs的框架有:express、thinkjs、pomelo等,所以对于如何学习一门新语言,对我来说是手到擒来,轻而易举的事(自信如我)。

学习思路

学习所有语言的套路基本都是一样的,主要来自以下几点:

  • 配置开发环境
  • 了解语法特点
  • 数据类型、数据转换
  • if判断、循环使用
  • 函数、类使用
  • 异常处理
  • IO操作
  • 垃圾回收机制
  • 多线程开发

心里有了学习的方向之后,只需要深入浅出的查看对于的资料,把以上的问题以此消除,基本上也就掌握了这门语言的基础了。

如果要深入理解这门语言的精髓和加深理解这个python就要了解一下问题了:

  • python语言诞生的原因和解决的问题
  • python的优缺点
  • python设计的原理
  • python的语法特点

自学目录

开发环境搭建
基础
变量
数据类型
条件判断和循环
函数和类
模块
文件操作
异常处理
垃圾回收gc
多线程

以上的目录为本人学习的指导思路,我已经把上面的目录整理成GitHub上的一个项目,方通查阅和观看了。

附GitHub地址:https://github.com/vipstone/python

如何深入系统的学习一门编程语言——python自学笔记的更多相关文章

  1. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  2. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  3. Python自学笔记-递归函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看.   递归函数 ...

  4. Python自学笔记6-列表有哪些常用操作

    列表是Python中最重要的数据类型,它使用的频率非常非常的高,最大程度的发挥Python的灵活性. 和字符串一样,列表的操作方法也有很多.如果说一头钻进去,可能会导致学习没有重点.在这篇文章当中,首 ...

  5. Python 自学笔记(一)环境搭建

    一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...

  6. python 自学笔记(四) 列表

    有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...

  7. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  8. Python自学笔记-logging模块详解

    简单将日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.warni ...

  9. Python自学笔记-time模块(转)

    在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同 ...

随机推荐

  1. Android消息机制解析

    我们知道在编程时许多操作(如更新UI)需要在主线程中完成,而且,耗时操作(如网络连接)需要放在子线程中,否则会引起ANR.所以我们常使用Handler来实现线程间的消息传递,这里讨论的也就是Handl ...

  2. Lintcode245 Subtree solution 题解

    [题目描述] You have two every large binary trees:T1, with millions of nodes, and T2, with hundreds of no ...

  3. 搭建maven

    1. 下载安装包 打开网址https://maven.apache.org/download.cgi,找到下面这个文件进行下载 2. 解压安装 解压刚下载地文件到自己想要得目录下 3. 配置环境变量 ...

  4. 提高UI设计效率的4个技巧

    提高UI设计效率的4个技巧 如何提高UI设计的速度?在这里分享一些我观察到的常见问题和改善方式.当然,需要注意的地方何其多. 身为设计师的你,应该要了解工程实作的基本原理: 业界 NG 率:接近 10 ...

  5. Hibernate 一对一关联映射,mappedBy参数解析

    在最近java,SSH框架的学习中遇到了这样的一个问题,在Hibernate的开发中一对一关联映射的单向关联,主表会在次表新增一列次表的主键如下图,但是在双向关联中次表不会在表中创建主表的主键一列,这 ...

  6. leetCode:237 删除链表的结点

    删除链表的结点 编写一个函数,在给定单链表一个结点(非尾结点)的情况下,删除该结点. 假设该链表为1 -> 2 -> 3 -> 4 并且给定你链表中第三个值为3的节点,在调用你的函数 ...

  7. (工具类)double类型数据运算

    package com.flf.util;import java.math.BigDecimal;/** * double类型数据运算 * @author Yancy 2016-12-14 * */p ...

  8. bashell基础

    身为一个iOS程序员,虽然iOS相关技术十分重要,但是bash也是不可不了解的,因为技能的成长,除了深度,还需要广度.下面就来介绍下bash. Shell是C语言编写的,所以他是解释性语言,运行在Li ...

  9. linux系统无法正常启动,故障排查恢复

    linux内核启动修复 首先看linux内核重要文件grub.conf # grub.conf generated by anaconda # # Note that you do not have ...

  10. Aizu - 0531 Paint Color

    白书例题,直接用书上的暴力压缩坐标是可以的,但是看了别人的博客的写法,大概是理解了思想但是看不懂为什么那么压缩,先放这,等明白了补上 #define debug #include<stdio.h ...