07-有关函数的知识点

07-有关函数的知识点,第1张

大家好,我是Python领域的博主。

如果你是编程爱好者可以小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。

如果文章有什么错误的地方,请不吝赐教。

觉得博主文章写的还错的话,请三连支持一下博主哦

 我一直坚信一句话:我相信努力一定会有回报,这个回报可能很慢,但请相信,只要你坚持下去一定会更好的。

 系列专栏:

Python小游戏及登录系统_

01-try-except异常处理

02-continue与break的区别

03-人机交互讲解

04-字符串类型及 *** 作

05-datetime库精讲 

06-pyinstaller-将代码转换为程序

目录

 系列专栏:

一.函数的定义

 二.函调用的过程

三.lambda函数 

四.函数的参数传递:

    1.可选参数:

    2. 可变数量参数:

五.函数对变量的作用  

六.函数的递归                                                                                     

 1.函数递归的定义:                                                                                                        

 2.递归的使用: 

小编畅谈:


一.函数的定义

函数是一段具有特定功能的、可重用的语句组,用函数名来表示并通过函数名进行功能调用。函数也可以看作是一段具有名字的子程序,可以在需要的地方调用执行,不需要在每个执行的地方重复编写这些语句。每次使用函数可以提供不同的参数作为输入,以实现对不同数据的处理;函数执行后,还可以反馈相应的处理结果。
函数能够完成特定功能,与黑盒类似,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。严格地说,函数是一种功能抽象。
有些函数是用户自己编写的,称为自定义函数;Python安装包也自带了一些函数和方法,包括 Python 内置的函数(如 abs(、eval())、Python标准库中的函数(如 math 库中的 sqrt())等。
使用函数主要有两个目的:降低编程难度和代码重用。函数是一种功能抽象,利用它可以将一个复杂的大问题分解成一系列简单的小问题,然后将小问题继续划分成更小的问题,当问题细化到足够简单时,就可以分而治之,为每个小问题编写程序,并通过函数封装,当各个小问题都解决了,大问题也就迎刃而解。                                                                                                                      Python使用def保留字定义一个函数,语法形式如下:

def<函数名>(<参数列表>):
<函数体>
return <返回值列表>
函数名可以是任何有效的Python 标识符;参数列表是调用该函数时传递给它值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参时也要保留圆括号。函数定义中参数列表里面的参数是形式参数,简称为“形参函数体是函数每次被调用时执行的代码,由一行或多行语句组成。当需要返回值时使用保留字 return 和返回值列表,否则函数可以没有 return 语句,在函数体结束!置将控制权返回给调用者。   例如:下面这首生日歌

t=input("请输入你的名字:")
def happy():
    print("happy birthday to you")
def happy1(name):
    happy()
    happy()
    print("happy birthday dear {}".format(name))
happy1(t)

定义之后,这样可以多次调用函数 ,避免了代码重用。也降低了编程难度。

 二.函调用的过程

程序调用一个函数需要执行以下 4个步骤。 
(1)调用程序在调用处暂停执行
(2)在调用时将实参复制给函数 的形参。 
(3)执行函数体语句。
(4)函数调用结束给出返回值, 程序回到调用前的暂停处继续执行。

三.lambda函数 

语法格式如下:
<函数名> = lambda <参数列表>:<表达式>
lambda 函数与正常函数一样,等价 于下面形式: 
def <函数名>(<参数列表>):
return <表达式>
简单地说,lambda 函数用于定义简 单的、能够在一行内表示的函数,返回一个函数类型 

f=lambda x,y:x+y
type(f)

>>>f(10,20)
22
四.函数的参数传递:     1.可选参数:

由于函数调用时需要按顺序输入参数,可选参数必须定义在非可选参数后面。

def dup(str,times=3):

即带默认值的times必须放在非可选参数str后面。

    2. 可变数量参数:

可变数量参数通过在参数前加(*)实现。且只能出现在参数列表的最后。

def t(x,*y):
  ....
>>>t(1,2,3,4)
#其中2,3,4被当做元组传给y

return可以返回0个,1个,多个返回值,返回多个值时,以元组类型保存。

五.函数对变量的作用  

变量包括:全局变量和局部变量    1.全局变量:通常是指出了函数内部变量之外的变量,在整个过程中都有效。2.局部变量:定义在函数内部的变量,如果加保留字global,可以使局部变量变成全局变量,而对于列表类型,可以直接使用全局列表,而不需要global去声明。如果函数内部存在一个真实创建过且名称为ls的列表,则在此函数中 *** 作此列表不会改变全局变量。

总结一下,Python 函数对变量的作用遵 守如下原则。 
(1)简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用函数退出后变量被释放,如有全局同名变量,其值不变。
(2)简单数据类型变量在用 global 保留字声明后,作为全局变量使用,函数退出后该变量保留且值被函数改变。
(3)对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部可以直接使用并修改全局变量的值。
(4)如果函数内部真实创建了组合数据类型变量,无论是否有同名全局变量函数仅对局部变量进行 *** 作,函数退出后局部变量被释放,全局变量值不变。 

六.函数的递归                                                                                       1.函数递归的定义:

在函数定义中调用自身的函数,称为递归。其中递归有两个重要特征:(1)存在一个或多个基例,基例不需要再次递归,它只是确定的表达式。(2)所以递归链要以一个或多个基例结尾。                                                                            

2.递归的使用: 

 举例说明:求一个数的阶乘

def fact(n):
    if fact==0:
        return 1
    else:
        return n*fact(n-1)
num=eval(input("请输入一个整数:"))
print(fact(abs(int(num))))
小编畅谈:

小编发布的作品都是适合初学者学习,如果你是初学者,可以和小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。如果觉得小编写的还不错,关注,点赞,收藏。如果有什么错误之处,请多多指教。我会虚心接受。如果有什么地方不懂,可以私信小编,我会第一时间回复您。 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/716884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存