Python12——function函数的定义,return,变量

本文详细介绍了Python中的函数概念,包括函数的定义、分类和调用方式。函数作为代码复用的机制,分为内置、标准库、第三方库和自定义函数。文中通过实例演示了函数的定义、参数传递、返回值的使用以及局部和全局变量的区别。同时,强调了函数对象的内存分析和作用域理解,帮助读者深入掌握Python函数的运用。
摘要由CSDN通过智能技术生成

函数的概念

函数的用法和底层分析

#函数是可重复的程序代码块。函数的 作用,不仅可以实现代码的复用,更能实现代码的 一致性,一致性是指,只要修改代码,则所有调用该函数的地方都能得到体现
#在编写函数的时候,函数中的代码写法和我们前面讲述的基本一致,只是对代码实现了封装,并且增加了函数的调用,传递参数,返回结果等内容

函数的基本概念

一个程序有一个个任务组成:函数就是代表一个任务或者一个功能
函数就是代码复用的通用机制

函数的分类

1.内置函数 len() list() str() 可以直接拿来调用
2.标准库函数 import语句导入 然后使用其中定义的函数
3.第三方库函数 Python社区也提供很多高质量的库,下载安装之后可以通过import 语句 导入
4.用户自己义函数 用户可以自己定义的函数 显然也是开发中适应用户自身需求定义 的函数

函数的定义和调用

核心要点

语法格式

def 函数名([参数列表]):
‘’‘文档字符串’’’ 对函数的注明
函数体/若干语句

要点:

1.使用def函数来定义函数的时候,会创建一个函数对象,并且绑定到函数
名变量上
2.参数列表
(1) ()内是形式参数列表,有多个参数则使用逗号隔开
(2) 形式参数不需要声明类型,也不需要知道函数返回值类型
(3) 无参数,也必须要保留空的()
(4) 行参列表必须与实参列表一一对应
3.return 返回值
(1)如果函数体中包含return语句,则结束函数执行并返回值
(2)如果函数体中不包含return语句,则返会none
4.调用函数值之前,必须先定义函数,即先调用def创建函数对象
(1) 内置函数会自动创建
(2) 标准库和第三方函数,需要要调用import导入模块,会执行模块中的def

def test01():
        print("*"*10)
for x in range(10):
        test01()
print(id(test01))
print(type(test01))
print(test01)
def Max(a,b):        # a,b时形式参数
        '''比较两个数的大小'''  # 文档注释
        c = '''
         定义多行字符串
        '''
        if a < b:
                print("最大值:{}".format(b))
                print("最小值:{}".format(a))
        elif a == b:
                print("{}和{}相等".format(a, b))
Max(23,45)   # 传入实际参数
#使用help(函数名.__doc__)函数可以打印 输出函数的文档字符串
help(Max.__doc__)

return 返回值要点

1.如果函数中有包含return语句,则结束函数执行并返回值
2.如果函数体中不包含return语句,则返回none
3.要返回多个返回值,使用列表,元组,字典,集合将多个返回值存起来即可

def ptint_star(n):
        print("*"*n)
ptint_star(6)
def aver(a, b):
        return ((a+b)/2)
c = aver(23,56)
print(c)

def ac(a,b):
        c = {b}
        print(c)
        return a+b  # return的作用 1.返回值 2.结束函数的执行
        print("hello")
ac(2,5)
b = ac(34, 78)
print(b)


# 设置返回值
def test(x, y, z):
        return [x*2, y*3, z*3]
print(test(2, 5 ,6))

函数也是对象 内存分析

print(id(test(2,34,5)))
print(id(test))
# 在堆中开辟函数的对象空间,包含参数代码信息,反复调用,加载一次
c = test  # 作为参数传递,返回值返回
c(2,45,6)
print(id(c))  # 地址值一样,说明时同一个对象
print(id(test))

变量的作用域

变量的种类:

全局变量 局部变量

全局变量:

1.函数和类定义之外声明的变量。作用域为定义模块, 从定义位置开始到模块结束
2.全局变量降低了函数的通用性和可读性,尽量避免
3. 一般做常量使用
4.函数内要改变全局变量的值,使用global声明一下

局部变量:

1.函数体中(包含形式参数)声明的变量
2.局部变量的引用比全局变量快,优先考虑使用
3.局部和全部变量重名时,隐藏全部,显示局部

a = 100
def test01():
        b = 100
        print(b)
        a = 19  # 这里a是局部变量
        print(a) # 全部变量
print(a)
test01()
def test02():
        b = 10
        global a
        a = 34
        print(b)
        print(a)
test02()
print(a)

输出局部和全部变量

a = 100
c = 200
def p(a, b, c):
        
        print(a,b,c)
        print(locals()) # 输出局部变量
        print(globals()) # 输出全局变量
p(10, 23, 45)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝麻汤圆圆圆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值