9 Star 35 Fork 15

Gandedong / python财务及审计应用

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
第二章 Python的前置工具.md 14.93 KB
一键复制 编辑 原始数据 按行查看 历史

第二章 Python的前置工具

  本章主要介绍一下Python这个计算机语言,个人觉得Python的语法是比较简洁的,比较接近英语的书写习惯。对于我们做财务或审计的人来说,即使自己能写代码,对代码要求也不会太高,能跑起来就行了。

  很多财务人员想学习Python,但不知从何着手,其实学习计算机语言与学习书本知识最大的不同是,学习一门计算机语言最重要的是动手去实践,不能靠死记硬背。最好的方法是跟着别人将代码一个一个的敲上去。就像学习驾使一样,开头可能很慢很难,但时间长了,就会开得飞快。 另外,不要去学习全部的计算机理论和代码分析之类的深奥知识,我们是财务,我们是审计,我们的工作不是计算机工程师,掌握一定的操作水平就可以了,我之前就没有经验,学了一大堆没有派上用场的知识,浪费了时间。


2.1 Python安装

  Python的安装没有什么好说的,去Python的官方网站http://www.python.org,选择Downloads就可以了,如果不喜欢最新版本,也可以下载其他历史版本的。但是我不推荐这样的操作。

2 1 2 2

  因为官网中有很多个Windows的版本,让很多不是程序员出身的朋友不好选择。而且我们只是拿Python作为我们做数据分析,自动计算的工具,不是真的玩编程,所以我推荐大家去安装Anaconda(Python发行版)水蟒。 Anaconda适用于Windows,Linux和macOS系统,目的是简化软件包管理。我举个例子大家就明白了,你正在用Python做数据分析,然后你将分析的过程打包发给另一个同事,但同事是用MacOS系统,所以他不能打开。但这个时候,如果你们俩都安装了Anaconda,这个问题就不存在了。

2 3

  对很多不懂程序的人来说,安装一个软件总比安装几个软件更简单。因为你只需安装了Anaconda,就附带了: 一个名为Conda的开源软件包和环境管理系统,可轻松加载系统环境。 一套机器学习库,例如TensorFlow、scikit-learn和Theano。 一套数据分析库,例如pandas、NumPy和Dask。 一套可视化库,例如Bokeh、Datashader、matplotlib和Holoviews。 一套Python的IDE,例如一个Jupyter Notebook可共享的IDE,结合了实时代码、可视化效果和文本。一个名为JupyterLab的进阶IDE,一个名为Spyder的数据分析IDE。

2 4

  在Windows安装的步骤如下: 1、 访问Anaconda.com/downloads

2 5

注意一下,不要下错了,要下个人版,这个是免费的,如果下了商业版,这个是要收费的,很多朋友就下错了。

2 6

2、 选择Windows安装程序下载

2 7

3、 打开并运行安装程序

2 8

  后面安装时的选项一个都不要勾,不要动,均选择默认。

4、 打开Anaconda Prompt并运行一些Python代码

2 9

在Anaconda提示符下,键入python并回车,启动Python解释器,

再输入import this,就会弹出Python内核开发者蒂姆·皮特斯(Tim Peters)的格言:

2 99

优美优于丑陋,

明了优于隐晦;

简单优于复杂,

复杂优于凌乱,

扁平优于嵌套,

稀疏优于稠密,

可读性很重要!

即使实用比纯粹更优,

特例亦不可违背原则。

错误绝不能悄悄忽略,

除非它明确需要如此……

这个也是Python语言的设计原则。

在在MacOS上安装Anaconda大体与Windows一样,点击官网的“Download”,然后下载MacOS的.pkg安装程序文件。但有一点不同的是安装后,您需要在PATH将Anaconda加载到环境变量中。

打开MacOS终端并输入:

$ cd ~

$ source .bashrc

完成安装。

对审计人员来说,由于不是专业程序员,所以很难管理已经安装的库,而且分析完一套数据后往往需要其他人员进行后续操作,这时Anaconda的重要性就不言而喻了。

其实,本人希望中国的软件企业能开发出一个适合国人使用的资源管理系统,当然,最好是不用钱的,如果要钱的话,也希望能便宜一点。因为一个软件管理系统真的对外行非常有用。

2.2 选用Jupyter Notebook

Anaconda中包含了Jupyter Notebook,我称之为朱彼得笔记,这是一个IDE。什么叫做IDE?实际上是Integrated Development Environments的缩写,直译过来叫做“整合开发环境”。其作用主要是敲代码时,能够猜测您将要键入的内容,并显示一个下拉列表并从中进行选择,或者检查敲代码时的拼写错误,调试代码等。由于我们不是程序员,所以不需要用太过复杂的IDE,我们重点应该先在学习语言本身上面。

从某种程度来说,Jupyter Notebook解决问题方面非常方便,除了能快速打开并快速输出外,还能更轻松快捷地完成数据爬取,数据清理和绘图。这对数据分析是非常重要的。

1、如何安装Jupyter Notebook? 其实不用专门去安装的,因为安装Anaconda时已经附带了,无需进一步安装。

3 1

2、使用界面

3 2

点击NEW按钮,选择Python 3。

3 3

一个新的Jupyter文件就会在你的浏览器中打开。

3 4

3、使用方法

3 5

将代码输入到代码单元中,如1+2,然后按“运行”,就可以在活动单元下方生成输出单元,运行结果为3。另外,输出单元中的结果是无法编辑的。 运行结束后,如果想清除代码,按Kernel键,选择 Restart Kernal and Clear Output,就可以清除所有的输出单元。

3 6

除了代码单元外,还有一个Markdown单元,这个比较特别的是,Markdown(减价)是一种轻量级标记语言,它能使我们用简单的纯文本格式编写文档,并能支持图片,图表、数学式等。通过Markdown单元,我们可以将我们的一些审计意见,或审计说明写到Jupyter中。 以下是一个例子:

3 7

我们将一些需要说明的东西加到Markdown单元中,点击运行后得到如下结果:

3 8

这个是比较有用的功能,可以作为数据分析的说明。 具体的Markdown语法如下: 加入标题: 在标题行前输入#键, """     # 一级标题     ## 二级标题     ### 三级标题 """

加入列表: 按[Shift]+ [],代码会有竖线|字符显示,表示分隔,在标题行之后,需要破折号 - - - 来分标题,破折号按三个减号键。

3 9

加入超级链接: 使用一组方括号[ ]和圆括号()来指定超链接。方括号内的文本将作为链接的说明,圆括号内要输入链接地址。

3 10

加入图片: 使用感叹号!和一组方括号 [ ]圆括号()能将图像插入到代码中。方括号内的文本将作为图片说明,圆括号内要输入图片的保存地址,例如我的图片放在Pictures文件夹,地址如下:

3 11

Markdown应该说是最简单的计算机语言了,它涉及到的语法是很有限的,基本上就用几分钟就能学习,忘记了也不怕,百度一下就能出来了。对于我们审计来说,我们只需要记得几种基本的用法就可以了。 对很多只用Word作为文档编辑的人来说,可能觉得Markdown不是很好用,但习惯了之后就会觉得不错了。

题外话:

_Markdown的主创是约翰·格鲁伯(John Gruber),但这位朋友创造了之后就一直没有更新过,主要精力当主播。另一位创作者是亚伦·斯沃茨(Aaron Swartz),不过几年后就自杀了。理由是因为他被麻省理工告了,告他爬取大量论文后免费分享。好吧,美国的互联网法律我不懂,但听说刑期要35年和罚款100万美元,这个老实说,和终身监禁差不多,想不开自杀一点也不奇怪,享年仅26岁。

如果对亚伦•斯沃茨如果有兴趣,可以百度一下。我想说一下的就是,在我国入侵计算机是犯法的,《刑法》里叫做非法获取计算机信息系统数据罪,处三年以下有期徒刑或者拘役,情节严重的三年以上七年以下有期徒刑,并处罚金。

_相信很多人对徐玉玉案有点印象,高考后的徐玉玉就是因为电信诈骗致死的,而首因是黑客杜天禹利用安全漏洞侵入“山东省2016高考网上报名信息系统”网站,爬取了60多万条高考考生信息后非法出售,其中就包括徐玉玉的个人信息。最后黑客杜天禹被判六年,罚金六万。 在中国爬取个人信息是非常容易的,以我自己为例,我只是注册了一家小公司,一天后就接到十几家财务公司的电话。技术是无罪的,可惜的是,计算机犯罪的都是懂技术的。

2.3 Jupyter Notebooks的魔术命令

Jupyter Notebooks(朱彼得笔记本)可以运行一些特殊命令,虽然这些命令不是Python代码,但会执行一些功能,我们称这些特殊命令称为魔术命令。这是朱彼得笔记本的顶级技巧,也是我们当审计经常需要用到的。

%matplotlib inline

一个最常用的图表魔术命令,如果你要做数据分析的话,需要经常用到。当然,如果你不用%matplotlib inline,也是可以的,只是图表会作为窗口弹出。

用法是一般放在import matplotlib这个命令的上面或下面。

如果没有%matplotlib inline,在执行最后一行plt.plot(x, y)代码后是不会有图像的,还需要执行plt.show()之后,图像才会顺利的显示出来。

%load

该魔术命令可以将Python文件的代码加载到朱彼得笔记本中,只要这个文件保存在你的朱彼得笔记本,你就可以调用。

例如我的朱彼得笔记本中有一个图表的Python文件,这个时候,我要复制这个文件的代码到我的ipynb文件中,只需要输入%load就可以了。

点运行结果如下:

对于很多做数据分析的人来说,一遍遍的导入数据,是很麻烦的事,但利用%load这个命令,可以省去很多麻烦,通过它就能把外部的Python文件的代码复制到执行它的单元中。

%run

该魔术命令可以将Python文件的运行结果加载到朱彼得笔记本中,这个与%load相似,但不同的是这个可以显示运行结果。

如果你不记得以上的这些魔术命令,不用怕,在单元中输入%lsmagic或%magic,就可以列出所有的魔术命令。由于篇幅的关系,我用表格列出常用的魔术命令,以便大家查找,不再逐一说明。

命令 说明
%lsmagic 列出所有的魔法函数
%magic 查看各个魔法函数的说明
%XXX? XXX上写魔法函数名称,可以查看该函数的说明
%run 调用外部python脚本
%timeit 测试单行语句的执行时间
%%timeit 测试整个单元中代码的执行时间
% matplotlib inline 生成的图形
%%writefile 写入文件
%pdb 调试程序
%pwd 查看当前工作目录
%ls 查看目录文件列表
%reset 清除全部变量
%debug bug 调试,输入quit退出调试
%env 列出全部环境变量

请注意,这是朱彼得笔记本特有的命令,并非Python的内置命令,因此离开了朱彼得笔记本的使用环境(如使用Pycharm开发环境等),这些命令是无法运行的。 当然,有时候即使你查到了魔术命令,但你可能不清楚如何使用,这个时候就需要使用“?”这个命令了,就是在魔术命令的后面加一个问号,然后再按运行键。这个时候,就会有用法提示了。

“?”这个命令是一个非常有用的功能,除了可以查看魔术命令的用法之外,也可以查看函数,对象,库的帮助。

题外话:Jupyter Notebooks(朱彼得笔记)是一个IDE,可以将代码,文本和图形嵌入到网页中,而且还能有最重要的共享的功能。所以很多人认为朱彼得笔记是最好的IDE之一。 Pycharm(蟒蛇魅力)是另一种IDE ,支持多种文件类型,其中许多对类型的文件都具有检查和代码完成功能,它在程序员中也很受欢迎。从使用来看,“朱彼得笔记”与“蟒蛇魅力”不存在竞争关系,但就个人来说,“蟒蛇魅力”专业版是要钱的,而“朱彼得笔记”是免费的,所以我是使用它为主,另一个原因是,由于我不是专业的程序员,使用的都是小程序为主多,相比较之下,使用“朱彼得笔记”比“蟒蛇魅力”所占用的内存较少。所以执行一些小程序时,我会优先使用“朱彼得笔记”。 如果熟悉了“朱彼得笔记”之后,可以选用JupyterLab(朱彼得实验室),在“水蟒”发行版中已经预装到,这是“朱彼得笔记”的进阶版,拥有更多的功能,建议初学者学习了“朱彼得笔记”后再去使用进阶版,更得心应手。

Python
1
https://gitee.com/Gandedong/python_audit.git
git@gitee.com:Gandedong/python_audit.git
Gandedong
python_audit
python财务及审计应用
main

搜索帮助