zoukankan      html  css  js  c++  java
  • python入门之函数

    函数

    1.定义格式:

      def abc(形式参数1,形式参数2,...):

        return "ij2f98sdf9dff"

        函数里设置返回值,然后函数调用可以直接赋值,赋的值是返回值,若没有设置返回值,默认是None

      def abc(形式参数=123)

        默认参数,调用时不传参就用默认123

      def abc(参数1,参数2=123)

        没有默认的参数要放在有默认的前面,不然语法会报错

      调用函数传的参数可以是字符串,列表,等和其他数据类型

    2.执行格式:

      a = abc(实际参数1,实际参数2,...)

        执行时按照顺序传参

      a = abc(形参2=实参2,...)

        执行时指定传参,可以不按顺序传参

      注意:如果指定传参和顺序传参混合使用,那么指定传参不能写在顺序传参前面,而且顺序传参了后,后面的指定传参不能写重复的形参,例如abc(实参1,形参1=实参2)

    3.动态参数:

    格式:

      def abc(*a)

        在形参前面加一个*号,这样变成动态参数,调用的时候可以传多个参数,传入后a变成了以传入参数为各元素的元组

      def abc(**aa)

        在形参前面加两个*号,这样也是动态参数,调用传参格式是abc(k1=123,k2=456,...),这样传入后a变成了一个字典

      def abc(*a,**aa)

        两种动态参数结合,两种传参都可以使用,,但是写法要求*a要在**a的前面。当然在最前面加一个形式参数也是可以的

      def abc(*args,**kwargs)

        一般动态参数是这样命名的,当然用其他表示也没错

    4.动态传列表、元组、字典:

      传入列表(元组)li

      abc(li)

        li传入,把这个列表整体作为元组的一个元素

      abc(*li)

        这样传入参数,是将列表里的每个元素作为元组的各个元素组成元组

      传入字典dic

      abc(**dic)

        不加*会报错,因为两*的传入格式是如同key=value的,所以在传入字典时前面加**就可以将字典传入进去

    5.全局变量和局部变量:

      若在局部里(定义的函数里)修改全局变量,则要在局部修改语句前添加一语句:global 变量名

      全局变量都用大写,局部变量都用小写,这样好区分

    补充

      函数作为参数

      >>>def f(arg):

           arg()

      >>>def x():

           print("xxxxx")

      >>>f(x)

  • 相关阅读:
    写一个通用的事件侦听器函数
    基于LuckySheet在线表格的Excel下载功能开发
    node项目中npm 第三方包引用规则
    js 本地保存 json/txt 文件
    letcood 算法题 -- 两数相加
    ES6新增语法总结
    关于Promise,你必须知道的几点。
    Promise 基础
    学习网页收藏
    android Listview每一个item添加点击事件
  • 原文地址:https://www.cnblogs.com/chy-op/p/9865895.html
Copyright © 2011-2022 走看看