【mfc 编辑器 源码】【it1688源码】【前端源码显示标签】splay源码

来源:赛会源码

1.Quant 应该学习哪些 Python 知识

splay源码

Quant 应该学习哪些 Python 知识

       æ•°æ®åˆ†æžçš„python软件包不能算是严格的Python知识吧?严格来说,熟练使用那些软件包更多的还是依赖于金融市场,数理统计方面的知识,因为软件包的API通常都是这些领域知识的术语。

       ä½œä¸ºä¸€ä¸ªquant,mfc 编辑器 源码 这个问题(一个这时候的quant应该学习哪些Python知识)的必要性在于,Python在这个领域真的是很火,一句不过分的话说“华尔街以前运行在Excel上,今后会运行在Python上” (当然技术上来讲,这并非事实,要说这个可能性的基础,从编程语言上来讲,还得是C/C++,这里的说法更多是体现在Python语言作为一种最接近用户层面的语言的流行度而来的, 同时即便从这个意义上来讲,现在流行的还有R, Matlab, Q(在一些知名银行很流行)等)。

       ä»¥ç†Ÿç»ƒæŽŒæ¡Python为目标,可以这样来关注Python:

       Python是一门什么编程语言,它的显著优势和劣势分别是什么

       Python编程环境的快速搭建(包括包管理(现在pip正在被标准化),编辑器,以及调试工具)

       Python最被广泛认同的编码规范和最佳实践是什么 (e.g., ('a' + 'b') VS. ''.join(['a', 'b'], 这一点被很多初学者所忽略(“为什么不呢?反正我的代码运行正确了。”),但是如果学习者最初花多一点时间来回答这个问题(“虽然有多种选择,但是哪种选择在这个时候最合适”),或者说建立起来这样一种思考方式,你将很快的超越自己,成为别人眼中的专家。)

       Python内建的主要的数据类型(int, long, str, tuple, list, dict, heapq, deque - 内建的标准库中并不包含像C++里面那样丰富的数据结构,Search Tree, Binary Search Tree, AVL/Splay/Red Black Tree, Graph等, 不过这些非线性的数据结构都可以在PyPI中找到),以及它们的常用API(这也正是Python的闪光点之一,即最初的编程效率的来源)。

       Python的常用标准库(Python拥有非常易用和功能完备的标准库,使得Python在安装之后就能应付大量问题,如字符处理,文件系统,HTTP, 常见数据文件处理等。语言的维护者早期应该是希望赋予Python以明朗的模块组织结构,对于某类具体问题都存在一个明确的甚至是唯一的模块,但是随着这些年Python的流行,第三方包的大量增加,这种初衷现在面临不少挑战。直观的结果是,在Python 2.X的版本里,你会找到像urllib2这样命名的模块。现在的Python 3所作出的众多努力中就包括对这些模块组织上的歧义进行整理。总的来说,用户仍然还是可以迅速的回答“我该使用哪个模块”这个通常需要不少经验的问题。)

       Python的面向对象范式怎么使用(如何在此理解上可靠的实现封装,重用,继承,覆盖)

       Python在处理网络编程上的常见方案,常用标准包及第三方包(这本身是一个丰富的话题,同时也几乎不可避免,熟练掌握这个话题需要多年的经验,深层次的理解更需要系统的计算机科学知识,但是你可以从其中某一个具体的方案开始。Python内建标准包提供几乎所有层次的网络编程术语,你可以工作在从IP到应用的所有层面。)

       Python在处理CPU密集型运算时候采用的流行解决方案,以及它们的工作原理大致是什么(这个理解可以帮助你以不变应万变的从众多第三方方案中选择合适的候选者。流行的方案一般是通过Python <-> C/C++/Fortran互操作,可能会使用一些元编程语言(比如Cython)来进行language translation/generation,也有可能直接从C/C++/Fortran编写的软件中来生成二进制编程界面或者应用编程界面(取决于生成的过程是利用二进制文件(.lib, .so)还是源文件),甚至更新的尝试会利用到一个多阶段的源代码处理管道,从Python源代码,中间C/C++代码,再到LLVM将Python代码(目前比较成功的方案似乎支持到Python的一个理想子集)实时生成对应的机器码。理解这一原理将帮助你克服Python在CPU密集运算时所遇到的瓶颈,同时我认为如果你将为你所在的部门构建一个基于Python的数据分析平台

文章所属分类:综合频道,点击进入>>