关于python函数是编程的信息( 六 )


Python解释器本身几乎可以在所有的操作系统中运行 。Python的其中一个解释器CPython是用C语言编写的,是一个由社群驱动的自由软件,当前由Python软件基金会管理 。
python支持函数式编程吗python不是完全支持函数式编程,他支持部分函数式编程 , 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用 。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的 。
Python对函数式编程提供部分支持 。由于Python允许使用变量,因此 , Python不是纯函数式编程语言 。
如何用python打印定义函数到标签上关于编程 , 有三种方式
1、面向对象编程----类关键字:class
2、面向过程编程----过程关键字:def
3、函数式编程------函数关键字:def
函数式编程:函数是逻辑化结构化和过程化的一种编程方式 , 如
def test(x):
"xxxxx"
x+=1
return x
def:定义函数的关键字
test:函数名称
(x):传入函数的参数
x+=1:泛指逻辑处理块代码
"xxxx"函数描述(非必要,但强列建议添加)
定义一个过程,过程无返回值
def fun1():
"fun1"
print('fun1')
定义一个函数,函数有返回值
def fun2():
"fun2"
print('fun2')
return 0
函数和过程的调用是一致的:
fun1
fun2
在python中,过程就是一个没有返回值的函数,过程默认返因一个none,当函数有多个返回值时,将返回元组,这些值将被当做一个元组的元素,即:
返回值个数0:返回NONE
返回值个数1:返回object
返回值个数多个:返回元组
函数的功能:没有函数的编程只是在写逻辑(功能) , 脱离函数,重用逻辑(实现功能),唯一的方式就是复制粘贴 , 使用函数后简化代码,可读性变高,易扩展(保持一致性)
在定义函数时的参数,我们称为行参,如下面的x,y
而调用函数时传入的参数,我们称之为实参,如下面的1、2 。
def test(x,y)
print(x)
print(y)
test(1,2)
位置调用时行参与实参的位置关系是一一对应的
def test(x,y)
print(x)
print(y)
test(1,2)
关键字调用时,与实参的位置无关如
def test(x,y)
print(x)
print(y)
test(y=2,x=3)
当位置调用与关键字调用混用时,按照位置调用方式执行,但要记位一句话,关键字参数不能写在位置参数前面,即test(3,y=2,6)此种方式将会报错,应写成test(3,2,z=6)或test(3,z=2,y=6)
当函数中有默认的参数值时如
def test(x,y=1)
.....
return0
当调用这个函数时,如果不传入y的值时 , y的值将采用默认值,如果传入新的y的值时,默认y的值将被覆盖 。
默认值使用的场合:
1、软件安装的时候
2、连接数据库的端口

参数组:当行参或实参数量不固定的时候时使用 , 可与默认参数或行参混用,参数组一定要最至最后
def test(*args)#接收N个位置参数#def test(name,*args)#def test(name,age=1,*args)
print(args)
test(1,2,3,4,5……)
test(*[1,2,3,4……])
最终实参会被变成一个元组如:
def fun(agr1,agr2,*args)
pass
fun(1,2,3,4,5)
====结果=====
1,2,(3,4,5)
这种方式是预留以后当需要传多个参数时使用而不变动太多的代码

推荐阅读