Python——函数

函数

在python中,函数的定义采用下面的风格

# 函数的定义
def 函数名(参数):
	代码块
	return 返回值

#函数的调用
函数名(参数)

例如定义一个从begin加到end的函数

def calSum(beg, end):
    sum = 0
    for i in range(beg, end):
        sum += i
    print(sum)


calSum(1, 100)

这里的beg和end是形参,1和100是实参

需要注意的是,由于python中是动态类型,因此我们不仅可以传整数,也可以传其他的类型,但是一定要注意不同类型之间的运算问题(字符串不能和数字相加)

在c++中,想要返回多个参数,可以通过输出型参数(指针/引用)来返回,而java中需要通过将多个参数整合为对象来返回,在python中,可以直接返回多个参数

def testReturn(a, b, c):
    return a, b, c


a, b, c = testReturn(1, 2, 3)
_, _, c = testReturn(1, 2, 3)

如果其中的某个返回值不想接收,那么可以用下划线_来替代

并且,函数的参数可以设置默认值

def add(x, y, debug=False):
    if debug:
        print(f"x:{x} y:{y}")
    return x + y


print(add(1, 2))

这样的话,如果我们不传输debug的值,就默认不打印x和y

需要注意的是,函数定义时,有默认值的参数需要放到没有默认值的后面

关键字参数

我们可以传递参数时按照形参的名字来传参

def test(x, y):
    print(f"x: {x}")
    print(f"y: {y}")


test(x=10, y=20)

变量的作用域

函数的变量作用域

在python中,定义在函数内部的变量出了函数后就失效了

如果在函数外部定义了变量x,在函数内部可以使用x,而如果在函数内部修改了x的值,例如外部定义x = 10,函数内部写x = 20,那么此时python会认为你创建了一个新的变量,而不会使用外部的x,在函数中使用x,会得到10,在函数外使用x,结果是20
在这里插入图片描述
这是因为python中定义一个变量和给这个变量重新命名的语句是相同的,如果我们想要使用外部的x,那么需要使用global这个关键字
在这里插入图片描述

其他语句的变量作用域

而如果在if,for,while中定义变量,出了其所在的代码块,还是可以访问到这个变量的,这点和java不同
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值