如何深入系统的学习一门编程语言——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库,所以各个平台可能有所不同 ...
随机推荐
- java继承与覆写小练习
最近学习java到了继承的部分,写个小程序用以巩固. import java.util.Scanner;//导入输入包public class testfather { public static v ...
- FJUT16级第一周寒假作业题解D题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS MemoryLimit:128M ...
- ubuntu14.04行更新软件包
ubuntu14.04行更新软件包 headsen chen 2017-10-12 16:01:34 apt-get update对应的就是第一步. apt-get upgrade 与apt-g ...
- Deploy Mysql
Mysql-5.7.18安装: 安装依赖包: # yum search libaio # yum install libaio 新建用户及组: # groupadd mysql # useradd m ...
- Android工程化开发这门学科的看法
http://www.cnblogs.com/unruledboy/p/DevCareer.html http://coolshell.cn/articles/4561.html http://blo ...
- ios滑动流畅(丝般顺滑)滚动
在ios html->body->list(少一个样式都不行!) html->body->list <!DOCTYPE html> <html lang=&q ...
- CCF-CSP 201709-4通信网络
问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息.信息可以通过中转的方式进行传递,即如果a能将信息 ...
- 使用Bootatrap的心得
使用Bootatrap的心得: 更新中... 在使用过一端时间的Bootstrap之后, 发现自己进入了使用误区,本来人家就为你提供好了样式丰富的各种样式,容器.但是我却在一边使用人家的样式,一边自己 ...
- es6学习笔记--promise对象
Promise对象是为了简化异步编程.解决回调地狱情况 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可 ...
- V-bind详细使用
v-bind 主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url">& ...