版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python在财务中的应用字符串类型及其操作函数函数的定义和调用字符串类型及其操作提纲OUTLINE函数的概念函数的定义和调用函数返回值案例导入字符串类型及其操作案例导入案例导入如果我们需要判断10个公司的策略,按照我们以前的做法,是不是需要写10段类似的代码,这就会造成整个代码非常冗余,结构不清晰。同时,如果我们的投资策略的规则变化了,那我们同样需要修改10次代码,代码的维护非常不方便。01函数的概念字符串类型及其操作函数的概念函数是指被封装起来的,实现某种功能的一段代码,是可以重复调用执行的语句块。主要的作用是提高代码的可重用性和可维护性,使得代码的层次结构更加清晰。函数的概念print(value,...,sep=‘’,end=‘\n’,file=sys.stdout,flush=False),用于输出程序结果input(接受标准输入,返回字符串类型)a=input("请输入一个数字:")help(print)查询帮助文档表内置函数自定义函数02函数的定义和调用字符串类型及其操作函数的定义和调用def函数名(参数1,参数2,...):"""文档描述"""函数体return值定义函数的语法讲完之后插入视频函数的定义和调用1、def是关键字,全称是difine,是定义的意思;2、函数名是对函数体语句的描述,函数名的命名应该反映出函数的功能,命名和变量的规则是一致的;3、括号,括号内定义参数,参数是可有可无的;4、冒号:括号后要加冒号,然后在下一行开始缩进编写函数体的代码;5、文档描述,描述函数功能,参数介绍等信息,加上文档描述,可以增加函数的可读性;6、函数体:由语句和表达式组成;7、return值,定义函数的返回值,根据业务的需求,return是可有可无的。函数的定义和调用第一,申请内存空间保存函数体代码;第二,将上述的内存地址赋值给函数名称,函数名称和变量是一样的理解;第三,定义函数不会执行函数体代码,调用的时候才会执行函数体代码,但是定义函数会检测函数体的语法。表定义函数调用函数第一,通过函数名找到函数的内存地址;第二,然后加括号就是在触发函数体代码的执行;调用函数时括号里面的参数是实际的参数,被称为实参,赋值给定义时的形式参数。03函数的返回值字符串类型及其操作#retuan是函数结束的标志,即函数体代码一旦运行到return,函数就结束终止函数的运行,并且会将return后的值当做本次运行的结果。函数返回值表1、函数体内没有return,返回None表2、return后面没有内容,返回结果为None表3、return200,则函数的返回值为200表4、return100,200,返回多个值的情况,写的时候用逗号分隔开,最终多个值会被return返回成元组的形式1、返回None,函数体内没有return2、return后面没有内容,返回结果为None3、return10,返回一个值4、返回多个值,用逗号分隔开多个值,会被return返回成元组一二三本节重难点函数的概念函数的定义和调用函数返回值谢谢观看字符串类型及其操作Python在财务中的应用字符串类型及其操作函数的参数函数-参数字符串类型及其操作提纲OUTLINE形参和实参的概念位置形参和位置实参默认形参关键字参数(实参)01-函数的形参和实参介绍字符串类型及其操作字符串类型及其操作函数的形参和实参表函数的形参和实参(1)函数形参和实参理解表01在定义函数阶段,括号里面定义的参数roe_percentage_string称为形式参数,简称形参,相当于变量名。02实际参数是函数调用阶段传入的值“25%”为实际参数,简称实参,相当于变量值。03在调用阶段,实参(变量值)会绑定给形参(变量名),实参和形参的绑定关系在函数调用时生效,函数调用结束时解除绑定。02-位置形参和位置实参字符串类型及其操作字符串类型及其操作02位置形参和位置实参表营业收入(operating_revenue),营业成本(operating_cost),按照从左到又的顺序一次定义的参数称之为位置参数,它的特点在于必须被传值,多一个不行少一个也不行。在函数定义阶段02位置形参和位置实参表比如第二个print函数显示出来的是错误,提示为缺少1个位置参数(missing1requiredpositionalargument)。02位置形参和位置实参表400赋值的是位置形参营业收入(operating_revenue),100赋值的是位置形参营业成本(operating_cost)。位置实参特点在指在函数调用阶段:按照从左到右的顺序依次传入的值。按照顺序与位置形参一一对应。也就是说func1函数第一次调用时03-默认形参字符串类型及其操作字符串类型及其操作可以将参数常用值设置为默认值,这种函数定义时已经被赋值的形参,称之为默认形参。03-默认形参它的特点是定义阶段就已经赋值,意味着在函数调用阶段可以赋值,也可以不赋值。如果不传递参数,则被认为是默认值,如果传递了参数,则为传递的实参的值。如果同时涉及位置形参和默认形参,位置形参必须在默认形参的左边。在定义函数阶段03-默认形参表在定义函数的时候已经将将营业成本的默认值定义为100,营业成本(operating_cost)被称为默认形参,如果不传入实参,函数调用时营业成本(operating_cost)的值就是100,从代码中第一个print函数的返回结果可以看出。表但是如果实际的值发生了变化,也可以在调用阶段,传入实际参数,如第二个print函数里面的内容,传入200的值,营业成本(operating_cost)被赋值200,最终营业毛利(operating_gross_profit)的计算结果为200。03-默认形参04-关键字参数(实参)字符串类型及其操作字符串类型及其操作表04-关键字实参在函数调用阶段按照key=value的形式传入的值被称为关键字实参,关键字实参的特点在于:给某个形参传值,可以完全不参照顺序。04-关键字实参表第一个print函数,调用函数的时候是位置实参,特点是必须按照顺序依次传入,所以x=1,y=2,必须按照顺序依次传入。020301第二个print函数,调用函数的时候,按照key=value的形式传入的值,已经明确了x=1,y=2,所以可以完全不参照顺序,这是关键字实参,特点是不要按顺序传递参数,因为已经明确了x和y的值。第三个print函数,是位置实参和关键字实参的混合使用,位置实参必须放在关键字实参之前。04-关键字实参表位置实参和关键字实参混合使用2、不能够为同一个形参重复传值1、位置实参必须放在关键实参前案例表#5年期的应付债券,面值为10,000,000.00元,实际发行价格10,432,700.00元,票面利率为6%,市场利率为5%#4年期的应付债券,面值为20,000,000.00元,实际发行价格10,864,200.00元,票面利率为5%,市场利率为7%defcalccost(year,faceValue,issuePrice,couponRate,marketRate):"""year:债券期限faceValue,债券面值issuePrice,债券实际发行总价couponRate,债券票面利率marketRate,市场利率"""i=1amortisedcost=issuePriceamortisedcostlist=[]whilei<=(year-1):amortisedcost=round(amortisedcost+amortisedcost*marketRate-faceValue*couponRate,2)amortisedcostlist.append(amortisedcost)i+=1else:amortisedcost=faceValueamortisedcostlist.append(amortisedcost)print("应付债券期末摊余成本依次为:",amortisedcostlistcalccost(5,10000000,10432700,0.06,0.05)calccost(4,20000000,18645200,0.05,0.07)表应付债券期末摊余成本依次为:[10354335.0,10272051.75,10185654.34,10094937.06,10000000]应付债券期末摊余成本依次为:[18950364.0,19276889.48,19626271.74,20000000]谢谢观看字符串类型及其操作Python在财务中的应用字符串类型及其操作函数函数-参数下字符串类型及其操作提纲OUTLINE可变位置参数命名关键字参数01可变长度的参数字符串类型及其操作可变长度的参数(*和**的用法)。可变程度指的是在调用函数时,传入的值(实参)的个数不固定。而实参是用来为形参赋值的,所以对应着,针对溢出的实参必须有对应的形参来接受。01-可变长度的参数01-可变长度的参数可变长度的位置形参,在形参前面加单星号(*)表示,调用时,用来接收溢出的位置实参。溢出的位置实参,会被合并成元组。1-可变长度的位置实参01-可变长度的参数表当然*后面跟任何的字母都可以,但是我们约定俗成为*args,比如下面这段求和的代码*args表示的就是可变长度的位置形参,可以接收所有的实参组成元组,用循环语句完成求和。表01-可变长度的参数2-可变长度的关键字参数,在形参前面加双星号(**)表示调用时,用来接收溢出的关键字实参,双星号(**)会将溢出的关键字实参,保存成字典格式,然后赋值给紧跟其后的变量看下面这段代码,kwargs前面的是双星号,表示的是可变长度的关键字参数,传递实际参数的时候,后面多出的a=1,b=2,c=3,会被合成一个字典,然后赋值给紧跟其后的变量,kwargs。当然双星号(**)后面跟任何的字母都可以,但是我们约定俗成为kwargs。01-可变长度的参数01-可变长度的参数表3-可变长度的位置参数和可变长度的关键字参数可以混合使用*args和**kwargs混合使用注意:*args必须在**kwargs之前通过定义函数,参数设置为(*args,**kwargs):实现了多少实际参数都能传递的效果。02命名关键字参数字符串类型及其操作表02-命名关键字参数命名关键字参数:又称强制命名参数,限制某些参数必须使用参数名传递。以单星号(*)作为分隔符,单星号后面的参数被视为命名关键字参数。单星号(*)args后面的c必须使用关键字参数传递,所以使用了c=402-命名关键字参数deffunc3(*args,b,c):print(a,b,c)func3(1,2,3,4,5)表func3函数的这段代码,b和c没有使用关键字参数进行传递,所以出现了错误提示,提示缺少两个关键字参数,b和c实参的传递需要使用关键字参数。02-命名关键字参数字符串定义及其运算字符串常用函数字符串格式化案例自定义函数:计算投资项目未来现金流量的代码,参数r接收折现率,此处使用可变参数*NCF接收未来每年的项目现金流量defpvcf(r,*NCF):pv=0n=1foriinNCF:pv+=i/(1+r)**n#计算第N年项目未来现金流量的现值n=n+1returnpvxmpv=pvcf(0.1,100,200,300,400,500)print(round(xmpv,2))表返回结果1065.26总结字符串类型及其操作总结表形参特点位置参数要求每一个都要传入默认参数可传可不传,不传使用默认值,传递了使用传递值可变长度参数01-可变位置参数和02-可变关键字参数可变位置会将多余的实参合成一个元组可变关键字参数会将多余的实参组成字典命名关键字参数可变位置参数后面的参数参数组合使用时,参数定义的顺序必须是位置参数、默认参数、可变长度位置参数、命名关键字参数,可变长度关键字参数。谢谢观看字符串类型及其操作Python在财务中的应用字符串类型及其操作函数变量的作用域字符串类型及其操作提纲OUTLINE全局变量和局部变量的概念global的使用局部变量nolocal的使用案例导入表01全局变量和局部变量的概念字符串类型及其操作表函数的全局变量和局部变量的介绍(1)全局变量所有局部作用域以外的区域都是全局区域,在全局区域中定义的变量都是全局变量,全局变量可以在程序的任意位置被访问。变量a定义在函数外部,属于全局变量,在函数体内没有定义a的变量的情况,函数调用的时候也可以使用。函数的全局变量和局部变量的介绍表定义在函数内部的变量是局部变量,形参也是局部变量,只能在函数内部使用。函数调用时被创建,函数结束后自动销毁。变量b和c定义在函数体内部,通过代码可以看到,在函数体外部不可调用,因此变量b和c可以称为局部变量。(1)局部变量02变量的调用规则字符串类型及其操作函数体内用print函数打印a的值,变量a的值是多少?先在函数体内查找,如果函数体内没有,则逐级向外层进行寻找,最终找到了a=10,所以调用func函数,print(a),最终输出结果为10。02-变量的调用规则02-变量的调用规则为什么print(a)的返回结果为5(黄颜色)调用func1()函数的时候,在函数体内5赋值给了变量a,a的值就是5。而函数体外print(a)为什么结果是10,是因为调用的是同层次变量,全局a的值为10。02-变量的调用规则表函数执行的过程,首先调用foo()函数,在foo函数体内再调用func2函数,func2函数体内的语句为print(x),这个x是以func2定义函数的时候确定的,如果func2函数体内并没有变量x,需要向变量外一层进行寻找,确定了x的值为全局变量的1,所以最终输出结果就是1。02-变量的调用规则第四段和第五段代码为什么调用func3函数的结果不一样表第四段代码函数体内的d是当前函数的作用域确定的,d=30,而第五段代码d,当前函数的局部作用域没有变量d,向外一层寻找,找到了d=20,所以最终返回结果为20。我们可以看到变量的调用以函数定义的时候为准,变量的确定先从当前作用域寻找确定,如果没有,再到上一级作业域寻找,最后到全局作用域,如果依然没有找到,则会抛出异常。02-变量的调用规则03global语句字符串类型及其操作表03-global语句问题:有没有办法修改局部变量的的作用域,将其在全局范围内可用?globalx,其实就是声明x这个变量是全局变量,相当与重新给全局变量的x赋值。
04-nonlocal修改函数外层函数包含的变量的值字符串类型及其操作04-nonlocal
最外层的print(x),x的值为0,打印出来的也是0;其中nonlocalx,x=22的作用是将func6函数体内的x=11,修改为等于22,所以调用func6函数的时候,在func6函数里面再调用func7函数的时候,func7函数x以定义时的22为准。同时在func6函数print(x)的时候,x已经改为了22,所以前面两个print函数输出的结果都是22。实例表案例1是完成global语句的应用,完成func8函数()调用,同时print(x),调用func8函数时候,x=”注册会计师-财务成本管理科目”,func9定义语句不执行,在下面调用时执行,执行的时候,globalx和x="注册会计师-税法科目"相当于将全局变量x改为"注册会计师-税法科目",func9里面的print(x),是以定义是同层次的变量确定,为"注册会计师-税法科目",func8里面的print(x),也是同层次的变量确定,为x=”注册会计师-财务成本管理科目”,最外层的print(x)是以全局变量修改后的"注册会计师-税法科目"确定。变量的调用以函数定义的时候为准,定义的时候一层一层向上一级作用域去找。当然,我们想修改局部变量的的作用域,将其在全局范围内可用,可以使用global语句。如果仅仅是修改函数外层函数包含的变量的值,不是全局变量的值,可以使用nonlocal语句。总结谢谢观看字符串类型及其操作Python在财务中的应用字符串类型及其操作函数匿名函数及其应用字符串类型及其操作提纲OUTLINE匿名函数的定义和调用三元表达式和匿名函数的联合应用高级函数和匿名函数的联合应用01匿名函数的定义和调用字符串类型及其操作匿名函数的概念第一段代码是使用def创建的名字为add的有名函数表第二段代码lambdax,y:x+y这个表达式定义的就是匿名函数,关键字是lambda,lambda后面的x,y是参数,没有函数的名字,所以是匿名函数。当然也没有括号,冒号(:)是必须的,后面是函数体的表达式,没有return。函数调用代码,有名函数是用add(1,2)调用匿名函数调用也是一样的,但是需要在定义的基础上加括号,因为是整体的调用,调用的时候也需要加括号,输入相关参数完整的调用是下面这个式子:(lambdax,y:x+y)(1,2)02匿名函数和三元运算符的联合使用字符串类型及其操作02匿名函数和三元运算符的联合使用表a=4b=5ifa>b:c=aelse:c=bprint(c)返回结果5三元运算符和匿名函数的联合使用这段代码有三个非常重要的内容,第一,if的条件;第二,满足if后面条件返回的值;第三,不满足条件返回的值,这就是三元接下来我们用三元表达式写成一行:a放到前面去,ifa>b条件放到a后面,elseb放到后面,冒号(:)不需要。02匿名函数和三元运算符的联合使用表公司采用经济增加值(EVA)进行绩效评价,如果本年EVA大于150万元,则本年奖金为本年经济增加值的15%,否则无奖金,公司今年的经济增加值为200万元,使用lambda匿名函数和三元表达式来快速解决。第一个EVA是参数,后面三元表达式是函数体的表达式,EVA传入参数为2,000,000。03匿名函数和高阶函数(sorted、filter、map等)的联合使用字符串类型及其操作匿名函数与sorted函数的联合应用表参数当中iterable是可迭代对象;key:可选参数,用于指定排序的关键字函数,reverse:可选参数,默认为False,表示升序排序。如果设置为True,则表示降序排序。sorted函数也是Python内置的一个函数,用于对可迭代对象进行排序操作sorted(iterable,key=None,reverse=False)表匿名函数与sorted函数的联合应用students=[['john','A',15],['jane','B',12],['dave','B',10]]理解关键点:sorted会将列表students中取出的每一个元素,都会被当做参数传给指定的匿名函数,然后将匿名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高风险社会中》课件
- 丰田物流防盗措施的说明和拜托
- 危重患者护理安全管理
- 压裂施工常见问题分析
- 2026年五谷丰登粮满仓:丰收节里的农业知识
- 第十二课 人民民主专政的社会主义国家
- 2026 年水资源保护树立节水生活习惯课件
- 【2026】大学新生开学收心主题班会课件-收习惯、收心态、收目标
- 2026年航空货运服务(服务规范)试题及答案
- 河南省驻马店市部分校2027届高三上学期开学考试数学试题(含解析)
- 《焙烤食品加工技术》高职全套教学课件
- 国防动员实施方案预案
- 《工业机器人系统操作员培训》课件-DSQC652板的认知
- 物流公司月度运营分析报告模板
- 检验科2025年终工作总结及2026年工作计划汇报
- JJF(鲁) 204-2024 地下管线探测仪校准规范
- 物理开学第一课-2025-2026学年高一上学期物理人教版必修第一册
- 《四级养老护理员国家职业技能培训》高职全套教学课件
- 浙南名校联盟2025-2026学年高三上学期10月联考地理试卷
- 服装店装修施工方案范本
- 认识花生课件
评论
0/150
提交评论