函数返回值、值传递、引用传递、局部变量和全局变量

  • 函数的返回值:

1、python的返回值可以返回单个值,也可以返回多个值

    本质上返回多个值,是返回一个元组

def circle_area(r, pi=3.14):

     return pi * r * r

def get_volume(height, r):

     area = circle_area(r)

     volume = area * height

     return volume

v = get_volume(10, 10)

print(v)

2、通过注解指定函数参数的数据类型

def add(a: int, b: int) -> int:

    return a + b

result = add("123", "345")

print(result)

二、值传递:传参数的时候,实参将自己 副本 传递到函数中参与运算

引用传递:传参数的时候,实参将自己传递到函数中参与运算

1、值传递:所有的不可变数据类型都是值传递(number(int,float),str,bool,tuple)

num = 100

def add(a):

          a += 100

         print(f"a={a}")

add(num)

print(f"num={num}")

2、引用传递 : 所有的可变类型数据都是引用传递

ls = [100]

def add(a):

          a[0] += 100

          print(a)

add(ls)

print(ls)

三、 内聚性:内聚性越高表示代码对外界以来越低,耦合性越低,

内聚性的代码一定程度上会消耗更多的系统资源

所以使用高内聚还是高耦合的代码取决于,你开发的系统他的追求是高性能,易于开发

 def function():

     age = 100

    print(“name”)

    print(age)

 function()

四、全局变量可以在程序的任意位置使用也因为全局变量作用域太大,如果某个脚本,错误的修改了该全局变量,可能会导致程序的问题。

局部变量只能在函数中使用,出了函数无法使用当我们要使用的数据,就在函数范围内有意义,我们应该使用局部变量。局部变量可以提升代码的内聚性

name = "z3"

def function():如果要在函数中"修改"全局变量,需要使用global对全局变量进行声明

    a = 1

    b = 1

    print(a + b)

    print(name)

function()

print(name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值