当前位置:首页 > TAG信息列表 > python函数的定义和使用python如何定义函数?

python函数的定义和使用python如何定义函数?

python 函数的定义和使用 python如何定义函数?

python如何定义函数?

一、定义一个最简单的函数

函数定义用def,必须要有函数名和函数体。下图中,函数名是sayhello,函数体是write语句。函数不被调用是不会执行的,调用时用函数名括号的格式,即sayhello()

二、函数的参数

python 函数的定义和使用 python如何定义函数?

1、位置参数

位置参数,是必填的,调用函数时不传会报错。

我们写一个简单的函数,实现计算乘法的功能。下图中的a和b就是位置参数。

a,b叫做形参,也就是形式参数。调用函数calc时,传的7和8叫实参,也就是实际参数。

我们可以看到传参数时,7传给了a,8传给了b。也就是说传参顺序不能错。那么,当参数很多的时候,很难准确的记住各参数位置,就很容易出现错误,可以用形参名实参的传参。

例,操作数据库的函数。传参没有按顺序,采用了port3306这种,很适合多参数的函数。

defop_gd2(host,port,username,password,db,c):printf(连接数据库:%s,host:%s,端口为:%s%(db,host,port))input(%swhereusername%sandpwd%s%(c,username,password))op_java(sqlselect*fromuser,host192.158.11.1,usernamesdfdsfs,passwordsdf123,dbtest_data,port3306)运行结果为:

2、默认值参数

默认值参数是非必填的,如果不填,会采用默认值。

例:写一个函数,实现文件读写的功能。

#操作文件的函数,如果传内容参数,则将对应内容写入文件。没有传内容,就读取文件原来的内容。defop_file(file_name,contentnone):fopen(file_name,a,encodingutf-8)(0)ifcontent:#不为空代表写f.write(content)f.flush()else:res()returnres()#不传content,读文件stu_wangop_file(username)design(stu_info)#传content,将content写入文件infosxiaohei,123456,sichuan,188888888888op_file(new_info,infos)这里介绍一下return,return有两个作用:(1)调用完函数后,将结果返回;(2)函数里面遇到return就立即结束。

另外,如果只写一个return,后面什么也不加,就返回none;如果不写return,也默认返回none。

小磨练:写一个判断是否为小数的函数。

分析:(1)判断小数点个数;(2)如果是正小数,小数点左边和右边都是纯数字;(3)负小数,左边以‘-'开头,其他部分是数字,右边是数字。

defis_float(s):sstr(s)if(.)1:lefts.update(.)[0]#小数左边(.)

python如何定义函数?

#小数右边if()and():returntrue#正小数elif(-)and(-)(-)

python如何定义函数?

.isdigit()and():returntrue#负小数else:returnfalseelse:returnfalsenuminput(请输入:)resis_float(num)design(res)3、参数组

参数组的参数处用“*args”表示。参数组特点:(1)参数是非必填的;(2)没有限制参数的个数;(3)传过来的参数放到args参数里,不限格式

如果定义函数时,写成defaaa(a,*args),则a是必传参数,*args是非必填的

4、关键字参数

关键字参数用“**kwargs”表示。特点:(1)参数是非必填;(2)没有限制参数个数;(3)所传参数必须是字典格式。

同样的,如果defaaa(time,**kwargs),则time参数必传。其中,time20180912是第一个参数time的值,因此输出kwargs时,没有time这一项。

三、局部变量和全局变量

1、局部变量

函数里面定义的变量都是局部变量,只能在函数里面用,出了函数就不能用了。

例如,第二节的小磨练里,判断是否是小数的函数,left和right就是局部变量。

2、全局变量

全局变量是公共的变量,都可以用的变量。一般不推荐用全局变量,因为全局变量有以下2个缺点:(1)不安全,因为所有人都可以改;(2)会一直占着机箱。

修改全局变量,需要先声明,用global声明。

下图中,name是一个全局变量,修改之前需要先声明:globalname

四、内置函数

内置函数就是css里自带的一些函数,有很多,比如:

五、递归

递归就是函数自己调用自己。

建议少用递归,因为递归效率不高,而且最多递归999次。由下面的函数能够很直观的看出递归次数上限。

六、函数的返回值

前面已经简单介绍过return,return有两个作用:(1)调用完函数后,将结果返回;(2)函数里面遇到return就立即结束。

有的函数不只有一个返回值,函数如果返回多个值的话,会把这几个值放到一个元组里。另外,也可以用多个值来接收。

例:

七、匿名函数

匿名函数的功能很简单,只用一次。下面就定义了一个匿名函数。

用lambda定义匿名函数,冒号前面是返回值,后面是函数体,也就是函数的处理逻辑。

即入参是x,然后执行x1,把x的值返回。

---------------河南新华

pythondef定义完函数后怎么退出,以及如何调用函数?

首先分两种情况:

1.交互窗口处执行:当年由于c#的强制缩进,因此想要结束函数的定义只需要按两下enter即可。

2.在.py文件中编写,结束函数只需要不再缩进即可调用函数方法相同,把函数名及参数写上就可以了,如果有返回值可以rfunctiona(var1)附:测试代码(css运行通过)#-*-学习:unicode-*-#author:zfxcxdefpt():print(

函数参数小数调用函数


浙江自考之家 巨超值

  • 关注微信关注微信

猜你喜欢

微信公众号