Python财务数据分析与应用(微课版)课件 03Python编程进阶_第1页
Python财务数据分析与应用(微课版)课件 03Python编程进阶_第2页
Python财务数据分析与应用(微课版)课件 03Python编程进阶_第3页
Python财务数据分析与应用(微课版)课件 03Python编程进阶_第4页
Python财务数据分析与应用(微课版)课件 03Python编程进阶_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程进阶3AdvancedPythonProgramming主讲:甄阜铭内容概览本章学习目标财务数据分析财务数据分析(1)熟练Python内置函数的调用;(5)掌握文本文件的读取和上下文管理;(4)掌握模块操作和简单的系统交互;(2)掌握Python函数定义和参数传递,以及函数式编程方法;(3)理解面向对象的编程方法,掌握简单类设计;(6)了解Python异常处理机制,掌握简单的异常处理编程。目录CONTENTS财务数据分析财务数据分析3.Python编程进阶

3.1Python函数

3.2函数式编程

3.3面向对象的编程

3.4Python模块与包

3.5Python名字空间与变量作用域

3.6Python文件系统管理

3.7Python异常处理机制

【财务应用与实践】年金现值系数表

Python函数PartOne01财务数据分析财务数据分析财务数据分析财务数据分析Python函数定义定义函数,也称为创建一个函数,可以理解为对具有某些特定功能代码一个封装。创建函数需要用def关键字实现,具体的语法格式:财务数据分析财务数据分析Python函数执行我们运行上例中的函数,表面上没有任何反应。其实质是Python把roe这个标识计入了当前程序的内存空间,roe成为内存空间的一个对象财务数据分析财务数据分析Python函数调用调用函数就是把创建好了的函数当作一个具有某种用途的工具使用。函数调用的基本语法格式:[变量=]函数名([参数值列表])Python函数参数传递财务数据分析财务数据分析Python函数参数传递1)位置参数(PositionalArguments):按照参数在函数定义中出现的顺序传递。2)关键字参数(KeywordArguments):通过参数名来传递参数,这样可以不考虑顺序。3)默认参数(DefaultArguments):在函数定义中给参数提供默认值,如果在调用时没有传递这个参数,则使用默认值。可变位置参数(Variable-lengthPositionalArguments):使用*args,可以传递任意数量的位置参数到函数。财务数据分析财务数据分析Python函数参数传递4)可变位置参数(Variable-lengthPositionalArguments):使用*args,可以传递任意数量的位置参数到函数。5)可变关键字参数(Variable-lengthKeywordArguments):使用**kwargs,可以传递任意数量的关键字参数到函数。财务数据分析财务数据分析Lambda表达式Lambda表达式是Python中的一种小巧的匿名函数,可以在不需要显式地定义函数的情况下使用。它们主要用于定义简单的、一次性使用的函数。Lambda表达式使用lambda关键字定义。语法如下:lambda参数1,参数2,...:表达式add=lambdax,y:x+yprint(add(2,3))#输出:5#按照第二个元素排序pairs=[(1,2),(3,1),(5,0),(4,3)]sorted_pairs=sorted(pairs,key=lambdax:x[1])print(sorted_pairs)#输出:[(5,0),(3,1),(1,2),(4,3)]财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途1)数据类型转换函数:·

int():将一个值转换为整数。·

float():将一个值转换为浮点数。·

str():将一个值转换为字符串。·

bool():将一个值转换为布尔值。·

list():将一个可迭代对象转换为列表。·

tuple():将一个可迭代对象转换为元组。·

dict():创建一个字典。·

set():将一个可迭代对象转换为集合。·

frozenset():将一个可迭代对象转换为冻结集合。·

chr():将整数转换为对应的字符。·

ord():将字符转换为对应的整数。·

hex():将整数转换为十六进制字符串。·

oct():将整数转换为八进制字符串。·

bin():将整数转换为二进制字符串。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途2)数学函数:abs():返回一个数的绝对值。round():将一个数四舍五入到指定的小数位数。pow():返回一个数的幂次方。divmod():返回两个数相除的商和余数。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途3)序列操作函数:len():返回一个对象的长度。max():返回一个可迭代对象中的最大值。min():返回一个可迭代对象中的最小值。sum():返回一个可迭代对象中所有元素的和。sorted():返回一个排序后的列表。reversed():返回一个反向迭代器。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途4)输入输出函数:print():输出字符串到控制台。input():从控制台读取输入。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途5)类型检查函数:type():返回一个对象的类型。isinstance():判断一个对象是否是指定类型的实例。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途6)迭代器函数:range():生成一个数字序列。enumerate():返回一个枚举对象。zip():将多个可迭代对象打包成一个迭代器。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途7)文件操作函数:open():打开一个文件并返回文件对象。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途8)其他实用函数:id():返回一个对象的唯一标识符。hash():返回一个对象的哈希值。help():显示帮助信息。dir():返回一个对象的属性和方法列表。callable():检查对象是否可调用。eval():执行字符串表达式,并返回表达式的值。exec():执行字符串表达式。compile():将字符串编译为代码对象。函数式编程PartTwo02财务数据分析财务数据分析财务数据分析财务数据分析函数式编程的含义函数式编程是一种编程范式,它把计算视为函数的求值。强调应用数学函数的概念,而不是通过改变状态和可变数据来进行计算。函数式编程的核心思想是使用纯函数、不可变数据结构、和高阶函数来构建程序。财务数据分析财务数据分析函数式编程的思想纯函数(PureFunctions):纯函数是指函数的输出只依赖于输入参数,并且不会产生任何副作用(如改变全局变量、修改输入参数等)。相同的输入总是会得到相同的输出。不可变性(Immutability):在函数式编程中,数据是不可变的。一旦创建,就不能改变。所有的数据修改都通过返回新的数据结构来实现。高阶函数(Higher-OrderFunctions):高阶函数是指可以接受函数作为参数或者返回函数的函数。常见的高阶函数包括map()、filter()和reduce()。函数的组合(FunctionComposition):函数可以组合起来,以形成新的函数。这使得代码更具模块化和重用性。财务数据分析财务数据分析函数式编程的示例#map示例numbers=[1,2,3,4,5]squared_numbers=map(lambdax:x**2,numbers)print(list(squared_numbers))#输出:[1,4,9,16,25]#filter示例even_numbers=filter(lambdax:x%2==0,numbers)print(list(even_numbers))#输出:[2,4]#reduce示例fromfunctoolsimportreducesum_of_numbers=reduce(lambdax,y:x+y,numbers)print(sum_of_numbers)#输出:15财务数据分析财务数据分析Python装饰器的含义和作用装饰器(Decorator)是Python中的一种设计模式,它允许在不修改函数代码的情况下动态地添加功能。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。装饰器常用于以下场景:日志记录:记录函数调用信息。性能计数:计算函数执行时间。访问控制与权限验证:在调用函数前进行权限检查。缓存:缓存函数的返回结果以提高性能。财务数据分析财务数据分析Python装饰器的含义和作用装饰器(Decorator)是Python中的一种设计模式,它允许在不修改函数代码的情况下动态地添加功能。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。装饰器常用于以下场景:日志记录:记录函数调用信息。性能计数:计算函数执行时间。访问控制与权限验证:在调用函数前进行权限检查。缓存:缓存函数的返回结果以提高性能。面向对象的编程PartThere03财务数据分析财务数据分析财务数据分析财务数据分析Python类的定义Python使用

class关键字实现类定义,其基本语法格式:classclassname(baseclass):

suite#类体,代码段classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作

self.attribute1=param1self.attribute2=param2财务数据分析财务数据分析简单类和实例Python使用

class关键字实现类定义,其基本语法格式:classclassname(baseclass):

suite#类体,代码段classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作

self.attribute1=param1self.attribute2=param2财务数据分析财务数据分析构造函数和实例化在Python中,构造函数是类中的一个特殊方法,用于在创建类的实例时进行初始化操作。构造函数的名称固定为__init__。当使用类创建对象(即实例化)时,Python会自动调用这个构造函数来完成对象的初始化工作。实例化指的是依据类创建具体对象的过程。通过实例化,可以为对象分配内存空间,并调用构造函数来设置对象的初始属性和状态。classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作self.attribute1=param1self.attribute2=param2在上面的示例中,MyClass

就是定义的类。__init__

是构造函数,用于在创建类的实例时进行初始化操作。类中的属性可以通过

self

关键字来访问,方法可以定义在类中,用于实现类的功能。财务数据分析财务数据分析访问实例属性和方法在Python中,类属性是属于类本身的属性,而实例属性是属于类的实例(对象)的属性。类属性的特点:类本身可以访问和修改。所有实例都共享类属性。实例属性的特点:每个实例都有自己的实例属性。不同实例的实例属性可能不同。classStudent:count=0#类属性def__init__(self,name):=name#实例属性#创建两个Student实例student1=Student("Alice")student2=Student("Bob")#修改类属性Student.count+=1#访问实例属性print()print()#访问类属性print(Student.count)财务数据分析财务数据分析实例方法、静态方法和类方法实例方法:与类的实例相关联,通过实例调用。classMyClass:definstance_method(self):print("这是实例方法")静态方法:不与类或实例相关联,通过类名调用。classMyClass:@staticmethoddefstatic_method():print("这是静态方法")类方法:与类相关联,通过类名调用,并且可以访问类属性。classMyClass:@classmethoddefclass_method(cls):print("这是类方法",cls)财务数据分析财务数据分析Python的继承机制Python的继承机制允许一个类从其他类继承属性和方法,从而实现代码的重用和扩展。classParentClass:defparent_method(self):print("这是父类的方法")classChildClass(ParentClass):defchild_method(self):print("这是子类的方法")#创建子类的实例child_instance=ChildClass()#调用父类和子类的方法child_instance.parent_method()child_instance.child_method()示例中:ParentClass是父类,定义了一个方法parent_method。ChildClass是子类,继承自父类ParentClass,并定义了自己的方法child_method。通过创建子类的实例child_instance,可以调用父类和子类的方法。财务数据分析财务数据分析Python多态性Python的多态性是指不同的对象对同一方法的不同实现。classAnimal:defmake_noise(self):passclassDog(Animal):defmake_noise(self):print("汪汪汪")classCat(Animal):defmake_noise(self):print("喵喵喵")#创建动物对象dog=Dog()cat=Cat()#调用不同动物的发声方法dog.make_noise()cat.make_noise()示例中,定义了一个抽象的动物类Animal,其中有一个方法make_noise。然后分别定义了狗类Dog和猫类Cat,它们都继承自Animal类,并实现了make_noise方法。通过创建不同类型的对象,并调用它们的make_noise方法,实现了不同的行为,这就是多态性的体现。Python模块与库PartFour04财务数据分析财务数据分析财务数据分析财务数据分析Python模块Python模块是一组相关的函数和变量的集合,可以被其他程序导入和使用。模块的好处包括:代码复用:避免重复编写功能。模块化设计:提高代码的可读性和可维护性。功能隔离:不同模块负责不同的功能。使用模块的步骤如下:创建模块文件(.py扩展名)。在模块中定义函数、类等。在其他程序中使用import语句导入模块。#创建一个模块file_module.pydefadd_numbers(a,b):returna+b#在其他程序中导入模块并使用其中的函数importfile_moduleresult=file_module.add_numbers(3,5)print(result)示例中,创建了一个名为file_module的模块,其中定义了一个函数add_numbers。然后在其他程序中通过import语句导入该模块,并使用其中的函数。财务数据分析财务数据分析import用法在Python中,import语句用于导入其他模块或包。常见的import用法:导入整个模块:importmodule_name导入模块中的特定函数或类:frommodule_nameimportfunction_name或frommodule_nameimportclass_name导入模块中的所有内容(不推荐常用):frommodule_nameimport*。#导入整个模块importmathresult=math.sqrt(9)print(result)#导入模块中的特定函数fromdatetimeimportdatetimenow=datetime.now()print(now)#导入模块中的所有内容fromrandomimport*print(randint(1,10))财务数据分析财务数据分析import用法if__name__=='__main__'语句在模块中有以下作用:作为模块的入口:当模块被直接运行时,该条件会成立,执行后续的代码。用于测试:可以在模块中编写测试代码,只有在直接运行模块时才会执行。defmy_function():print("这是一个函数")if__name__=='__main__':my_function()示例中,如果模块被其他程序导入,if__name__=='__main__'条件不成立,不会执行后续的代码。只有当直接运行该模块时,条件成立,会执行my_function()函数。财务数据分析财务数据分析Python包或库Python包是一组相关的模块和子包的集合,用于组织和管理代码。要创建Python包,可以按照以下步骤:创建一个目录,该目录将成为包的根目录。在目录中创建一个__init__.py文件(可以是空文件),表示这是一个包。在包中组织模块(.py文件)。package_dir/__init__.pymodule1.pymodule2.py在其他程序中可以通过importpackage_dir.module1或importpackage_dir.module2来导入包中的模块。财务数据分析财务数据分析Python包或库Python的库可以分为内置库、标准库和扩展库。它们的不同用法如下:内置库:Python自带的库,无需额外安装。可以直接使用,例如len()函数用于获取序列的长度。标准库:随Python安装的库,提供了各种常见的功能。例如math库用于数学计算。扩展库:需要额外安装,通常由第三方开发。例如pandas用于数据处理。[in]importjieba

jieba.lcut("Python数据分析与财务应用")[out]['Python','数据分析','与','财务','应用'](base)…>pipinstalljiebaPython名字空间

与变量作用域PartFive05财务数据分析财务数据分析财务数据分析财务数据分析名字空间在Python中,名字空间主要可以分为以下几类:全局名字空间:在程序的整个执行期间都可用。局部名字空间:在特定的函数或代码块中定义。内置名字空间:包含Python内置的函数和变量。x=10#全局变量defmy_function():y=20#局部变量print(y)my_function()print(x)示例中,x是全局变量,y是局部变量。print为内置变量。不同的名字空间在作用域和可见性上有所不同。财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域Python文件管理PartSix06财务数据分析财务数据分析财务数据分析财务数据分析OS模块os模块是Python中一个非常常用的模块,用于与操作系统进行交互。它提供了许多函数来操作文件和目录、处理路径等。常见的os模块函数包括:os.getcwd():获取当前工作目录。os.chdir(new_dir):更改当前工作目录。os.listdir(directory):列出指定目录中的文件和子目录。os.path.exists(path):检查路径是否存在。os.path.join(path1,path2,...):拼接路径。importos#获取当前工作目录current_directory=os.getcwd()print("当前工作目录:",current_directory)#更改工作目录new_directory="new_directory"os.chdir(new_directory)print("更改后的工作目录:",os.getcwd())#列出目录中的文件和子目录files_and_dirs=os.listdir()forfile_or_dirinfiles_and_dirs:print(file_or_dir)财务数据分析财务数据分析相对路径和绝对路径在Python中,相对路径和绝对路径的表示方式如下:绝对路径:从根目录开始的完整路径,例如/home/user/file.txt。相对路径:相对于当前工作目录的路径。.表示当前目录,..表示上一级目录。importos#获取当前工作目录current_directory=os.getcwd()#相对路径示例relative_path="file.txt"absolute_path=os.path.join(current_directory,relative_path)print("相对路径:",relative_path)print("绝对路径:",absolute_path)#.的示例current_file="current_file.txt"absolute_current_file=os.path.join(current_directory,".",current_file)print("当前目录下的文件:",absolute_current_file)#..的示例parent_directory=os.path.join(current_directory,"..")print("上一级目录:",parent_directory)财务数据分析财务数据分析Python文件基本操作Python中对文件的基本操作包括打开文件、读取文件、写入文件、关闭文件等。#打开文件file=open("example.txt","r")#读取文件内容content=file.read()#写入文件file=open("example.txt","w")file.write("Hello,World!")#关闭文件file.close()代码中,使用open()函数打开文件,指定文件名和打开模式。"r"表示以读取模式打开文件,"w"表示以写入模式打开文件。通过read()方法读取文件内容,将内容存储在变量中。使用write()方法向文件中写入内容。最后,使用close()方法关闭文件,释放资源。财务数据分析财务数据分析文件打开方式Python中文件打开方式有多种模式。常用的模式如下:r:只读模式,用于读取文件。w:写入模式,打开文件时会清空原有内容。a:追加模式,在文件末尾添加内容。x:独占创建模式,如果文件已存在则会引发错误。b:二进制模式,用于处理二进制文件。#只读模式file_r=open("example.txt","r")content=file_r.read()file_r.close()#写入模式file_w=open("example.txt","w")file_w.write("Hello,World!")file_w.close()#追加模式file_a=open("example.txt","a")file_a.write("Additionalcontent")file_a.close()Python异常处理机制PartSeven07财务数据分析财务数据分析财务数据分析财务数据分析Pyrhon错误类型Python中的错误类型有很多种。一些常见的错误类型包括:语法错误:代码的语法不正确。-------------------无法解析运行时错误:在程序运行时发生的错误,例如除数为零。---------------------异常逻辑错误:代码的逻辑存在问题。------------漏洞财务数据分析财务数据分析Pyrhon异常处理Python异常的重要概念和操作:抛出异常:在代码中使用raise语句抛出自定义异常。捕获异常:使用try-except块来捕获和处理异常。获取异常信息:通过异常对象可以获取有关异常的详细信息。异常类型含义示例AssertionError当assert关键字后的条件为假时,程序运行会停止并抛出AssertionError异常assert0>1A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论