Python学习之路11——函数
定义参数返回值内嵌函数和全局变量import
定义
形式如下:
def 函数名(参数):
函数体
参数
传递实参
位置实参:基于形参的顺序指定实参值
关键字实参:无需考虑函数调用中的实参顺序,按形参名指定对应的实参值)
1、传递默认值:要指定默认值的形参需要放在后面
def 函数名(参数1, 参数2, 参数3=默认值):
函数体
2、传递任意数量的实参:使用 *参数名 来对应任意数量的实参
def 函数名(参数1, 参数2, *参数3):
函数体
3、传递任意数量的关键字实参:使用 **参数名 来对应任意数量的关键字实参
def 函数名(参数1, 参数2, **参数3):
函数体
>>> def say_welcome(location
, *names
):
print('Welcome to ' + location
, end
='')
for i
in range(len(names
)):
if i
== len(names
) - 1:
print(' and ' + names
[i
] + '!')
else:
print(', ' + names
[i
], end
='')
>>> say_welcome
('China', 'Tom','Mary','Herry')
Welcome to China
, Tom
, Mary
and Herry!
>>> def print_info(name
, **info
):
profile
= {}
profile
['name'] = name
for key
, value
in info
.items
():
profile
[key
] = value
print(profile
)
>>> print_info
('Tom',
location
= 'Henan',
fields
= 'math & computer',
age
= '23')
{'name': 'Tom', 'location': 'Henan', 'fields': 'math & computer', 'age': '23'}
返回值
Python中函数的返回值可以是任意类型
如数字、字符串、列表、元组、字典、集合等等等等
使用return语句将值返回到调用函数的代码行
>>> def build_info(name
, **info
):
profile
= {}
profile
['name'] = name
for key
, value
in info
.items
():
profile
[key
] = value
return profile
>>> info
= build_info
('Tom',
location
= 'Henan',
fields
= 'math & computer',
age
= '23')
>>> info
{'name': 'Tom', 'location': 'Henan', 'fields': 'math & computer', 'age': '23'}
内嵌函数和全局变量
使用global关键字指明变量是全局变量
>>> def FunA(x
):
z
= 1
def FunB(y
):
return x
*y
+z
return FunB
>>> fun
= FunA
(5)
>>> a
= fun
(6)
>>> b
= FunA
(5)(6)
>>> print(a
, b
)
31 31
>>> x
= 1
>>> def Fun():
global x
x
= 10
>>> Fun
()
>>> x
10
import
常用格式
导入模块:import module
import package.module
from package import module
导入函数:from module import *
from module import function
from package.module import function
设置别名:from module import function as name
import package.module as name
注意:给函数设置别名时使用如下语句是错误的
import module.function as name