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)

转载于:https://www.cnblogs.com/chy-op/p/9865895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值