当前位置:   article > 正文

8.Python中的函数整理总结(程序结构、模块、包、命令行参数、多项式相加程序、全排列程序)

8.Python中的函数整理总结(程序结构、模块、包、命令行参数、多项式相加程序、全排列程序)

一、函数

函数的定义和调用:

  • 函数是重用的程序段。他们允许你给一段语句命名一个名字,这是函数定义。
  • 你可以在你的程序的任何地方使用这个名称运行这个语句块,这是函数调用。
  • 内置函数不用定义,直接调用。
  • 自定义函数语法格式:
    def 函数名(参数表)
    函数体
  • 函数要先定义,再使用
#如要定义函数:y=x^2+1
>>> def f(x):
	value=x**2+1
	return value

>>> n=int(input())
2
>>> y=(f(n))
>>> print(y)
5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

求斐波那契数列的和:

>>>def fibs(n):
	result=[1,1]
	for i in range(n-2):
		result.append(result[-2]+result[-1])
	return result

>>> print(fibs(5))
[1, 1, 2, 3, 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

匿名函数–lambda表达式:
函数定义的另一种方法是用lambda表达式,它定义了一个匿名函数。lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,后面是一个表达式。作为表达式,lambda返回一个函数值。lambda用来编写简单的函数,而def用来处理更强大任务的函数。

>>>g=lambda x,y,z:x+y+z
>>> g(1,4,5)
10
  • 1
  • 2
  • 3

函数参数:

  • 函数定义时的参数称为形参,这些参数就像变量一样。
  • 参数在函数定义的圆括号内指定,用逗号分割。
  • 当我们调用函数时,函数中的参数值称为实参
  • 函数形参取得的值是你调用函数时提供的实参

位置参数:

  • Python处理参数的方式要比其他语句更加灵活。其中,最熟悉的参数类型是位置参数,传入参数的值是按照顺序依次赋值给形参
>>>from math import sqrt
>>> def dis(x1,y1,x2,y2):
	print("x1={},y1={},x2={},y2={}".format(x1,x2,y1,y2))
	return sqrt((x1-x2)**2+(y1-y2)**2)

>>> print(dis(1,3,4,5))
x1=1,y1=4,x2=3,y2=5
3.605551275463989
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

关键字参数:

  • 为了避免位置参数严格的位置要求,调用参数时可以指定对应形式参数的名字,这是关键字参数,他甚至可以采用与函数定义时不同的顺序
>>>from math import sqrt
>>> def dis(x1,y1,x2,y2):
	print("x1={},y1={},x2={},y2={}".format(x1,x2,y1,y2))
	return sqrt((x1-x2)**2+(y1-y2)**2)

>>> print(dis(x1=1,y1=3,x2=4,y2=5))
x1=1,y1=4,x2=3,y2=5
3.605551275463989
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

位置参数和关键字参数混合:

  • 如果同时出现两种参数形式,首先应该写出的是位置参数,后是关键字参数
>>>from math import sqrt
>>> def dis(x1,y1,x2,y2):
	print("x1={},y1={},x2={},y2={}".format(x1,x2,y1,y2))
	return sqrt((x1-x2)**2+(y1-y2)**2)
>>> print(dis(1,3,y2=5,x2=4))
x1=1,y1=4,x2=3,y2=5
3.605551275463989
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

下面程序出错

>>> from math import sqrt
>>> def dis(x1,y1,x2,y2):
	print("x1={},y1={},x2={},y2={}".format(x1,x2,y1,y2))
	return sqrt((x1-x2)**2+(y1-y2)**2)
>>> print(dis(1,y1=3,4,5
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/356209
推荐阅读
相关标签
  

闽ICP备14008679号