Python函数系列之返回值及可变参数(一)
每个编程语言中(诸如:Java、C++、C)等都有函数的,Python也不例外
创新互联基于分布式IDC数据中心构建的平台为众多户提供西部信息中心 四川大带宽租用 成都机柜租用 成都服务器租用。
函数的主要作用有哪些呢?
1、将程序的功能进行模块化,功能模块清晰
2、减少重复代码的工作量
3、便于阅读及维护、调试等
一、函数的结束及返回值
# -*- coding: utf-8 -*- def f1(): print("This is Fun()") return #函数调用结束 print("-- End 1--") print(" Print 2") return "--- End 2 --" f1() print(type(f1()))
运行结果:
This is Fun()
This is Fun()
1.函数在遇到return语句时,此时函数调用已经结束
2.函数是有返回值的,只不过这里是None类型
再看下面的例子:
def mth_return(): return 1,"String",["a","b"],{"K1":1,"Key2":2} print(mth_return()) print(type(mth_return()))
运行结果:
(1, 'String', ['a', 'b'], {'K1': 1, 'Key2': 2})
此时,函数的返回值是一个元组
二、函数的参数
对于函数,其函数名后面的变量通常称为:形参,调用函数时,提供的值称为:实参
# -*- coding: utf-8 -*- def method(name,age): #name,age是形参 print(name,age) def method2(name,age ="18"): #提供默认参数值 print(name,age) n = "Mr.James" method(n,38) #n是实参 method2("Zhang") method2("Mr.Zhang",28)
运行结果:
Mr.James 38
Zhang 18
Mr.Zhang 28
三、函数的关键字参数
对于上面的例子,其函数是位置位置参数,位置一一对应,不能多也不能少
下面的这个这个例子跟上面的有点不一样,在Python中称之为:关键字参数
# -*- coding: utf-8 -*- def test(name="James",age=29): print("name:{},{}".format(name,age)) test(age=20,name="Mr.Zhang")
运行结果:
name:Mr.Zhang,20
四、函数的可变长参数
对于位置参数而言,形参及实参需要一一对应,若有时不确定需要哪些参数或为了日后能很好的扩展,Python中提供了可变长参数
用法:def function(self,*args,**kwargs)
具体例子:
例子1:
# coding = utf-8 def test(name,*args): print(name) print(args) print(args[3]) test("Mr.Zhang",1,2,3,["a","b"],{"Key1":1,"Key2":2}) # *args 返回的是一个元组
运行结果:
Mr.Zhang
(1, 2, 3, ['a', 'b'], {'Key1': 1, 'Key2': 2})
['a', 'b']
例子2:
# coding = utf-8 def test2(name,*args,**kwargs): # **kwargs返回的是一个字典 print(name) print(args) print(kwargs) test2("Mr.Zhang",1,2,3,['a','b'],{"Key1":1,"Key2":2},age=18,sex="F")
运行结果:
Mr.Zhang
(1, 2, 3, ['a', 'b'], {'Key1': 1, 'Key2': 2})
{'age': 18, 'sex': 'F'}
分享标题:Python函数系列之返回值及可变参数(一)
网页链接:http://myzitong.com/article/jsjdhp.html