版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
了解Python大数据投融资管理工作任务一:Python基础编程Pyhon是著名的“龟叔”GuidovanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。现在,全世界差不多有600多种编程语言,但流行的编程语言也就20来种。总的来说,编程语言各有千秋。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。了解Python一、Python概述Python提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库等。文本等大量内触,被形象地称作“内置电池(batteriesincluded)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。了解Python二、Python的应用了解Python除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。了解Python三、Python的开发与应用Python适合开发哪些类型的应用呢?首选是网络应用,包括网站、后台服务等;其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等;另外就是把其他语言开发的程序再包装起来,方便使用。优点:1.大小写严格区分2.简单、易学、支持面向对象3.可开源4.解释型语言、跨平台性好5.库非常丰富了解Python四、Python的特点缺点:1.运行速度慢2.代码不能加密了解Python四、Python的特点Python开发环境安装和配置工作任务一:Python基础编程大数据投融资管理Python开发环境安装和配置一、开发环境本任务介绍如何在本地搭建Python3开发环境。Python3可应用于多平台包括Windows、Linux和MacOSX.目前专一网和云上实训已经支持在线编程功能,使用该平台时可以不用在本地Python环境,只需了解相关知识即可。在线安装教程参考地址:Python3和Pycharm安装/w3cnote/pycharm-windows-isal.htmlPython开发环境安装和配置二、PyCharm集成开发环境安装集成开发环境(IDE):IntegratedDevelopmentEnvironment(1)PyCharm是由JetBrains打造的一款PythonIDE,支持macOS、Windows、Linux系统。(2)PyCharm功能:调试、语法高亮、Project管理、代码跳转、智能提示、自动完成单元测试、版本控制等。(3)PyCharm下载地址:/pycharm/(1)MySQL是一个关系型数据库管理系统,由瑞MySQLAB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。三、MySQL结构化数据库安装Python开发环境安装和配置(2)MySQL下载地址:/downloads/mysq/(3)MySQL详细安装教程请参考:/mysql/mysql-install.html.三、MySQL结构化数据库安装Python开发环境安装和配置Python开发环境安装和配置四、MongoDB非结构化数据库安装(1)MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。Python开发环境安装和配置四、MongoDB非结构化数据库安装(2)Mongodb下载地址:/try/download/community(3)Mongodb详细安装教程请参考:/mongodb/mongodb-window-install.htmlPython语法规则大数据投融资管理工作任务一:Python基础编程了解了如何启动和退出Python的交互式环境,就可以正式开始编写Python代码。注意:(1)在写代码之前,请千万不要用“复制”-“粘贴”把代码直接从页面粘贴过来。写程序需要一个字母一个字母地把代码敲进去。(2)在敲代码的过程中,初学者经常会敲错代码,需要仔细地检查、对照,才能以最快的速度掌握如何写程序。Python语法规则一、创建第一个Python程序(1)直接输入代码在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。【案例1】输入100+200,计算出结果:
>>>100+200
300
任何有效的数学计算都可以算出来。Python语法规则Python语法规则如果要让Python打印出指定的文字,可以用print语句,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:【案例2】输入>>>print’hello,world’hello,world
这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。最后,用exit()退出Python,第一个Python程序完成!唯一的缺憾是没有保存下来,下次运行时还要再输入一遍代码。小结:在Python交互式命令行下,可以直接输入代码,然后执行,并立刻得到结果。在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。在实际开发的时候,可以使用文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复使用了。Python语法规则(2)使用文本编辑器问题:用什么文本编辑器?推荐两款文本编辑器:(1)SublimeText,免费使用,但是不付费会弹出提示框。
(2)Notepad++,免费使用,有中文界面。
注意:用哪个都行,但是绝对不能用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会在文件开始的地方加上几个特殊字符(UTF-8BOM),结果会导致程序运行出现莫名其妙的错误。Python语法规则二、python中的变量赋值单变量赋值:counter=100#赋值整型变量miles=1000.0#浮点型name="John"#字符串多变量赋值:a=b=c=1#三个变量的值都为1a,b,c=1,2,”john”#分别为三个变量赋值Python语法规则三、Python中的数据类型Python语法规则Python有五个标准的数据类型:
(1)Numbers(数字)(2)String(字符串)(3)List(列表)(4)Tuple(元组)(5)Dictionary(字典)Python语法规则(1)Numbers(数字)①不可改变的数据类型:
当其类型被改变时,将会赋值给-一个新的对象。当对变量赋予了数值后,这个对象就会被创建,可通过del语句删除对这些对象的引用。②Python支持的数字类型:int(有符号整型,如0x69,10);long(长整型)也可以代表八进制和十六进制],如-4721885298529L,L表示长整型);float(浮点型,如70.2E-12);complex(复数,如4.53e-7j)。Python语法规则函数描述int()将x转换为一个整数f1oat(x)将x转换到一个浮点数complex()创建一个复数str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符串eval()用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列s转换为一个元组list(s)将序列s转换为一个列表set()转换为可变集合dict(d)创建一个字典。d必须是一个(key,value)元组序列。frozenset()转换为不可变集合chr()将一个整数转换为一个字符ord()将一个字符转换为它的整数值hex()将一个整数转换为一个十六进制字符串oct()将一个整数转换为一个八进制字符串表1.1Python数据类型转换③Python数据类型转换:Python语法规则表1.2Python数学函数Python数学函数函数返回值(描述)abs()返回数字的绝对值,如abs(-10)返回10cei1()返回数字的向上取整值,如math.cei1(4.1)返回5cmp(x,y)比较函数,如果x<y返回-1,如果x=y返回0,如果x>y返回1exp(x)返回e的x次幂(ex),如math.exp(1)返回2.718281828459045fabs()返回数字的绝对值,如math.fabs(-10)返回10.0floor()返回向下取整值,如math.f1oor(4.9)返回4log()如math.1og(math.e)返回1.0,math.1og(100,10)返回2.0log10(x)返回以10为基数的x的对数,如math.1og10(100)返回2.0max(x1,x2,...)返回给定参数的最大值,参数可以为序列。min(x1,x2,...)返回给定参数的最小值,参数可以为序列。modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。pow(x,y)x**y_运算后的值。round(x[,n])返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。sqrt(x)返回数字x的平方根Python语法规则表1.3Python随机函数⑤Python随机数函数函数描述choice()
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。randrange([start,]stop[,step]从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1。random()随机生成下一个实数,它在[o,1)范围内。seed()改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。shuffle()将序列的所有元素随机排序uniform(x,y)随机生成下一个实数,它在[x,y]范围内。常用于游戏、数学安全等领域Python语法规则表1.4Python三角函数⑥Python三角函数函数描述acos(x)返回x的反余弦弧度值。asin(x)返回x的反正弦弧度值。atan(x)返回x的反正切弧度值。atan2(y,x)返回给定的X及y坐标值的反正切值。cos(x)返回x的弧度的余弦值。hypot(x,y)返回欧几里德范数sqrt(x*x+y*y).sin(x)返回的x弧度的正弦值。tan(x)返回x弧度的正切值。degrees(x)将弧度转换为角度,如degrees(math.pi/2),返回90.0radians(x)将角度转换为弧度Python语法规则表1.5Python数学常量Python数学常量常量描述pi数学常量pi(圆周率,一般以工来表示)e数学常量e,e即自然常数(自然常数)。(2)String(字符串)
由数字、字母、下划线组成。①字符串截取Python字符串从左至右截取:索引范围(0,长度-1),从右至左截取(-1,字符串开头)。
②Python中不存在单字符Python中即使有单字符,也会被当作字符串处理。
③Python转义字符Python语法规则转义字符描述\出现在行尾时表现为续行符,出现在行中时,用于“翻译”特殊字符表示特殊含义,如下面选项所示\\反斜杠符号\’单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\yyy八进制数,yy代表的字符,例如:\o12代表换行\xyy十六进制数,yy代表的字符,例如:\x0a代表换行\other其它的字符以普通格式输出Python语法规则操作符描述+字符串连接。*重复输出字符串。[]通过索引获取字符串中字符[:]截取字符串中的一部分in成员运算符–如果字符串中包含给定的字符返回Truenotin成员运算符–如果字符串中不包含给定的字符返回Truer/R原始字符串–原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母"r”(可以大小写)以外,与普通字符串有着几乎完全相同的语法。④
Python字符串运算表1.7
Python字符串运算Python语法规则a='hello'b='world‘print(a+b)
#helloworld,+号连接字符串print(a*2)
#hellohe1lo,*号重复字符串print(a[1])
#e,口索引字符print(a[1:4])
#ell,[:]截取字符串print(“h”ina)
#True,in是否包含print(“M””notina)
#True,notin是否不包含print(r‘\n‘)
#\n,r原始字符串(不解析转义字符)下表实例变量a值为字符串"hello”,b变量值为"world":Python语法规则⑤Python字符串格式化(方便print时定义类型,如C语言中printf字符串时在引号内写%s一样)print("Mynameis%sandweightis%dkg!"%('Zara',21))输出:MynameisZaraandweightis21kg!符号描述%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度表1.8Python字符串格式化Python语法规则%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g%f和%e的简写%G%f和E的简写%p用十六进制数格式化变量的地址⑥
使用三引号输出一大串带特殊字符的字符串当使用三引号将字符串框起来时,就不需要再通过转义字符打很多换行符等符号了,可以直接打换行。对比如下:>>>hi=’’’hiThere’’’>>>hi=’hi\nthere’这两种输出的结果都是换行的字符串,但是使用单引号时,当转义字符很多时,会很麻烦。Python语法规则方法描述string.capitalize()把字符串的第一个字符大写string.center(width)返回一个原字符串居中,并使用空格填充至长
度width的新字符串string.count(str,beg=0,end=len(string))返回str在string里面出现的次数,如果
beg或者_end指定则返回指定范围内str出现的次数string.decode(encoding=’UTF-8',
errors='strict')以encoding指定的编码格式解码string,
如果出错默认报一个ValueError的异常
,除非errors指定的是‘ignore'
或者'replace'⑦String可使用的内建函数表1.9String可使用的内建函数Python语法规则string.encode(encoding
=UTF-8',
errors='strict')以encoding指定的痫码格式编码string.
如果出错默认报一个ValueError的异常,
除非errors指定的是‘ignore’或
者'replace'string.endswith(obj
beg=o,
end=len(string))检查字符串是否以obj结束,如果beg或
首end指定则检查指定的范围内是否以obj
结束,如果是,返回True,否则返回False.string.expandtabs(tabs
ize=8)把字符串string中的tab符号转为空
格,tab符号默认的空格数是8.string.find(str,beg=o,
end=len(string))检测str是否包含在string中,如果beg
和end指定范围,则检查是否包含在指定范
围内,如果是返回开始的索引值,否则返回-string.format(格式化字符串string.index(str,beg=o
,end=len(string))跟find0方法一样,只不过如果str不在
string中会报一个异常.string.isalnum()如果string至少有一个字符并且所有字符
都是字母或数字则返回True。否则返回
Falsestring.isalpha()如果string至少有一个字符并且所有字符
都是字母则返回True。否则返回FalsePython语法规则string.isdecima1()如果string只包含十进制数字则返回True
否则返回False.string.isdigit()如果string只包含数字则返回True否则
返回Fa1se.string.is1ower()如果string中包含至少一个区分大小写的
字符,并且所有这些(区分大小写的)字符都
是小写,则返回True,否则返回Falsestring.isnumeric(如果string中只包含数字字符,则返回
True,否则返回Falsestring.isspace()如果string中只包含空格,则返回True,
否则返回False.string.istit1e()如果string是标题化的(见tit1e()则返
回True,否则返回Falsestring.isupper()如果string中包含至少一个区分大小写的
字符,并且所有这些(区分大小写的)字符都
是大写,则返回True,否则返回Falsestring.join(seq)以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串Python语法规则string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width_的新字符串。string.lower()转换string_中所有大写字符为小写。string.lstrip()截掉string左边的空格。string.maketrans(intab
,outtab])maketrans(方法用于创建字符映射的转换表,对子接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。max(str)返回字符串str中最大的字母。min(str)返回字符串str中最小的字母。string.partition(str)有点像find(和split(的结合体,从str出现的第一个位置起,把字符串string
分成一个3元紊的元组(string_pre_str,str,string_post_str),如果string中不包含str则string_pre_str==string。string.replace(str1,
str2,
num=string.count(str1)把string中的str1普换成str2,如果num指定,则替换不超过num次。string.rfind(str,
beg=0,end=len(string))类似于find(函数,不过是从右边开始查找。string.rindex(str,|
beg=0,end=len(string))类似子index(,不过是从右边开始。Python语法规则string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度width_的新字符串string.rpartition(str)类似子partition(函数,不过是从右边开始查找.string.rstripO删除string字符串末尾的空格.string.split(str="",
num=string.count(str))│以str为分隔符切片string,如果num有指定值,则仅分隔num个子字符串string.splitlines([kee
pends])按照行(lr','lrin,in')分隔,返回一个包含各行作为元紊的列袤,如果参数keepends为False,不包含换行符,如果为True,则保留换行符。string.startswith(obj,
beg=0,end=len(string))检查字符串是否是以obj开头,是则返回True.否则返回False。如果beg和end指定值,则在指定范围内检查.string.strip([obj])在string上执行lstrip(和rstrip0string.swapcase(O)翻转string中的大小写string.title()返回"标题化”的string.就是说所有单词都是以大写开始,其余字母均为小写〔见istitle0)string.translate(str,d
el="")根据str给出的表(包含256个字符)转换string的字符,要过滤掉的字符放到del参数中string.upper()转换string中的小写字母为大写string.zfill(width)返回长度为width的字符串,原字符串string_右对齐,前面填充0string.isdecimal()isdecimal(方法检查字符串是否只包含十进制字符。这种方法只存在子unicode对象。Python语法规则(3)List(列表)
使用非常频繁,支持数字、字符、字符串甚至列表的集合结构。①增加或删除列表元素
直接重新赋值给根据索引值取出的值,或通过append()函数来添加。通过de1语句删除列表项,如:dellist1[2]。②列表的脚本操作符
和对字符串的操作类似。Python表达式结果描述len([1,2,3])3长度[1,2,3]+[4,5,6][1,2,3,4,5,6]组合['Hi!']*4['Hi!','Hi!’,'Hi!','Hi!']重复3in[1,2,3]True判断元素是否存在于列表中forxin[1,2,3]:printx,123迭代表1.10
列表的脚本操作符Python语法规则Python表达式结果描述L[2]'Taobao'读取列表中第三个元素L[-2]'Runoob'读取列表中倒数第二个元素L[1:]['Runoob','Taobao']从第二个元素开始截取列表③列表的截取表1.11列表的截取函数描述cmp(list1,list2)比较两个列表的元素len(list)列表元素个数max(list)返回列表元素最大值min(list)返回列表元素最小值list(seq)将元组转换为列表④Python中列表的函数及方法Python'包含以下函数:表1.12Python中列表的函数Python语法规则函数描述1ist.append(obj)在列表末尾添加新的对象list.count(obj)统计某个元素在列表中出现的次数list.extend(seq)在列表末尾一次性追加另一个序列中的多个值〈用新列表扩展原来的列表)list.index(obj)从列表中找出某个值第一个匹配项的索引位置list.insert(index,obj)将对象插入列表list.pop(obj=1ist[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值list.remove(obj)移除列表中某个值的第一个匹配项list.reverse()反向列表中元素list.sort([func])对原列表进行排序Python包含以下方法:表1.13Python中列表的方法Python语法规则(4)Tuple(元组)①与列表的区别类似列表,但列表用[]标识,元组用()标识,并且列表元素可二次赋值,但元组元素不能。②元组的创建创建空元组:tuple().创建只有一个元素的元组:tuple(a,),必须要在元素后加逗号。③元素的访问虽然创建时用()包含,但是在访问单个元素时,与列表一样,通过[索引号]来访问。④删除元组元组中的单个元素不能被删除,但是元组可以通过de1语句整个删除。⑤元组运算符(同列表)⑥任意无符号的对象,以逗号隔开,默认为元组(无关闭分隔符)Python语法规则函数描述cmp(tuple1,tuple2)比较两个元组元素。len(tuple)计算元组元素个数。max(tup1e)返回元组中元素最大值。min(tuple)返回元组中元素最小值。tuple(seq)将列表转换为元组。⑦元组内置函数表1.14元组内置函数Python语法规则(5)Dictionary(字典)
①与列表的差别
列表是有序的对象集合,字典是无序的对象结合。字典中的元素通过Key来获取,而列表中的元素通过位移来获取。②字典的定义
下面是两种定义字典的方法,两种方法都与列表的定义方法类似。dict={}dict['one']='Thisisone”dict[2]="Thisistwo”tinydict={'name’:’john',’code':6734,'dept‘:’sales’}③数据类型的转换Python语法规则repr(x)将对象x转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列s转换为一个元组list(s)将序列s转换为一个列表set(s)转换为可变集合dict(d)创建一个字典。d必须是一个序列(key,value)元组。frozenset(s)转换为不可变集合chr(x)将一个整数转换为一个字符unichr(x)将一个整数转换为Unicode字符ord(x)将一个字符转换为它的整数值hex(x)将一个整数转换为一个十六进制字符串oct(x)将一个整数转换为一个八进制字符串函数描述int(x[,base])将x转换为一个整数long(x[,base])将x转换为一个长整数float(x)将x转换到一个浮点数complex(rea1[,imag]创建一个复数str(x)将对象x转换为字符串表1.15数据类型的转换Python语法规则四、Python标识符(1)标识符由字母、数字、下划线组成,但不能以数字开头,且区分大小写。(2)以下划线开头的标识符是有特殊意义的。以单下划线开头foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用fromxxximport*而导入。(3)以双下划线开头的_foo代表类的私有成员;以双下划线开头和结尾的_foo_代表Python里特殊方法专用的标识,如_init_()代表类的构造函数。(4)Python可以同一行显示多条语句,方法是用分号:分开。Python语法规则五、Python中的保留字符
Python中的保留字不能用作常数或变数,或任何其他标识符名称。所有Python的关键字只包含小写字母。
and、exec、not、assert、finally、or、break、for、pass、class、from、print、continue、global、raise、def、if、return、de1、import、try、elif、in、while、else、is、with、except、lambda、yieldPython语法规则六、Python的缩进与写法和是否换行输出(1)Python中的缩进要求非常严格,必须严格对齐。因为Python的代码块不由{}控制,而是由缩进就可以控制。(2)使用斜杠(\)将一行的语句分为多行显示,如下所示:当然,使用各类括号括起语句之后不需要斜杠换行。total=item_one+\
item_two+\
item_threePython语句大数据投融资管理任务1.1:Python基础编程Python语句一、条件语句Python不支持switch语句,因此判断结果对应多种执行方式时,只能用elif来做。num=5ifnum=3:#判断num的值print('boss')elifnum=2:print('user’)elifnum=1:print('worker')Python语句二、循环语句循环类型描述while循环在给定的判断条件为true时执行循环体,否则退出循环体for循环重复执行语句嵌套循环可以在while循环体中嵌套for循环Python中没有dowhile循环。表1.24循环语句Python语句二、循环语句表1.25循环控制语句控制语句描述break语句在语句块执行过程中终止循环,并且跳出整个循环。continue语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。pass语句pass是空语句,是为了保持程序结构的完整性。Python语句(1)pass语句在函数中的作用
当编写一个程序时,执行语句部分思路还没有完成,这时你可以用pass语句来占位,也可以当做是一个标记,是要过后来完成的代码。
比如:defiplaypython():pass
定义一个函数iplaypython,但函数体部分暂时还没有完成,又不能空着不写内融,因此可以用pass来替代占个位置。Python语句(2)pass语句在循环中的作用
pass也常用于为复合语句编写一个空的主体,比如说你想一个while语句的无限循环,每次迭代时不需要任何操作。
比如:whileTrue:pass
以上只是举例,现实中最好不要写这样的代码,因为执行代码块为pass也就是空什么也不做,这时python会进入死循环。(3)pass语句用法总结
1.空语句,什么也不做;
2.在特别的时候用来保证格式或是语义的完整性。Python语句(5)for循环(可在循环中使用else语句)
可以通过直接取值选代,也可以通过序列索引迭代。【案例四】
取值迭代:
forletterin'Python':#逐个输出字符串中的字符print('当前字母:’,letter)fruits=['banana','apple',’mango’]forfruitinfruits:#逐个输出列表中的元素print('当前水果:’,fruit)print("Goodbye!")Python函数大数据投融资管理任务1.1:Python基础编程Python函数一、读取键盘输入读取输入的行:str=input("请输入:");print(”你输入的内容是:”,str)input()函数可以接受Python表达式的输入,并输出表达式的计算结果。请输入:[x*5forxinrange(2,10,2)]你输入的内容是:[10,20,30,40]Python函数二、打开、关闭和读写文件可以用file对象对大多数文件进行操作。先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。fileobject=open(file_name[,access__mode][,buffering])file_name:file._name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access._mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。(1)打开文件Python函数buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。当文件不存在但通过open函数打开时,如果是写入则会自动创建文件,如果是读取内融则会报错。Python函数打开文件的模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。r+打开一个文件用于读写。文件指针将会放在文件的开头。rb+以二进制格式打并一个文件用于读写。文件指针将会放在文件的开头。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。wb+以二进制格式打并一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内融将会被写入到已有内融之后。如果该文件不存在,创建新文件进行写入。ab以二进制格式打并一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内融将会被写入到已有内融之后。如果该文件不存在,创建新文件进行写入。a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾(不然怎么追加呢)。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。表1.26打开文件Python函数(2)File对象的属性文件被打开后就会创建一个File对象。对象属性描述file.closed返回true如果文件已被关闭,否则返回false。file.mode返回被打开文件的访问模式。返回文件的名称。file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true。表1.27File对象的属性Python函数(3)关闭文件当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件(Python会自动地关闭之前的文件对象,这样不那么耗费内存)。用close()方法关闭文件是一个很好的习惯。Python函数(4)读写文件(无论读、写、还是关闭文件,都需要先用open打开文件。)#写一个文件fo=open("foo.txt","wb")fo.write('www.runoob.com!\nVerygoodsite!\n');#关闭打开的文件fo.close()#读一个文件fo=open("foo.txt","r+")str=fo.read(10);#这里的参数10表示的是被读取的字节数print("读取的字符串是:”,str)#关闭打开的文件fo.close()Python函数(5)文件内定位tell()方法告诉你文件内的当前位置(那应该就是告诉你文件指针在哪个位置);换句话说,下一次的读写会发生在文件开头这么多字节之后。seek(offset[,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。Python函数#打开一个文件fo=open("foo.txt',”r+’)str=fo.read(10);print(”读取的字符串是:”str)#查找当前位置position=fo.te11();print(”当前文件位置:”,position)#把指针再次重新定位到文件开头position=fo.seek(0,0);str=fo.read(10);print(”重新读取字符串:”,str)#关闭打开的文件fo.close()Python函数三、文件File对象的方法方法描述file.close()关闭文件。关闭后文件不能再进行读写操作。file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。file.fileno()返回一个整型的文件描述符(filedescriptorFD
整型),可以用在如os模块的read方法等一些底层操作上。file.isatty()如果文件连接到一个终端设备返回True,否则返回False。file.next()返回文件下一行。file.read([size])从文件读取指定的字节数,如果未给定或为负则读取所有。file.readline([size])读取整行,包括“\n”字符。file.readlines([sizehint])读取所有行并返回列表,若给定sizeint>0,返
回总和大约为sizeint字节的行,实际读取值可
能比sizhint较大,因为需要填充缓冲区。表1.28文件File对象的方法Python函数file.seek(offset[,whence])设置文件当前位置file.te11()返回文件当前位置。file.truncate([size])截取文件,截取的字节通过size指定,默认为当前文件位置。file.write(str)将字符串写入文件,没有返回值。file.writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。Python运算符大数据投融资管理任务1.1:Python基础编程Python运算符一、Python算数运算符运算符描述实例+加—两个对象相加a+b输出结果30-减——得到负数或是一个数减去另
一个数a-b输出结果-10*乘——两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200/除——x除以ybia输出结果2〔整数除整数,只能
得整数,要求小数需要将其中一个改为浮点数)%取模——返回除法的余数b%a输出结果()**幕——返回x的y次幂a**b为10的20次方,输出结果100000000000000000000//取整除——返回商的整数部分9//2输出结果4,9.0//2.0输出结果
4.0假设a=10,b=20表1.16
常见算数运算符Python运算符二、Python比较运算符运算符描述实例==等于—比较对象是否相等(a==b)返回False.!=不等于—比较两个对象是否不相等(a!=b)返回true.<>不等于—比较两个对象是否不相等(a<b)返回true。这个
运算符类似!=.>大于—返回x是否大于y(a>b)返回False.<小于—返回x是否小于y。所有比较运算符返
回1表示真,返回0表示假。这分别与特殊的
变量True和False等价。注意,这些变量名的大写。(a<b)返回true.>=大于等于—返回x是否大于等于y.(a>=b)返回False.<=小于等于—返回x是否小于等于y.(a<=b)返回true.表1.17常见比较运算符假设a=10,b=20Python运算符三、Python赋值运算符运算符描述实例=简单的赋值运算符c=a+b将a+b的运算结果赋值为c+=加法赋值运算符c+=a等效于c=c+a-=减法赋值运算符c-=a等效于c=c-a*=乘法赋值运算符c*=a等效于c=c*a/=除法赋值运算符c/=a等效于c=c/a%=取模赋值运算符c%=a等效于c=c%a**=幂赋值运算符c**=a等效于c=c**a//=取整除赋值运算符c//=a等效于c=c//a假设a=10,b=20表1.18常见赋值运算符Python运算符四、Python位运算符按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a&b)输出结果12,二进制解释:00001100|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1(a/b)输出结果61,二进制解释:00111101^按位异或运算符:当两对应的二进位相异时,结果为1(a^b)输出结果49,二进制解
释:00110001~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似|于-x-1(~a)输出结果―61,二进制解释:11000011,在一个有符号二进制数的补码形式。<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,│高位丢弃,低位补0a<<2输出结果240,二进制解释:1111000o>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移│动的位数a>>2输出结果15,二进制解释:00001111表1.19常见位运算符假设a=10,b=20五、Python逻辑运算符Python运算符运算符逻辑表达式描述实例andxandy布尔"与”–如果x为False,xandy返回False,否则它返回y的计算值(aandb)返回20orxory布尔"或”–如果x是非o,它返回x的值,否则它返回y的计算值(aorb)返回10notnotx布尔"非”–如果x为True,返回False。如果x为False,它返回Truenot(aandb)返回False表1.20
常见逻辑运算符假设a=10,b=20六、Python成员运算符Python运算符运算符描述实例in如果在指定的序列中找到值返回True,否则返回Falsex在y序列中,如果x在y序列中返回Truenotin如果在指定的序列中没有找到值返回True,否则返回Falsex不在y序列中,如果x不在y序列中返回True表1.21
常见成员运算符七、Python身份运算符(判断引用的对象)Python运算符is与=的区别==判断两者是否完全相等,而is判断两个对象引用的对象是否是同一个。运算符描述实例isis是判断两个标识符是不是引用自一个对象xisy,类似id(x)==id(y),如果引用的是同一个对象则返回True,否则返回Falseisnotisnot是判断两个标识符是不是引用自不同对象xisnoty,类似id(a)!=id(b)。如果引用的不是同一个对象则返回结果True,否则返回False。表1.22
常见身份运算符八、Python运算符优先级Python运算符运算符描述**指数(最高优先级)~+一按位翻转,一元加号和减号(最后两个的方法名为+和一@)*/%//乘,除,取模和取整除+-加法减法>><<右移,左移运算符&位'AND'`|位运算符<=<>>=比较运算符<>==!=等于运算符=%=/=//=-=+=*=***=赋值运算符isisnot身份运算符innotin成员运算符notorand逻辑运算符表1.23
运算符优先级Python模块大数据投融资管理任务1.1:Python基础编程重点:1.MacLinux使用setuptools,windows使用ez_setup.py2.添加第三方模块时,添加搜索目录Python模块一、安装第三方模块在Python中,安装第三方模块,是通过setuptools这个工具完成的。在Python中,安装第三方模块,是通过setuptools这个工具完成的。如果使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了。如果使用Windows,请首先从这个地址下载ez_setup.py:https://pypi.python.org/pypi/setuptools#windows下载后,随便放到一个目录下,然后运行以下命令来安装setuptools:pythonez_setup.py2.添加第三方模块时,添加搜索目录Python模块在命令提示符窗口下尝试运行easy._install,Windows会提示未找到命令,原因是easy_install.exe所在路径还没有被添加到环境变量Path中。请添加C:\Python27\Scripts到环境变量Path:图1-2:编辑系统变量Python模块Python模块easy_installPIL耐心等待下载并安装后,就可以使用PIL了。有了PIL,处理图片易如反掌。随便找个图片生成缩略图:>>>importImage>>>im=Image.open('test.png')>>>printim.format,im.size,im.mode:PNG(400,300)RGB>>im.thumbnail((200,100)>>im.save('thumb.jpg','JPEG')重新打开命令提示符窗口,就可以运行easy_install了:现在,安装一个第三方库一PythonImagingLibrary,这是Python下非常强大的处理图像的工具库。一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,比如PythonImagingLibrary的名称叫PIL,因此,安装PythonImagingLibrary的命令就是:Python模块二、导入模块的三种方法的区别(1)import导入importsupport
#导入模块,并不导入单个函数。#现在可以调用模块里包含的函数了,但是必须通过模块名、函数名的方式调用。
support.print_func("Runoob")Python模块二、导入模块的三种方法的区别(2)From...import导入下面的语句可以将模块中的某一部分导入,它只会将里面这个部分单个引入到执行这个声明的模块的全局符号表。这个部分可以是某个函数块,也可以是函数块的子函数块。frommodnameimportname1[,name2[,....nameN]](3)From...import*导入
前两种语句都是导入模块的部分,只是部分导入的位置不同,而使用From-import*则是导入模块的全部项目,尽量少用,太耗内存。Python命名空间和作用域大数据投融资管理任务1.1:Python基础编程Python模块一、命名空间变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。每个函数都会有自己的命名空间,当变量出现在函数内部时,Python默认其为局部变量,若存在一个与局部变量重名的全局变量,则由局部变量覆盖全局变量。Python的命名空间分局部命名空间和全局命名空间。Python模块命名空间一般有三种:①内置命名空间(Built-innamespace):Python语言内置的名称,如函数名abs、char和异常名称BaseException、Exception等。②全局命名空间(Globalnamespace):模块中定义的名称,记录了模块的变量,包括函数、类、Built-innamespace其他导入的模块、模块级的变量和常量。③局部命名空间(Localnamespace):函数中Globalnamespace定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量(类中定义的也是如此)。(1)命名空间的类别Python模块假设要使用变量chinazdap,则Python的查找顺序为:局部命名空间→全局命名空间→内置命名空间。如果找不到变量chinazdap,将放弃查找并引发一个NameError异常:NameError:name'chinazdap'isnotdefined。(2)命名空间查找顺序Python模块命名空间的生命周期取决于对象的作用域,如果对象执行完成,则该命名空间的生命周期就结束。因此,我们无法从外部命名空间访问内部命名空间的对象。示例:#varl是全局名称varl=7defsome_func():#var2是局部名称var2=8defsome_inner_func():#var3是内嵌的局部名称var3=9(3)命名空间的生命周期Python模块二、作用域作用域是作用范围,是一个Python程序可以直接访问命名空间的正文区域。按生效范围可分为全局作用域和局部作用域。在一个Python程序中,直接访问一个变量,会从内到外依次访问所有的作用域直到找到该变量,否则会报未定义的错误。在Python中,程序的变量并不是在哪个位置都可以被访问的,访问权限决定于这个变量是在哪里被赋值的。Python模块定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部被访问,而全局变量可以在整个程序范围内被访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。(1)作用域的类别
变量的作用域决定了在哪一部分程序可以访问哪个特定的变量。Python的作用域一共有4种。LocalEnclosingGlobalBuilt-inPython模块(2)作用域的查找顺序
Enclosing→Global→Built-in.在局部作用域找不到时,便会去局部作用域外的Enclosing去找,再找不到就会去全局作用域找,还是找不到再去内置作用域中找。示例:g_count=0#全局作用域defouter():o_count=1#外部函数的本地作用域definner():i_count=2#局部作用域Python模块内置作用域是通过一个名为builtin的标准模块来实现的,但是这个变量名自身并没有放入内置作用域内,所以必须导入这个文件才能够使用它。在Python3.0中,可以使用以下的代码来查看到底预定义了哪些变量:>>>importbuiltins>>>dir(builtins)Python中只有模块(module),类(class)及函数(def、lambda)才会引入新的作用域,其他的代码块(如if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问,如下代码:Python模块>>>ifTrue:···
msg='IamfromRunoob'···>>>msg'IamfromRunoob'>>>示例中msg变量定义在if语句块中,但外部还是可以访问的。如果将msg定义在数中,则它就是局部变量,外部不能访问:Python模块>>>def
test():···
msg_inner='IamfromRunoob'···>>>msg_innerTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'msg_inner'isnotdefined>>>从报错的信息上看,说明msg_inner未被定义,无法使用,因为它是局部变量,只有在函数内才可以使用。Python模块三、命名空间和作用域的区别命名空间是比作用域更大的概念,作用域是在命名空间下的相对概念。打个比方,不同命名空间相当于划定的城市管理范围(市、区、街道),不同的作用域相当于在哪些城市管理范围(市、区、街道)可以顺畅通行。当这个范围扩大到省或国家的时候,作用域也会相对应地扩大。了解现金流量大数据投融资管理任务2.1.1:投资现金流量测算内容概述1、现金流量
现金流量是投资项目可行性分析的主要对象,净现值、内含报酬率、回收期等财务评价指标,均是以现金流量为对象进行可行性评价的。利润只是期间财务报告的结果,对于投资方案财务可行性来说,项目的现金流量状况比会计期间盈亏状况更为重要。一个投资项目能否顺利进行,有无经济上的效益,不一定取决于有无会计期间利润,而在于能否带来正现金流量,即整个项目能否获得超过项目投资的现金回收。了解现金流量一、现金流量概念2、净现金流量
是指在项目计算期内由每年现金流入量与同年现金流出量之间的差额所形成的序列指标,它是计算项目投资决策评价指标的重要依据。某年净现金流量(MCF)=该年的现金流入量(CI)-该年的现金流出量(CO)了解现金流量运营期内和建设期内都存在净现金流量与计算期不同阶段上的现金流入量和现金流出量发生的可能性不同,使得各阶段上的净现金流量在数值上表现出不同的特点,如建设期内的净现金流量一般小于或等于零;在营运期内的净现金流量则多为正值了解现金流量1)特征
税前净现金流量。不受筹资方案和所得税政策变化的影响,是全面反映投资项目方案本身财务获利能流利的基本数据。计算时,现金流出量的内融中不考虑调整所得因素。税后净现金流量。将所得税视为现金流出,可用与评价在考虑所得税因素时项目投资对企业价值所作的贡献。
税后净现金流量=税前净现金流量-调整所得税了解现金流量2)形式1)投资项目类型的假设2)财务可行性分析假设3)全投资假设4)产销平衡假设5)经营期与折旧年限一致假设6)时点指标假设7)确定性因素假设8)建设期投入全部资金假设了解现金流量3、现金流量的假设前提大数据投融资管理任务2.1.2:投资现金流量的构成及测算方法按现金流量的时间特征,可分为:初始现金流量
是指开始投资时发生的现金流量,一般包括固定资产投资、无形资产投资、开办费投资、流动资金投资和原有固定资产的变价收入营业现金流量
是指投资项目投入使用后在其寿命周期内由生产经营所带来的现金流入和现金流出的数量。主要包括营业收入、经营成本、税金及附加、所得税等。终结现金流量
是指投资项目完成时所发生的现金流量,主要包括固定资产的残值收入和变现收入、收入回垫的流动资金等了解现金流量一、现金流量的构成1)现金流入量的估算(1)营业收入营业收入应按照项目在经营期内有关产品的各年预计单价和预测销售量进行估算(不含增值税、销售折扣和折让)。此外,作为经营期现金流入量的主要项目,本应按当期现销收入额与回收以前期应收账款的合计数确认。但为简化核算,一般假定每期发生的赊销额与回收的应收账款大体相等。(2)补贴收入
是与运营期收益有关的政府补贴,可根据政策退还的增值税、按销量或工作量分期计算的定额补贴和财政补贴等予以估算。二、现金流量的估算了解现金流量(3)回收固定资产余值的估算按主要固定资产的原值乘以其法定净残值率即可估算出在终结点发生的回收固定资产余值。更新改造项目需要估算两次:一次是建设期发生起点变卖旧设备的变现净值,一次是在项目终结点的新设备净残值。(4)回收流动资金的估算在终结点一次回收的流动资金应等于各年垫支的流动资金投资额合计数了解现金流量(1)建设投资的估算
主要应当根据项目规模和投资计划所确定的各项建筑工程费用、设备购置成本、安装工程费用和其他
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中英语口语数字教育资源轻量化开发与移动学习效果评价教学研究课题报告
- 2026年高级营养师职业能力测试题库
- 2026年美发造型行业智能营销创新报告
- 2026年网络安全专家考试练习网络攻击与防御策略题
- 外墙视觉效果优化方案
- 2026年金融分析师岗位金融产品设计与财务规划能力考核
- 情感计算与智慧校园智能学习环境对学生学习动机的协同效应研究教学研究课题报告
- 钢厂应急预案方案(3篇)
- 2026年电力系统模拟试题新能源发电与并网技术
- 2026年CPA考试公司战略与风险管理练习题
- 完整工资表模板(带公式)
- 奇瑞汽车QC小组成果汇报材料
- 英语四级词汇表
- 药用高分子材料-高分子材料概述
- 社区春节活动方案
- CTT2000LM用户手册(维护分册)
- 川2020J146-TJ 建筑用轻质隔墙条板构造图集
- 新员工入职申请表模板
- 贝多芬钢琴奏鸣曲2告别-降E大调-Op81a-E-flat-major钢琴谱乐谱
- GA 1517-2018金银珠宝营业场所安全防范要求
- 人生四场四事三心态课件
评论
0/150
提交评论