zoukankan      html  css  js  c++  java
  • Python 函数

    一、什么是函数?函数有什么作用?

    定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段使用关键字def定义。

     

    作用:

      • 可以重复使用,提高代码的重用性。
      • 可以实现某个具体功能。

      定义:

    def 类名(参数):

      函数体

    注意:

      • 函数名:def_mult_two_num(a, b):
      • 函数有return语句,返回值为return的值;
      • 如果执行了return,return后面的语句将不再执行;
      • 没有return语句,返回值为None;

     

    二、函数的参数类型

      首先明确,函数定义时,函数名后面括号内的参数叫【形式参数】。函数调用时,括号内的参数叫【实际参数】。

      参数类型:位置参数、默认参数、关键字参数、动态(可变)参数、含关键字的动态(可变)参数

    • 位置参数:形参实参的类型一致,个数位置要一一对应
    • 默认参数:在定义时给形参赋值,当调用时没有传实参时则使用定义时赋值的默认参数,有传参时用实参的值。

    默认参数要放在非默认参数后面

    • 关键字参数:根据参数名来传入参数值,无须遵守定义形参的顺序。

    实参关键字要和形参对应,不一致或者个数多了、少了,程序都会报错。

    实参才有关键字参数这种说法

    def Loc_Func(name, age, sex, hobby, motto = "keep on learning"):  
        print(name, age, sex, hobby, motto)
    
    
    Loc_Func("Rachel", 18, sex="", hobby="Swimming")
    Rachel 18 女 Swimming keep on learning
    • 可变参数:
      • 动态参数:定义时形参用一个*+变量名:*args ,将形参接收到的所有位置参数保存在一个【元组】中,不知道函数需要接收多少个实参时使用
      • 含关键字的动态参数:定义时形参使用两个*+变量名:**kwargs,把所有的关键字参数,保存在【字典】中,调用时必须带有关键字且必须使用关键字, 
    def Fuc(*args, **kwargs):
        print(args)
        print(kwargs)
        pass
    
    
    one_tuple=(1, "day")
    one_dict={"name": "Rachel", "age": 10}
    Fuc(10, "daily", name="Rachel", age=10)  # 位置参数要放在关键字参数前面
    Fuc(*one_tuple, **one_dict)  # *args要在**kwargs前面

    (10, 'daily')  # args 为【元祖】类型
    {'name': 'Rachel', 'age': 10}  # kwargs为【字典】类型
    (1, 'day')
    {'name': 'Rachel', 'age': 10}

    三、局部变量和全局变量

    局部变量:是指函数体内部定义的变量

    全局变量:是指函数外部定义的变量

    如何在函数内部定义全局变量?

      使用关键字global,此时的变量a,虽然定义在函数内部,但是依然是【全局变量】

     

    def f():
    global a
    a = 5
    print(a)

     

  • 相关阅读:
    办公室搞笑记(2) 李姐
    世界上疼我的人又少了一个
    带给杨帆的祝福:)
    火:) 火:) 火:)
    我们都是享受寂寞的孩子:)
    복 경 에 갑 니 다 :) 去北京.
    너는 겨울이 좋아요 .我喜欢冬天:)
    2007年:新年,新开始:)
    Nginx 泛域名配置方式
    数据库设计 从零开始系列之一
  • 原文地址:https://www.cnblogs.com/jszfy/p/11185488.html
Copyright © 2011-2022 走看看