如何深入系统的学习一门编程语言——python自学笔记
前言
最早接触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自学笔记的更多相关文章
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- python自学笔记(一)
我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...
- Python自学笔记-递归函数(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 递归函数 ...
- Python自学笔记6-列表有哪些常用操作
列表是Python中最重要的数据类型,它使用的频率非常非常的高,最大程度的发挥Python的灵活性. 和字符串一样,列表的操作方法也有很多.如果说一头钻进去,可能会导致学习没有重点.在这篇文章当中,首 ...
- Python 自学笔记(一)环境搭建
一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...
- python 自学笔记(四) 列表
有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- Python自学笔记-logging模块详解
简单将日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.warni ...
- Python自学笔记-time模块(转)
在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同 ...
随机推荐
- fitnesse - 用例创建编辑、管理、执行和日志
fitnesse - 用例创建编辑.管理.执行和日志 2017-10-09 目录 1 用例创建编辑 1.1 用例创建 1.2 用例编辑2 用例管理3 用例测试执行和日志 3.1 用例测试执行 ...
- NET Core2.0 Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。
DotNetCore2.0下使用memcached缓存. Memcached目前微软暂未支持,暂只支持Redis,由于项目历史原因,先用博客园开源项目EnyimMemcachedCore,后续用到的时 ...
- mybatis-配置文件mybatis-config.xml
在mybatis-config.xml中有初始的配置: <!-- 对事务的管理和连接池的配置 --> <environments default="development& ...
- Mysql设置字段自动获取时间
问题:现在在用户表中有一个字段表示用户创建的时间 第一个想法是写一段程序获得系统当前时间,想想就太麻烦了,果断放弃,之后想到了存储过程和函数,再想想还要编写存储过程或者函数的代码,有点放弃的想法,但是 ...
- Java集合详解及List源码分析
对于数组我们应该很熟悉,一个数组在内存中总是一块连续的存储空间,数组的创建使用new关键字,数组是引用类型的数据,一旦第一个元素的位置确定,那么后面的元素位置也就确定了,数组有一个最大的局限就是数组一 ...
- 笔记:Struts2 输入校验
Struts2的输入校验包含了客户端校验和服务器端校验,通过编写校验规则文件来实现输入校验,需要增加 Convention 插件,将 struts2-convention-plugin-2.3.31. ...
- 从 MVC 到前后端分离
从 MVC 到前后端分离 1 理解 MVC MVC 是一种经典的设计模式,全名为 Model-View-Controller,即 模型-视图-控制器. 其中,模型 是用于封装数据的载体,例如,在 Ja ...
- 自定义ArrayList
自定义实现ArrayList很简单,只需要明白下面几点 1.ArrayList 底层是由数组组成的 2.数组有容量限制,但是ArrayList并没有(实际上也有,Integer.MAX_VALUE). ...
- 从零部署Spring boot项目到云服务器(正式部署)
上一篇文章总结了在Linux云服务器上部署Spring Boot项目的准备过程,包括环境的安装配置,项目的打包上传等. 链接在这里:http://www.cnblogs.com/Lovebugs/p/ ...
- 201621123060《JAVA程序设计》第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1. List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至 ...