关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Python函数的基本形式(python函数有几种类型)

发布时间:2022-07-02 08:13:02

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

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

  Python中函数的基本语法:

[code]def + 方法名 + ():[/code]

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

  1、无参数 无返回值:

[code]def fun():
    print('Hello  World')
fun()[/code]

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

  2、无参数 有返回值:

[code]def fun():
    sum = 1+2
    return sum
sum=fun()
print(sum)[/code]

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

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

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

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

  3、有参数 有返回值:

[code]def fun(name,age):
    return name,age
name,age=fun('python',29)
print(name)
print(age)[/code]
[code]python
29[/code]

  4、有默认参数的函数:

[code]def fun(name,age=29):
    return name,age
name,age=fun('python')
print(name)
print(age)[/code]
[code]python
29[/code]

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

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

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

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

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

  输出结果:

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

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

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

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

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

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

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

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

  reduce函数:有两个参数

  参数一:一个函数

  参数二:一个序列

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

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

  输出结果:116

 



相关推荐

【2022年的云计算虚拟化市场现状和发展(云计算未来市场) >>点击查看详情<<

【习近平向“全球发展:共同使命与行动价值”智库媒体高端论坛致贺信 >>点击查看详情<<

/template/Home/Redyun/PC/Static