python函数的重新学习

一、函数
定义:函数是对功能的封装。
1、语法格式:
def 函数名():
函数体

define
#执行流程:先执行def,知道有这么个东西。然后调用yue(),开始执行函数
def yue():
    print("你好")

yue()

调用:
函数名()
2、返回值
1、如果函数里面不写return,代表没有返回值,得到的是None

2、在函数中写return,什么都不写,返回None

3、return放到中间不会执行下面的函数,起到终止作用。

4、在函数中写return值,返回一个值

5、在函数中可以返回多个返回值,return 值1,值2,值3....。返回的是一个元组

3、参数


```python
#在函数声明的位置的变量:形参
def yue(tools):
    print("打开%s"%tools)
yue("极目")

#在函数调用的地方给的具体的值:实参

参数的作用:函数执行的时候给函数传递信息。
形参:函数声明的位置变量
实参:函数调用的时候给的具体的参数
函数调用

按照关键字传递参数

```python
def chi(good_food,no_good_food,drink):
    print(good_food,no_good_food,drink)

chi("法国大蜗牛","威龙辣条","大白梨")
chi(drink="可乐",good_food="辣子鸡",no_good_food="锅包肉")

混合参数:即用位置参数,也用关键字参数。

def chi(good_food,no_good_food,drink):
    print(good_food,no_good_food,drink)
chi("盖浇饭","汉堡",drink="柠檬水")

1、实参:
1、位置参数:按照形参的参数位置,给形参传递
2、关键字参数:按照参数的名字给形参传值
3、混合参数:即用位置参数,也用关键参数。
2、形参:
1、位置参数
2、默认值参数

def regist(name,phone,gender):
    print(name,phone,gender)
regist("阿凡达","10086","男")
regist("阿凡达","10086","男")
regist("阿凡达","10086","男")
regist("阿凡达","10086","男")

改版:

def regist(name,phone,gender="男"):
    print(name,phone,gender)
regist("阿凡达","10086",)
regist("阿凡达","10086",)
regist("阿凡达","10086",)
regist("阿凡达","10086","女")

默认值参数必须在参数的最后。

3、动态参数
#不定参数,*在这里接收位置参数的动态传参
 def chi(*food):
    print(food)
chi("盖浇饭","火锅","龙虾面")
def chi(name,*food):
    print(name+"要吃",food)
chi("刘亦菲","盖浇饭","火锅","龙虾面")


def chi(name,location = "北京",*food):
    print(name+"要吃",food)
chi("小明","天津","狗不理包子","大麻花")

打印结果为:小明要吃 (‘狗不理包子’, ‘大麻花’)

没有地点:默认值没有起作用。

def chi(name,*food,location = "北京"):
    print(name+"要吃",location,food)
chi("小明","天津","狗不理包子","大麻花")

注:动态传参之后加默认值参数。

第二种:

def chi(**food):
    print(food)
chi(good = "狗不理",no_good_food = "汉堡")

{‘good’: ‘狗不理’, ‘no_good_food’: ‘汉堡’}

返回字典

顺序:位置参数,*args,默认值参数,**kwargs (key word)关键字
def fun(a,*args,c = “哈哈”,**kwargs,):

总结:
1、实参
位置参数
关键字参数
混合参数(位置,关键字)
2、形参
位置参数
默认值参数
动态传参
顺序:位置,*args,默认值参数,**kwargs

函数的注释:

def func():
    """
    这个函数用来计算a和b的和。
    :param a:
    :param b:
    :return: 返回a+b
    """
    a = int(input("请输入a:"))
    b = int(input("请输入b:"))
    c = a+b
    return c
ret = func()
print(ret)

接收所有参数

聚合:

def func(*args,**kwargs):
    print(args,kwargs)
func(1,2,3,4,5)

打散:

def func(*food):
    print(food)
lst = ["鸡蛋","煎饼果子","猪蹄","滋滋冒油"]
func(*lst)#打散,把list,tuple,set,str进行迭代打散

第二种:
def func(**food):
print(food)
lst = {“name”:“东滚彭”,“age”:“18”}
func(**lst)#打散成关键字参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值