python基础(第三章) 您所在的位置:网站首页 python求完全数n以内 python基础(第三章)

python基础(第三章)

2023-03-23 12:56| 来源: 网络整理| 查看: 265

1.5函数!!!

1.5.1 基本函数结构

在上面一些程序中我们已经使用过了一些python自带的一些函数了,比如说print()、input()、range()等。数学上我们定义一个函数是像下面这样的:

在python中,我们定义一个函数是通过def关键字来声明的。

结构如下:

Def 函数名(参数):

函数体

Return 返回值

以函数为例:

Def f(x,y):

Z=x**2+y**2

Return z

函数定义好了,使用语句f(c,c)就可以算出函数数值,完整程序如下:

def f(x,y):

z=x**3+y**2

return z #注意返回z值

A=f(1,2)

print(A)

拓展为键盘输入形式:(这样子就可以计算任何你想输入的任何常数啦)

def f(x,y):

z=x**3+y**2

return z

x=float(input("请输入x的数值: "))

y=float(input("请输入y的数值: "))

A=f(x,y)

print("计算结果为:",A)

1.5.2 参数结构

函数可以传递参数的也可以不传递参数。同样的,函数可以有返回值也可以没有返回值。可将python的传参方式归为4类

1.传统参数传递

(1)无参数传递

格式:

def func():

print("这是无参数传递")

func() #调用func函数即可输出print语句

(2)固定参数传递

def func(x):

print("传出的参数为:%s"%x)

func("hello") #调用func函数即可传输固定参数hello

2.默认参数传递

Python中默认参数传递的机制作用是能减少重复参数的多次输入,需要注意的是函数允许默认的参数大多数程序语言都支持的

示例代码:

def func(x,y=100,z="hello"): #定义参数,之后指令跟随此默认参数定义

print(x,y,z)

func(0)

func(0,1)

func(0,24,"world")

func(66,z="hello world")

func(44,y=10,z="kkkk")

3.未知参数个数传递

对未知参数个数的传递机制,只需在参数前加个*就可以

示例代码:

def func(name,*args):

print(name+ " 有以下雅称:")

for i in args:

print(i)

func('赵钱孙','吴总','小吴','老吴','吴大哥') #赵钱孙赋值于name变量,剩余的全部赋值于arg,*符号即代表剩余人名有多少就赋值多少给arg

4.带键参数传递

带键参数传递是指参数通过键值对的方式进行传递。带键参数的传递只需要在参数前面加**符号就可以

示例:

def func(**kwargs):

print(type(kwargs)) #查询变量类型,打印出来是’dict‘

for i in kwargs:

print(i,kwargs[i])

func(aa=1, bb=2, cc=3)

print('-------------------')

func(x=1,y=3,z='hello')

1.5.3 回调函数

回调函数又叫函数回调,指将函数作为参数传递到另外的函数中执行。例如说将A函数作为参数传递到B函数,然后在B函数中执行A函数。好处是在函数被定义前就可以使用函数,或者对于其它程序提供API进行调用。

示例:

def func(fun,args):

fun(args) #函数f2传递承接处

def f1(x):

print("这是f1函数: ",x)

def f2(x):

print("这是f2函数: ",x)

func(f1,1)

func(f2,"hello")

1.5.4 函数的递归与嵌套

函数的递归

函数的递归是指函数在函数体中直接或间接地调用自身的现象,递归要有停止条件,否则函数将永远无法跳出递归,进入死循环。

递归的经典应用:编写斐波那契数列

斐波那契数列的函数定义为数列中每一项都等于前面两项的和,公式:

F(n)=f(n-1)+f(n-2) n>2

F(n)=1 n



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有