函数参数

函数

定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。特性:1.减少重复代码2.使程序变的可扩展3.使程序变得易维护

函数参数

实参

可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先给实参赋值
形参:只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

默认参数

形参指定默认值

关键参数

正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可(指定了参数名的参数就叫关键参数),但记住一个要求就是,关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后

#这里的参数name,age,sex,hobbies都是形参
#其中hobbies是默认参数
def print_info(name,age,sex,hobbies='篮球'):
    print('-------info-------')
    print('Name:',name)
    print('Age:',age)
    print('Sex:',sex)
    print('Hobbies:',hobbies)
#这里的参数都是实参
print_info('gjp',23,'M','swimming')
print_info('jack',22,'F')
#下面的age,sex都是关键参数
print_info('benbi',age=22,sex='F',hobbies='bingbang')

非固定参数

函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数。其中形参处可用*args,**kwargs来接受实参传入的值,其中args把接受的参数以元组的形式传出,kwargs将接受的参数以字典的形式传出

def print_info(name,age,*args,**kwargs):
    print('-------info-------')
    print('Name:',name)
    print('Age:',age)
    print(args,kwargs)
print_info('gjp',23,'M',hobby='swimming')

#执行结果
# -------info-------
# Name: gjp
# Age: 23
# ('M',) {'hobby': 'swimming'}

全局变量与局部变量

在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域(即有效范围)是整个程序,局部变量作用域是定义该变量的函数。

name = "孙悟空"
def change_name():
    global name #声明一个全局变量
    name = "孙悟空,又叫美猴王"
    print("after change", name)
change_name()
print("在外面看看name改了么?", name)
#执行结果
# after change 孙悟空,又叫美猴王
# 在外面看看name改了么? 孙悟空,又叫美猴王

其中当传入的参数为列表或者字典的时候,不用申明就可以通过函数修改字典列表的元素
程序只是把字典,列表的内存地址传给了函数,把dict比作鱼缸,里面的元素比作缸里装的鱼。现在只是把鱼缸丢给了函数,这个鱼缸本身你不能改,但是里面的鱼可以。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
函数参数是在定义函数时用于接收传递给函数的值或变量的占位符。在Python中,函数参数有以下几种类型: 1. 位置参数(Positional Arguments):按照定义函数时的顺序,依次传递给函数参数。调用函数时,传递的参数值与函数定义时的参数一一对应。 2. 默认参数(Default Arguments):在定义函数时,为参数提供默认值。调用函数时,如果不传递该参数的值,则使用默认值。 3. 关键字参数(Keyword Arguments):调用函数时,通过参数名来指定传递的参数值,不需要按照定义函数时的顺序传递。 4. 可变长度参数(Variable-Length Arguments):可以接受任意数量的参数。在函数定义时使用星号 (*) 来表示,有两种形式: - *args:接受任意数量的位置参数,以元组(tuple)的形式传递给函数。 - **kwargs:接受任意数量的关键字参数,以字典(dictionary)的形式传递给函数。 下面是一个示例,展示了不同类型的函数参数: ```python def greet(name, message="Hello"): print(f"{message}, {name}!") def calculate_sum(*args): total = sum(args) print(f"The sum is: {total}") def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") # 调用函数 greet("Alice") # 使用默认值 greet("Bob", "Hi") # 提供自定义值 calculate_sum(1, 2, 3, 4, 5) print_info(name="Alice", age=25, city="New York") ``` 输出结果为: ``` Hello, Alice! Hi, Bob! The sum is: 15 name: Alice age: 25 city: New York ``` 这是函数参数的基本概念和用法,希望能对你有所帮助!如果还有其他问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值