python自学第四天博客记录 第六章:函数 (2/17)

6.2函数的定义

定义一个函数只需要用“def”开头即可。
如:

def function_name(arg1,arg2):
    function body
    return value

函数名(function_name)
函数参数(arg1,arg2) 调用一个函数可以传递的参数
函数内容(function body) 任何有效的代码都可以出现在函数内部
函数返回值 ( return value) 函数执行完成后返回的值,也可以不返回内容

6.3函数参数

参数类型: 必须参数、关键字参数、默认参数、可变参数、组合参数
顾名思义就是函数定义的参数调用时必须传入,并且在调用的时候数量和顺序必须和和定义的函数保持一致。
例如:

def add(a,b):
    print("a+b=",a+b)
    add(1,2)

关键字参数: 使用关键字参数可以不按函数定义时的参数来调用函数 例如:

 def hello(name,age):
    print("姓名:",name)
    print("年龄:",age)
hello(age="18",name="袁良武")
//////
def hello(name,age):
    print("姓名:",name)
    print("年龄:",age)
hello(name="袁良武",age="18")

默认参数: 在定义函数时我们可以给参数添加默认值,如果调用函数时没有传入参数,函数就会使用默认值,并且不会像必须函数那样报错 (默认函数必须定义在最后)如:

def default_value(name,age=18):
    print("我的名字是:",name)
    print("我今年",age,"岁")
default_value("袁良武")

默认参数非常有用,可以帮助我们少写很多代码、如果有多地方调用函数,但部分参数的值又是相同情况的时候,默认参数就非常有用了。

def student_score(name,score=60,locatiom="上海"):
    print("姓名:",name)
    print("成绩:",score)
    print("地区:",locatiom)
print("-----传入所有参数-----")
student_score("袁良武",100,"北京")
print("-----不传最后一个参数-----")
student_score("小明",89)
print("-----不传成绩-----")
student_score("小红",locatiom="广州")
print("-----只传必须参数-----")
student_score("小蓝")
print("-----只传关键字参数-----")
student_score(name="小绿")

可变参数 :在某些情况下我们不能在 定义函数的时候就确定参数的数量和内容,这时候就可以使用可变参数,可变参数声明时不会命名。基本语法如下:

some——func(*args,**kwargs)

参数说明:
函数名:some——func
*args和**kwargs为可变参数
*args会输出说明?

def foo(*args):
    print(args)
foo()
foo(1,2)
foo("袁良武","长沙","20")

输出内容:

()
(1, 2)
('袁良武', '长沙', '20')

“*args”是获得了一个元组,这也正是它能作为可变参数的原因

“**kwargs”会输出什么呢?

def foo(**kwargs):
    print(kwargs)
foo()
foo(name="袁良武")

输出内容:

{}
{'name': '袁良武'}

可见“**kwargs”获得到的是一个字典,所以我们调用函数时必须要使用关键字参数的方式来传递函数。

经常使用*args和**kwargs用于解决一些未知的情况

def calculate_sum(*args,**kwargs):
    s = 0
    for i in args:
        s += i
    print("输入的数字之和是:",s)
    for k,v in kwargs.items():
        print(k,v)
calculate_sum(1,2,3,4,5,姓名="袁良武")

输出结果:

输入的数字之和是: 15
姓名 袁良武

注意:.items()函数以列表返回可遍历的(键, 值) 元组数组。
不只在函数定义时可以使用“*”与“**”来声明参数,在函数调用时我们也可以使用相同的方式来传递未知参数。

def exp(*args,**kwargs):
    print(args)
    print(kwargs)

l = [1,2,3,4]
d = {
    "参数1":"arg1",
    "参数2":"arg2"
}
exp(*l,**d)

输出内容为:

(1, 2, 3, 4)
{'参数1': 'arg1', '参数2': 'arg2'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python中的字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其中键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典中,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典中的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典中的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典中的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典中的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典中的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用中,字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值