Python-函数

函数的定义

def function(x,y):

对比matlab的函数定义,将function替换为了def,在参数表后增加:,在函数末尾减少了end

函数的参数类型

(1)默认参数

默认参数需要在定义函数形参时即给定默认值

def function1(name,year=100):
	print('I love', name, year, 'years')

(2)收集参数

收集参数:*args收集多余的参数,并应放在参数表末尾

def function2(x=0,*args):
	if x == 0:
        print('case 1')
    else:
        print('case 2')

函数调用的传参方式

(1)指定位置传参

(2)关键字传参

关键字传参时,函数调用中的参数不需要按照函数定义中参数的排列顺序排列。

def love(name,year=100):
	print('I love', name, year, 'years')
love(year=1000,name='ChiLam')

函数的返回值

def love(name1,name2):
	res = f'{name1} love {name2}'
	return res

变量的类型

(1)变量作用域分类

① 全局变量:函数外定义的变量、函数内使用global定义的变量
② 局部变量:函数内定义的变量

(2)数据类型分类

① 可变数据类型:列表、字典。在函数外定义在函数内可以修改
② 不可变数据类型:其他类型变量。在函数外定义在函数内不可修改

num = 10
varlist = [1, 2]


def fun1():
    print(num + 5)
    varlist[1] = 'a'
    print(varlist)
    global pp
    pp = '先定义再赋值'
    a = 20
    print(locals())


fun1()
print(pp)

(3)作用域函数

① globals():获得全局变量即数据
② locals():获得当前作用域的数据

内外函数变量的相互使用

(1)在内函数中使用外函数定义的变量

nonlocal定义:在局部函数中使用,就可以使用上一层函数定义的变量

(2)在外函数使用内函数定义的变量

global定义:在局部函数中使用,可以在上层函数使用局部函数定义的变量

def outer():
    num = 10

    def inner():
        nonlocal num
        num += 1
        print(num)
        global n1
        n1 = 12

    inner()
    print(n1)


outer()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冠long馨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值