Python金融大数据分析课件 第5章 Python函数实战精讲_第1页
Python金融大数据分析课件 第5章 Python函数实战精讲_第2页
Python金融大数据分析课件 第5章 Python函数实战精讲_第3页
Python金融大数据分析课件 第5章 Python函数实战精讲_第4页
Python金融大数据分析课件 第5章 Python函数实战精讲_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

第5章

函数实战汇报人:时间:2025/01/01

学习目标掌握函数的定义及调用方法理解函数的参数传递过程和变量的作用范围理解函数递归的定义及使用方法了解lambda函数及使用方法掌握常用函数使用方法目录01函数概述02参数传递03返回值04变量的作用域05递归函数06常用函数07金融数据实战函数概述015.1函数概述

函数是一段具有特定功能的、可重用的语句组-函数是一种功能的抽象,一般函数表达特定功能

两个作用:降低编程难度和代码复用5.1函数概述5.1.1函数的分类Python提供内置、标准库、第三方、自定义四大来源函数。内置函数如len、print随解释器启动直接可用;标准库函数如random、datetime需通过import引入。函数的使用顺序优先复用内置与标准库函数,再考虑第三方函数,最后才是自定义函数。这种顺序可减少重复开发,提高开发效率,同时保证代码的稳定性和兼容性。5.1.2函数的创建文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。创建函数的语法形式如下:def<函数名>(<参数列表(0个或多个)>):<函数体>return<返回值列表>例如,定义一个简单的函数,输出“thisisanewfunction!”语句可以这样写:defsentence():print(“thisisanewfunction!”)5.1.2函数的创建文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。自定义函数需要遵循以下几点:函数的代码块要以def开头,后接函数标识符名称和圆括号“()”;所有传入的参数和自变量必须放在圆括号“()”中,可以在圆括号中定义参数;函数的第一行可以选择性使用文档字符串,用于存放函数说明;函数的内容以冒号“:”起始,并且要缩进;return[表达式]结束函数,选择性返回一个值给调用方,不带表达式的return相当于返回None。5.1.3函数的调用文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。调用函数的语法格式如下:<函数名>(<参数列表>)在调用函数时,需注意以下几点:

调用时提供的实际参数的个数和类型必须与函数定义时的形式参数个数和类型完全一致;

调用没有形式参数的函数时,函数名后的圆括号“()”依旧不可缺少;

当调用的函数有返回值时,应注意做好返回值的接收处理,例如将返回值赋值给一个变量,否则可能会导致函数调用没有产生其应有的作用。5.1.3函数的调用文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。示例:创建一个函数,实现比较两个数字的大小并返回比较结果中较大的那个数字,实现代码如下:defmax(a,b):ifa>b:returnaelse:returnbprint(max(2,7))#函数调用max5.2参数传递文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。5.2.1形式参数和实际参数

在定义函数时,函数名后面括号中的参数是形式参数,形式参数可以没有,也可以有多个,每个形参之间用逗号“,”隔开。函数调用时通过传递实参列表来允许函数体中的代码引用这些参数变量。例如:defmin(a,b):ifa<b:returnaelse:returnb调用:min(2,7)a和b就是函数的形参2和7就是函数min的实参5.2.2

位置参数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

位置参数也被称为必须参数,必须以正确的顺序传入参数,即调用函数时指定的实际参数的数量与位置必须与定义时的一致。如果传递的实际参数数量与形式参数数量不一致,会抛出异常。例如:defmin(a,b):ifa<b:returnaelse:returnb调用:min(2,7)#实参2,7分别赋值给形参a,bmin(7,2)#实参7,2分别赋值给形参a,bmin(3)#由于实参与形参的个数不相等,会产生错误5.2.3

关键字参数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

关键字参数是指使用形参的名字来确定输入的参数值,通过“形参名称=数据”的形式传参。通过该方式指定实参,能够打破按照位置顺序传入需要实参与形参的位置完全一致,只需将参数的名称写对即可,使得参数的传递更加灵活。例如:defmin(a,b):ifa<b:returnaelse:returnb调用:min(b=2,a=7)#分别给形参b赋值2,a赋值7

5.2.4

参数默认值文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

默认参数就是在定义函数的时候给参数设定的默认值。在调用函数时,若没有传递参数,则会使用这个默认值。示例:defstudent(num,name,age=18):print("学号",num)print("姓名",name)print("年龄",age)student(202301,"john")student(name="steve",num=202302)student(name="mary",num=202303,age=17)student(202304,"amy",20)输出:

学号202301姓名john年龄18学号202302姓名steve年龄18学号202303姓名mary年龄17学号202304姓名amy年龄205.2.5

可变参数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

可变参数也叫不定长参数,即传入函数中的实际参数个数是不固定的。定义可变参数时主要有两种形式,分别为*parameter和**parameter。示例:defstuname(*name):print(name)stuname("steve")stuname("steve","john","mary")输出: ('steve',)('steve','john','mary')5.2.5

可变参数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

如果想要使用一个已经存在的列表作为函数的可变参数,可以在列表名称前加上“*”,示例:namelist=[“jack”,”rose”,”steve”]stuname(*namelist)输出: ('jack','rose','steve')**parameter用于接收任意多个类似关键字参数一样显示赋值的实际参数,并将其放入一个字典中。5.2.6

参数序列解包文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

为含有多个变量的函数传递参数时,可以在实参名称前加一个星号“*”,使用Python列表、元组、集合、字典以及其他可迭代对象作为实参。Python解释器会自动进行解包然后传递给多个单边量形参。示例:defcount(a,b,c):print(a+b+c)lis=[5,6,3]count(*lis)tup=(8,5,1)count(*tup)dic={1:'a',2:'b',3:'c'}count(*dic)count(*dic.values())输出:14146abc返回值035.3返回值文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。-return保留字用来传递返回值-函数可以有返回值,也可以没有,可以有return,也可以没有-return可以传递0个返回值,也可以传递任意多个返回值。示例:deffunction(a,b):returna,b,a+btotal=function(2,3)print(total)输出: (2,3,5)变量的作用域045.4变量的作用域文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

变量的作用域是指程序代码能够访问该变量的区域。一般根据变量的有效范围将变量分为局部变量和全局变量。局部变量指在函数内部定义并使用的变量,仅在函数内部有效。如果在函数外部调用函数内部定义的变量,会抛出异常,示例:defsentence1():a="三人行,必有我师"print("函数内调用局部变量a:",a)sentence1()print("函数外调用局部变量a:",a)输出: 函数内调用局部变量a:

三人行,必有我师NameError:name'a'isnotdefined注:在函数外部调用局部变量a时会出现报错5.4变量的作用域文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

全局变量指能够作用于函数内外的变量。定义在函数体外的变量是全局变量,不仅可以在函数外访问,在函数内也可以访问。在函数体内定义变量并使用global关键字修饰之后,该变量是全局变量,在函数体外也可以访问到该变量。示例:b="三人行,必有我师"defsentence2():print("函数内调用全局变量b:",b)sentence2()print("函数外调用全局变量b:",b)输出:函数内调用全局变量b:

三人行,必有我师

函数外调用全局变量b:

三人行,必有我师递归函数055.5递归函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

递归是一种直接或间接调用函数本身的算法,递归的本质是把问题分解成为缩小规模的同类子问题然后递归调用表示问题的解。设计递归算法需要满足找到反复执行的过程即调用自身的过程和能够找出跳出反复执行的条件即递归出口两个条件。示例:defrecursion(n):#求n阶乘ifn==1:#正确的返回添加(结束条件)return1else:returnn*recursion(n-1)#调用自身函数的行为

x=recursion(4)print(x)输出:24常用函数065.6常用函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。

5.6.1日期时间函数在Python中,可以通过使用datetime模块来获取当前的日期和时间,它提供了一系列有简单到复杂的时间处理方法。示例:importdatetimenow=datetime.datetime.now()#获取当前日期和时间print("当前日期和时间为:",now)#输出当前日期和时间输出: 当前日期和时间为:2023-10-0318:44:31.9897975.6.1日期时间函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。在实际的应用当中,通常需要使用特定格式来显示日期和时间,此时需要用到strftime()方法将日期和时间格式转换为字符串。示例:importdatetimenow=datetime.datetime.now()#获取当前日期和时间formatted_date=now.strftime("%Y-%m-%d")#格式化日期和时间formatted_time=now.strftime("%H:%M:%S")print("格式化后的日期:",formatted_date)#输出格式化后的日期和时间print("格式化后的时间:",formatted_time)输出: 格式化后的日期:2023-10-03

格式化后的时间:18:48:325.6.2

lambda函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。匿名函数(lambda)就是没有实际名称的函数,在Python中使用lanmda表达式创建匿名函数的语法格式如下:<函数对象名>=<形式参数列表>:<表达式>示例:func=lambdaa,b:a+ba,b=5,6print(func(a,b))输出 11>>>(lambdaa,b:a+b)(7,2)#直接调用lambda函数输出:95.6.3

sorted函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。sorted()函数可对所有可迭代的对象进行排序操作。sort与sorted的区别在于sort是应用在list上的方法,而sorted可以对所有可迭代对象进行排序操作。list的sort方法返回的是对已经存在的列表进行操作,无返回值,而sorted函数返回的是一个新的list而不是在原来基础上进行的操作。sorted的语法格式如下:sorted(iterable,cmp=None,key=None,reverse=False)其中,iterable是可迭代对象。cmp是比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。key是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse是排序规则,reverse=True是降序

,reverse=False是升序,若未指定reverse的值,则默认为升序。5.6.3

sorted函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。示例:a=[5,7,6,3,4,1,2]b=sorted(a,reverse=True)print(a)print(b)输出: [5,7,6,3,4,1,2][7,6,5,4,3,2,1]5.6.4

随机函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。random模块可以生成随机浮点数、整数、字符串。random模块中有许多方法,包括:(1)seed(a=None)函数,初始化随机数种子,默认值为当前系统时间。(2)random.random()函数,是该模块中最常用的方法,它会生成一个随机的浮点数,范围是在0.0~1.0之间。(3)random.uniform(a,b)函数,随机生一个[a,b]之间的小数。(4)random.randint(a,b)函数,随机生一个[a,b]之间的整数。(5)randrange(m,n[,k])函数,生成一个[m,n)之间以k为步长的随机整数。(6)random.choice(list)函数,可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。(7)random.shuffle(seq)函数,将一个序列seq中的元素随机打乱,返回打乱后的序列。(8)random.sample(ls,k)函数,从指定的序列ls中,随机选取k个元素,以列表类型返回。5.6.4

随机函数文档字符串示例例如,在比较两数大小的函数中,文档字符串可说明输入参数类型、返回值含义,帮助使用者快速了解函数的使用方法。在使用random模块时需要先导入。示例:importrandomprint(random())print(random.uniform(1,10))print(random.rand

温馨提示

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

评论

0/150

提交评论