Python函数的基本形式

662次阅读
没有评论

Python函数的基本形式

函数的创建和使用是计算机语言中最常用最基本的程序,那么今天就来讲解一下python中函数的几种基本形式,所有的方法创建都会属于这几种模板。

函数的定义:计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理;所谓出口,就是指函数的函数值,在计算机求得之后,由此口带回给调用它的程序。

Python中函数的基本语法:

def + 方法名 + ():

()里面可以有参数(参数为形参,没有实际意义,相当于一个空的变量),也可以没参数。

1、无参数 无返回值:

def fun():
    print('Hello  World')
fun()

这是一个最基本最简单的一个函数,调用这个函数时会直接输出Hello World,不需要任何操作。

2、无参数 有返回值:

def fun():
    sum = 1+2
    return sum
sum=fun()
print(sum)

有返回值:表示方法在结束的时候会返回一个值或多个值,这些值可以是任意形式,使用return来返回。

在这里,有必要说一下return的作用:

(1)返回一个值或多个值,返回多少个值,调用这个方法时就需要用多少个值来接收。

(2)结束此方法,在这个方法中,不管return后面还有多少行代码,统统不执行。

3、有参数 有返回值:

def fun(name,age):
    return name,age
name,age=fun('python',29)
print(name)
print(age)
python
29

4、有默认参数的函数:

def fun(name,age=29):
    return name,age
name,age=fun('python')
print(name)
print(age)
python
29

在定义方法时,直接给形参赋值的参数称为默认参数,调用这个方法时可以使用默认值,默认值可以为空

5、包含指针和双指针的函数

*args用法,把多余的参数统统放入args中里,args是一个元组,可以存放任何形式的值

**args   双指针,是一个字典,用法和*args相同,只能存放key,value形式的值

def fun(name='',age='',*args,**kwargs):
    print(name)
    print(age)
    print(args)
    print(kwargs)
 
fun('python',29,'Guido van Rossum','荷兰人',info='这是发明者')

输出结果:

python
29
('Guido van Rossum', '荷兰人')
{'info': '这是发明者'}

在调用方法时,本来我们只能输入两个参数,但在这里我们输入了5个参数而且并没有报错

从输出结果中我们可以看到 剩下的3个参数自动归入到args和kwargs中

在这里,我额外说两个比较特殊并且比较有代表性的方法。

这两个方法的参数是另一个方法,这就是我今天要说的知识点,函数的参数可以是另一个函数。

map函数:把参数二(参数二是一个序列)的值放入参数一中(参数一是一个方法),得到的结果为map函数的返回值。

def myMap(x):
    allNumberDict={
        '0':5,
        '1':6,
        '3':7,
        '4':8
    }
    return allNumberDict[x]
result = list(map(myMap,'0413'))
print(result)

输出结果:[5, 8, 6, 7]

reduce函数:有两个参数  

参数一:一个函数

参数二:一个序列

表示 对参数二里的值的每一个元素都调用参数一的方法,并返回一个最终结果

from functools import reduce
def myReduce(x,y):
    return x+y
print(reduce(myReduce,[1,23,4,5,77,6]))

输出结果:116

众多python培训视频,尽在python学习网,欢迎在线学习!

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2020-01-26发表,共计1928字。
新手QQ群:570568346,欢迎进群讨论 Python51学习
评论(没有评论)