0-学习查阅API资料的重要性及怎样学

说起来我的编程学习经历,我自己都不知道该怎么感慨了。直到我现在基本以python3为主,R为辅的状态之前,我经历但没有学透过的有:vb,c++(mql4),java,matlab......编程语言各有各的好,选择学什么我一开始也是无头苍蝇。但是后来我自己悟出了一句话:

对于一个小白而言,重要的不是能写出能快速运行的程序,而是能快速写出能运行的程序。

基于这个理论,我最终选择了python3。不过,我是被网上遗留的“python3支持的包还不全”给“忽悠”了,所以从python2开始学习的,直到看到2020年官方不再对python2支持为止。

事实上,python2和python3差别不是特别大,一般的代码给print加个括号,把raw_input()全换成input()就都解决了。另外python3对字符串utf-8的支持很给力,可以直接print()出汉字,再也不用轻易地像在python2中去纠结字符编码问题了。当然,现在再决定学习python的小白们很幸运,不用挑了,直接选择python3就可以了。

还记我曾经是一个编程小白的时候(现在也是,一直是:)),那个时候因为对金融交易感兴趣,就花了很多的时间投身其中。时间长了以后就发现,仅凭借我个人的能力,非常辛苦。当然,金融交易仅仅凭借人力不是不能赚钱,但是我个人在了解到智能交易、程序化交易存在很强大的力量之后,我便开始想办法学习编程,找到做程序化交易的方式。

一开始我觉得编程不是很容易。当然逐步学习并且增加自己编写的代码量之后,或许就是熟能生巧,融会贯通了吧。刚刚看完一些入门书籍,尝试解决了一些坑之后,就觉得自己能够找一些API接口程序,搞来改改,然后就能实现我的目标了。

很快,我从网上找到有GitHub这样一个东西,里面有非常多的项目。每一个项目都有好多的文件。我上来一看就懵了,入门的编程书哪里会讲到一个完整的项目是咋出来的,哪里会给你讲GitHub上发布的项目该怎么看,怎么用?如果随便一个完整的项目文件这样复杂,那么其他交易软件的API说明就更看不懂了……

于是乎,我认识到了自己编程的欠缺。所以就先尝试去了解了一个项目的各个文件大概都是做什么的,怎样安装到自己的编程软件中……

在安装完这些包之后,最关键的就是学会怎样去用这些包,那么我们就必须知道怎样取查阅API资料。学习查阅API资料的重要性不言而喻,没有这些API文档或者源代码,我们不可能完全搞清楚这些代码的使用方法和原理的。

GitHub上查阅一个开源API项目资料的方式基本有两种。一种是查看其说明文件,主要是readme文件或项目文档。另一种就是直接看源代码了。这两种大家最好都学会。如果只读readme或者项目文档,一旦这些文字内容写的不是很详尽或没有给出较为合适的例子,那么仍然会造成使用者的理解困难;如果只阅读源代码,这是可以完整掌握项目的原理的,但是如果能够先阅读readme或者项目文档掌握一个大致的框架内容,这样有助于对源代码的理解。

当然,读懂这些一切的前提是对编程软件有一个基本的认识。由于我个人的情况,我这里的文章都是基于python3的。准确的版本是python 3.6.4这个。

接下来,我们就先从一个较为简单的API项目开始学习吧。

原文地址:https://www.cnblogs.com/xiaoxiye/p/8555909.html

时间: 2024-08-30 17:53:00

0-学习查阅API资料的重要性及怎样学的相关文章

一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity

vue2.0学习(二)-全局API

vue2.0学习(二)-全局API GitHub源码 https://github.com/sunnyguyan/VueDemo 1.Vue.directive自定义指令 一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在构造器外部用Vue提供给我们的API函数来定义新的功能 二.Vue.directive自定义指令 我们在第一季就学习了内部指令,

OAuth2.0学习(5-4)新浪开放平台-微博API-使用OAuth2.0调用API

使用OAuth2.0调用API 使用OAuth2.0调用API接口有两种方式: 1. 直接使用参数,传递参数名为 access_token URL 1 https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd 2.在header里传递,形式为在header里添加 Authorization:OAuth2空格abcd,这里的abcd假定为Access Token的值,其它接口参数正常传递即可. 注:所有的微博开放

机器学习(Machine Learning)&深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008/Qix/blob/master/dl.md 原作作者會不斷更新.本文更新至2014-12-21 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍非常全面.从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep L

android学习之路资料集合

版权声明:本文为 stormzhang 原创文章,可以随意转载,但必须在明确位置注明出处!!! 这篇博客背后的故事 一路走来很不容易,刚好知乎上被人邀请回答如何自学android编程, 就借这个机会在知乎上记录一路走来的历程,很励志,希望能给那些正在或准备走编程行业的人一些正能量,内容有点长,感兴趣的可以当做励志小说阅读吧. 收到一些朋友的微博私信,说能不能给Android新手们一些指导,我只能说指导谈不上,毕竟我也很多东西正在学习中,与此同时一大学同学准备转行Android,可以说是从头开始,

CMG.SUITE.V2012.10全套学习教程+手册资料

CMG.SUITE.V2012.10全套学习教程手册资料.zip油藏数值模拟软件 CMG Suite v2012.0 Win64-ISO 1DVDCMG Suite v2012.0—最大的独立开发的油藏数值模拟软件 为油/气藏的建模与仿真提供实际的解决办法,先进的Windows ?软件,先进的采收率(提高采收率/返回抑制的)进程,油藏工程,为世界各地的客户提供咨询,培训和技术支持. chemcad.v6.1.2Chemcad.v6.01(lic解密,计算好用) CambridgeSoft.Che

iOS开发——学习总结swift篇&amp;swift 2.0学习与总结一

swift 2.0学习与总结一 一:属性策略(OC中的叫法) strong: 在Swift中是默认的 weak: 通过weak关键词申明 weak var delegate: UITextFieldDelegate? readonly,readwrie 直接通过声明变量var,声明常量let的方式来指明 copy 通过@NSCopying指令声明. 值 得注意的是String,Array和Dictionary在Swift是以值类型(value type)而不是引用类型(reference typ

solr6.0学习

solr6.0学习(一)环境搭建准备工作:目前最新版本6.0.下载solr 6.0:Solr6.0下载JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的]tomcat8.0 下载:tomcat8##################################在说明搭建环境之前,其实solr5.0之后 solr已经内置jetty服务器,可以自行启动.但是为了加入自己的特性,以及在solr基础之上的应用,此文章主要针对发布在tomcat8上.##############

Servlet3.0学习总结——基于Servlet3.0的文件上传

Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件,在Servlet3.0中提供了对文件上传的原生支持,我们不需要借助任何第三方上传组件,直接使用Servlet3.0提供的API就能够实现文件上传功能了. 一.使用Servlet3.0提供的API实现文件上传 1.1.编写上传页面 <%@ page language="java&