Python之函数(函数的参数、返回值、作用域等)

本文深入解析Python函数的定义、参数类型(包括位置参数、默认参数、可变参数和关键字参数)、返回值及变量作用域,通过实例展示如何正确使用各种参数,并解释了局部变量与全局变量的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、函数的定义

如果不主动调用函数,函数是不会执行的

1. 函数的定义

def hello():        #定义函数
    print('hello1')
    print('hello2')
    print('hello3')
hello()             #函数的调用

2. 函数的嵌套

def python():
    print('python')
    def westos():
        print('westos')
    westos()
python()

二、函数的参数

参数:形参 实参

形参:位置参数 默认参数 可变参数 关键字参数

1. 位置参数

def studentInfo(name,age):  #安装位置传参
    print('%s有%s岁' %(name,age))
studentInfo('westos',12)
studentInfo(12,'westos')    #未按照固定位置传参出现逻辑错误
studentInfo(age=11,name='westos')

2. 默认参数

def mypow(x,y=2):
    print(x**y)
mypow(2,3)
mypow(4,3)
mypow(4)    #使用默认参数y=2

3. 可变参数

def mysum(*a):
    sum = 0
    for item in a:
        sum += item
    print(sum)
a = [1,2,3,4,5]
mysum(1,2,3,4,5)

4. 关键字参数

def studentInfo(name,age,**kwargs):
    print(name,age)
    print(kwargs)

studentInfo('westos','18',gender='female',hobbies=['coding','running'])

三、函数的返回值

返回值:函数运算的结果,还需要进一步操作时,给一个返回值return用来返回函数的执行结果,如果没有返回值,默认返回None,python可以间接返回多个值(返回一个元组),一旦遇到return,函数执行结束,后面的代码不会执行

def mypow(x,y=2):
    return x ** y,x + y
    print('hello')
print(mypow(3))

a,b = mypow(3)
print(a,b)

四、变量的作用域

局部变量:在函数内部定义的变量,只在函数内部其作用,函数执行结束,变量会自动删除

全局变量:全局变量是在整个py文件中声明,全局范围内都可以访问

a = 1           # 全局变量
print(a)
print('out:',id(a))     # 查看变量在内存中的地址
def fun():
    # global a      # 声明a为全局变量
    a = 5       # 函数内部局部变量
    print(a)
    print('in:',id(a))  # 查看局部变量在内存中的地址
fun()
print(a)
print(id(a))

a = 1           # 全局变量
print(a)
print('out:',id(a))     # 查看变量在内存中的地址
def fun():
    global a      # 声明a为全局变量
    a = 5       # 函数内部局部变量
    print(a)
    print('in:',id(a))  # 查看局部变量在内存中的地址
fun()
print(a)
print(id(a))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值