第8章 函数
8.1 定义函数
def foo ():
print('hello')
def foo(uname,age = 20): #fmy为默认值
#print('hello'+uname)
#print('your age is' + str(age))
return 'hello '+uname+ '\nyour age is '+str(age) #返回值
调用
- foo('fmy',30)
- foo('fmy1') #age使用默认值
- foo(age=10,uname='fmy2') #
传递列表副本(方法内修改不会影响原列表)
foo(list[:])
传递任意数量实参
def foo(*names):
print(names)
def foo(age,*names):
print(names)
print(age)
使用任意数量的关键字实参
def foo(first,last,**user_info):
profile={}
profile['fist_name']=first
profile['last_name']=last
for key,val in user_info.items()
profile[key]=val
8.6 将函数存储在模块中
函数的优点之一是使用他们可将代码块与注册程序分离。通过给函数指定描述性名称,可让主程序容易理解。还可以进一步将函数存储在被称为模块的独立文件中,在将模块导入主程序。import语句允许在当前运行的程序文件中使用模块代码。
隐藏细节,将注意力集中在高层逻辑。重用代码。
8.6.1 导入整个模块
import util #util为另一个文件util.py包含想要调用的函数
调用:util.function_name()
8.6.2 导入特定的函数
from moudule_name import function_name1,function_name2,function_name3
8.6.3 使用as给函数指定别名
from util import foo function1 as func1
8.6.4 给模块指定别名
调用模块中的函数更加简洁
import util as ul
ul.function_name()
8.6.5 导入模块中所有函数
from util import *