Python3学习 十、函数

第十章 函数

一、定义函数
定义一个函数的格式如下:

		def 函数名(参数):
			 do something
			…

其中参数可以有多个,参数也可以为多种类型,如列表、字典等,此外函数中对列表的修改是永久性的,这里的修改指的是使用诸如append()、pop()等方法对列表进行的修改,如果不想让原来的列表内容发生改变,则可以向形参传入原来列表的副本,即列表名[:]。
提示:创建列表的副本需要花费一定的时间,所以在选择时也要考虑时间效率。
二、实参和形参
函数中的参数是形参,函数调用中的参数为实参。
调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。
此外,位置实参的顺序也要注意,要与函数定义时的位置相一致,不过也可以通过使用关键字实参的方法,即在传递实参时,直接对形参进行赋值,如:

 		def example(a,b):
			 print(a)
			 print(b)
		
		 example(b='world',a='hello')

这样就不用区分参数顺序了。

三、形参的默认值
在编写函数时,可给每一个形参指定一个默认值,当函数调用没有给形参提供实参时将使用形参的默认值,如以下形式:

		def example(a,b='dog'):
			 print(a)
			 print(b)

其中形参b的默认值为’dog’。

此外,通过if语句和默认值的搭配使用,可以让实参变成可选的。

注意:当使用默认值时,在形参列表中必须先列出莫有默认值的形参,在列出有默认值得形参,这让Python依然能够正确的解读位置实参。

四、函数返回值
函数不仅可以直接进行一些操作,也可以处理一些数据,并返回一个或一组值,如:

 		def get_formatted_name(first_name,last_name):
			 """返回标准格式的姓名"""
			 full_name=first_name+' '+last_name
			 return full_name.title()

此时,函数就返回full_name.title。
除此之外,函数还可以返回一些较复杂的值,如字典、列表等

五、传递任意数量的实参
当定义函数却不知道会接受多少个实参时,可以通过定义一个 *形参名 的方式,实现接受任意个实参,*形参名 实际上是定义了一个以形参名为名的元组,并将接受到的所有值都封装到元组中,如:

				def user_name(*names):
					 do something

此外可以结合使用位置实参和任意数量实参,但必须将任意数量实参放到形参列表的最后,如:
def user_name(first_name,*names):
do something

六、任意数量关键字实参
有时候当不知所传递信息时,就要用到任意数量的关键字实参,定义形式为 **形参名 ,这里 **形参名 实际上是定义了一个以形参名为名的字典,用于存储任意数量的键—值对,如:

 def user_information(first_name,last_name,**other_infor):
	do something…

调用形式如下:
information(‘albert’,‘einstein’,location=‘princeton’,field=‘physics’)
此时,对数据处理时就需要借助方法items(),见前方笔记。

此外,当和位置实参混用时,也要讲其放在形参列表的最后。

七、函数的模块存储
1、什么是模块?
存储函数的独立文件。

2、模块的导入
前提要求:导入模块要与程序在同一目录中。
将存储函数的模块导入程序需要用到的语句为 : import 模块名
导入模块中的所有函数:from 模块名 import *

3、模块函数的调用
(1)调用方法:模块名.函数名(参数),若模块中所有函数均被导入,直接函数名调用即可,无需上述方法。
(2)此外若只想调用模块中特定的函数,调用方法为:from 模块名 import 函数1,函数2…

4、指定别名
(1)为函数指定别名
格式为:from pizza import 原本函数名 as 别名
(2)为模块指定别名
格式为:import 模块名 as 别名

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值