Python 您所在的位置:网站首页 python函数的定义和调用可以嵌套吗 Python

Python

2023-09-17 11:13| 来源: 网络整理| 查看: 265

函数的用法和底层分析

       函数是可重用(功能单一,切割好)的程序代码块。

       作用:实现代码复用,实现代码一致性(修改函数代码,所有调用该函数的地方都能得到体现)

       函数对代码实现了封装,并增加了函数调用、传递参数、返回计算结果等内容。

函数的基本概念

       一个程序由一个个任务组成;函数就代表了一个任务或者一个功能

       函数是代码复用的通用机制

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 实验室设备网 版权所有