函数

发布时间 2023-11-20 23:21:12作者: 我才是最帅的那个男人

一,定义

  对代码块和功能的封装。

形式为:def 函数名():

      函数体

      return(会返回结果,可有可无)

注意,return后面的函数会不再执行。

关于返回值:
如果return什么都不写 或者 ⼲脆不写return .那么返回的就是None
如果return后⾯写了⼀个值. 则调⽤者可以接收⼀个结果
如果return后⾯写了多个结果, 则调⽤者可以接收⼀个tuple, 调⽤者可以直接解构成
多个变量

二,参数

参数大致分为位置参数>*args(输出为元组)>默认值参数>**kwargs(输出为字典)(这是分布顺序不可打乱)。

  • 形参,在函数声明的位置。(变量)1,位置参数;2,默认值参数;3,动态参数
  • 实参,在函数调用的时候给函数的形参传递的信息。(具体的值)1,位置参数,记住名字;2,关键字参数,记住名字;3,混合参数,先位置后关键。
  • 传参,把实参的值交给形参的过程  
  • 动参,分为*args与**kwargs。

位置参数,关键字参数,

  1. 位置参数,按照位置来进行赋值。
    1 def yue(chat, address, age):
    2  print("拿出⼿机")
    3  print("打开"+chat)
    4  print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦")
    5  print("约不约")
  2. 默认值参数
    1 def stu_info(name, age, sex=''):
    2  print("录⼊学⽣信息")
    3  print(name, age, sex)
    4  print("录⼊完毕")
    5 stu_info("张强强", 18)

    某些参数可以使用默认值。

  3. 打散

  输入列表时,可以将打散成一个一个的进行输入。此方法对于列表,元组,字符串都可以使用。

1 def fun(*args):
2  print(args)
3 lst = [1, 4, 7]
4 fun(lst[0], lst[1], lst[2])
5 fun(*lst) # 可以使⽤*把⼀个列表按顺序打散
6 s = "⾂妾做不到"
7 fun(*s) # 字符串也可以打散, (可迭代对象)

  对于字典的打算需要另外方法。

1 def fun(**kwargs):
2  print(kwargs)
3 dic = {'a':1, 'b':2}
4 fun(**dic)

  4.函数的注释(又称为文件注释)

方法是多行注释内进行回车。

1 def chi(food, drink):
2  """
3  这⾥是函数的注释, 先写⼀下当前这个函数是⼲什么的, ⽐如我这个函数就是⼀个吃
4  :param :param food: 参数food是什么意思
5  :param :param drink: 参数drink是什么意思
6  :return :return: 返回的是什么东东
7  """
8  print(food, drink)
9  return "very good"