python 期货交易_Python期货量化交易基础教程(3)

3、函数式编程:我们在用Python程序处理实际问题时,有些代码可能需要重复使用,如果每次使用都要编写一遍代码会耗费不少工作量,我们可以把这部分代码编写成函数,每次调用函数就能完成工作,不用再重复编写代码了,函数使编程效率大大提高,也使程序代码更为简洁。我们在前文已经介绍过两个Python内置函数:input()和print()。3.1、函数的声明和调用:声明和定义的含义虽有区别,但本教程不做特别...
摘要由CSDN通过智能技术生成

3、函数式编程:

我们在用Python程序处理实际问题时,有些代码可能需要重复使用,如果每次使用都要编写一遍代码会耗费不少工作量,我们可以把这部分代码编写成函数,每次调用函数就能完成工作,不用再重复编写代码了,函数使编程效率大大提高,也使程序代码更为简洁。

我们在前文已经介绍过两个Python内置函数:input()和print()。

3.1、函数的声明和调用:

声明和定义的含义虽有区别,但本教程不做特别区分,后续内容会混合使用声明或定义,按同样的含义理解不影响量化学习。

函数声明时不会执行,只是告诉Python声明了一个函数,函数被调用时才会执行函数体的语句。(函数是可调用对象,在被调用时才会执行)

因为Python代码的执行顺序是从上到下,存在先后顺序,所以在Python中必须先声明函数然后再调用函数,否则在调用函数时会提示找不到函数。调用函数时,只要按照函数声明的形式传递参数,就可以使用函数完成相应的功能,并可以获取函数执行完后的返回值。

声明函数的关键字是def,在函数中以缩进表示各语句属于函数体。声明函数的形式如下:

def 函数名(参数):

语句块

return 返回值

参数是函数需要处理的数据,可以有多个,也可以没有,返回值是当函数执行完后抛出的值,返回值以关键字return引导,return后也可以没有返回值,return语句也可以没有,当未指定返回值时,函数默认返回None值。若函数中有多个return语句,当一个return语句被执行后,其后的语句将不再执行,函数抛出返回值并结束。

前文介绍了数据对象、表达式和流程控制语句,函数可看做是数据对象、表达式和流程控制语句的结合。

示例:

>>> def func(a,b,c):

... print(a,b,c)

... return '执行完成'

...

>>> x=func(1,2,3)

1 2 3

>>> print(x)

执行完成

>>>

示例声明了一个名称为func的函数,有三个参数a,b,c,函数语句块是调用输出函数print()打印a,b,c,函数执行完后抛出返回值'执行完成',返回值是一个字符串。调用函数时传入了三个实参1,2,3,并把函数返回值赋值给了x,所以打印x的值便输出字符串'执行完成'。

声明函数时定义的参数称为形参,在调用函数时具体传给函数的参数称为实参。

函数若需要抛出多个返回值,多个返回值可用逗号“,”隔开,多个返回值会以元组类型抛出,例如:

>>> def func(a,b,c):

... print(a,b,c)

... return (a,b,c)

...

>>> x=func(1,2,3)

1 2 3

>>> print(x)

(1, 2, 3)

>>>

多个返回值可以不用小括号括起来,在前文介绍元组时可知,Python会把用逗号“,”隔开的多个对象创建为元组,因此小括号可以省略,当返回值数量非常多的情况下用小括号会使语句结构更为清晰。

Python3允许定义函数时给参数和返回值增加注释,以便调用者知道应该传给函数什么类型的参数及返回值类型。参数的注释以:value的形式放在参数名后“=”前,返回值以-> value的形式放在小括号后冒号前,例如:

def func(a:str,b:list,c:int=8) ->tuple:

print(a,b,c)

return (a,b,c)

注释会被收集在函数的__annotations__属性中,例如:

>>> func.__annotations__

{'a': , 'b': , 'c': , 'return': }

>>>

有了注释,调用者在调用func时会知道应该给a传入字符串,给b传入列表,给c传入整数,并且函数的返回值是元组。

3.2、函数的参数传递:

3.2.1、无默认值参数:

声明函数时,诸如def func(a,b,c):,参数a,b,c的值未知,此类参数称为位置参数&#x

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值