请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  数理科学 帖子:3364693 新帖:14

Python入门(1)- Python介绍

TRADE12发表于:5 月 10 日 01:01回复(1)

这是面向新用户的 Python 教程,并结合了 JoinQuant 获取到的数据进行了讲解。

如果你之前没有学过 Python, 或者对 Python 不熟,那不要再犹豫了,这个教程就是为你准备的!

更多内容请查看量化课堂 - Python编程板块。

本节概要: 主要介绍了 Python 是什么? 以及教你写一个简单的程序! Come on~

【Python入门(1)】Python介绍¶

致谢:Python教程部分内容参考了社区用户"冰柠檬",以及廖雪峰老师的博文,在此对他们表示深深的感谢!

注:教程所用环境为 Python 2.7

一、Python是什么?¶

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。

那Python是一种什么语言?

首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

所以Python是一种相当高级的语言。

你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。

但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。

二、第一个Python程序¶

依照传统,学习一门新语言,写的第一程序都叫"Hello World!",因为这个程序所要做的事情就是显示"Hello World!"。在Python中,它是这个样子:

print "Hello World!"
Hello World!

这是print语句的一个示例。print并不会真的往纸上打印文字,而是在屏幕上输出值。程序中的引号表示输出的文本的开始和结束,在输出结果中并不显示。

print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:

print 'The quick brown fox', 'jumps over', 'the lazy dog'
The quick brown fox jumps over the lazy dog

print也可以打印整数,或者计算结果:

print 300
300
print 100 + 200
300

因此,我们可以把计算100 + 200的结果打印得更漂亮一点:

print '100 + 200 =', 100 + 200
100 + 200 = 300

三、变量¶

编程语言最强大的功能之一是操作变量的能力。变量是指向一个值的名称。

赋值语句可以建立新的变量,并给他们赋值:

message = 'Hello World!'
n = 666

这个例子有两个赋值。第一个将字符串'Hello World!'赋值给一个叫做message的变量;第二个将666赋值给n。

他的状态图如下所示,它显示了每个变量所在的状态。 image

四、导入模块¶

是不是常常看到程序的开始处有很多的import...,他的作用就时导入模块(模块:指包含一组相关的函数的文件)。

使用import可以导入模块之后,就可以使用这个模块内包含的函数了。

jqdata是JoinQuant提供的一个模块,内部包含很多API,如获取全部交易日、获取融资融券信息等等。

下面以平台的jqdata模块为例做一个示例:

导入jqdata,调用get_money_flow()函数获取股票的资金流数据。

import jqdata
jqdata.get_money_flow('000001.XSHE', '2015-12-25', '2015-12-30', fields="change_pct")
change_pct
0 0.57
1 -3.47
2 0.92
3 0.08

每次都要在前面加上jqdata,是不是很烦?

你可以使用from jqdata import XX 的方法加入导入模块中单个的文件。
或者使用from jqdata import * 的方法加入导入模块中所有的文件。

from jqdata import get_money_flow
get_money_flow('000001.XSHE', '2015-12-25', '2015-12-30', fields="change_pct")
change_pct
0 0.57
1 -3.47
2 0.92
3 0.08

刚看python是不是觉得有点累呢?

赶快休息一下,消化一下这节的内容。精彩还在后面!

全部回复

0/140

量化课程

    移动端课程