Python | 您所在的位置:网站首页 › python函数的定义和调用可以嵌套吗 › Python |
函数的用法和底层分析
函数是可重用(功能单一,切割好)的程序代码块。 作用:实现代码复用,实现代码一致性(修改函数代码,所有调用该函数的地方都能得到体现) 函数对代码实现了封装,并增加了函数调用、传递参数、返回计算结果等内容。 函数的基本概念一个程序由一个个任务组成;函数就代表了一个任务或者一个功能 函数是代码复用的通用机制 Python函数的分类 内置函数Str()/list()/len(),可以拿来直接使用 标准库函数通过import语句导入库,使用其中定义的函数 第三方库Python社区提供高质量的库。下载安装这些库,通过import语句导入并使用 用户自定义函数用户自定义,适应自身需求 函数的定义和调用 语法: def 函数名([参数列表]): “文档字符串” 函数体/若干语句 核心要点: 使用def来定义函数,然后就是一个空的函数名 Python执行def时,会创建一个函数对象(内存:堆),并绑定到函数名变量(内存:栈)上,堆的地址给了栈,反复调用栈(函数名变量)找到堆(函数对象)地址参数列表 圆括号内是形式参数列表,有多个参数则使用逗号隔开形式参数不需要声明类型,也不需要指定函数返回值类型无参数,也必须保留空括号实参列表必须与形参列表一一对应Return返回值 如果函数体中包含return语句,则结束函数执行并返回值如果函数体中不包含return语句,则返回None值调用函数之前,必须先定义函数,即:先调用def创建函数对象 内置函数对象会自动创建。例如:str,python启动后都创建好了标准库和第三方库函数,通过import导入模块时,会执行模块中的def语句#测试函数的定义和调用
#标识符的规则,字母下划线开头,字母、下划线、数字 #函数的定义 def test01(): print("*"*10) print("test function") print("0"*10)
print(id(test01())) # print(type(test01()))#函数对象 function 类型 print(test01())
#函数的调用 test01()
#循环体调用函数,实现代码的重用,提高编程的效率 for i in range(10): print("--------") test01() 形参和实参 Def printMax(a,b): “实现两个数的比较,并返回较大的值 If a>b: Print(a,”较大值”) Else: Print(b,”较大值”) Print(10,20) Print(30,5)
def printMax(a,b): #形参用于定义的时候 if a>b: print(a,"较大值") else: print(b,"较大值") printMax(300,20) #实参用于调用的时候printMax(30,50)
文档字符串(函数的注释) 用三个单引号或者三个双引号 help 注释 。help(函数名.__doc__) 用户打印函数的注释 def printMax(a,b): #形参用于定义的时候 # '''单引号注释''' """双引号 函数的注释""" c = """ """ #三个单引号或者双引号可以定义字符串 c= ''' ''' if a>b: print(a,"较大值") else: print(b,"较大值") printMax(300,20) #实参用于调用的时候printMax(30,50)#help 注释 。help(函数名.__doc__) 用户打印函数的注释help(printMax.__doc__)
返回值 Return返回值 如果函数体中包含return语句,则结束函数执行并返回值 如果函数体中不包含return语句,则返回None值 要返回多个返回值,使用列表、元组、自动、集合将多个值“存起来”即可 #测试返回值的基本用法def my_avg(a,b): return (a+b)/2 #return作用 1)返回值 2)结束函数的运行c = my_avg(10,12)print(c)def my_add(a,b): print("计算两个数的值:{0},{1},{2}".format(a,b,(a+b))) return #没有写返回值,默认返回None。如果没有return,返回也是Noneprint(my_add(11,16))def test03(x,y,z): return [x*10,y*10,z*10] #返回多个值,使用列表print(test03(1,2,3))
|
CopyRight 2018-2019 实验室设备网 版权所有 |