python之函数讲解

函数

  • 函数的语法

    def 函数名(形参1,形参2...):
    		代码块
    

    函数创建好之后,必须调用函数,否则,函数没有返回值,就没有任何意义了。

    def fn():
        
        print('123')
    

    在这里插入图片描述

    def fn():
    		    
    	print('123')
    		    
    fn()
    

    在这里插入图片描述

  • 函数的参数

    • 形参
      定义参数相当于在函数内部声明了变量,但是并不是赋值
    • 实参
      指定了行参,那么在调用时就必须传递实参,实参将会赋值给对应的形参,有几个形参就要传递几个实参。
  • 参数的传递方式

    • 默认值传递
      在定义形参时,可以指定默认值,如果用户没有传递参数,那么默认值就会生效,反之,就不会生效。

      def fn (a=2,b=5):
      
          print('a=',a)
          print('b=', b)
      
      fn(1,2)              # 控制台输出为a=1   b=2
      
      def fn (a=2,b=5):
      
          print('a=',a)
          print('b=', b)
      
      fn()				 # 控制台输出为a=2   b=5
      
    • 位置传递
      将对应位置的实参赋值给对应位置的形参。

      def fn (a,b):
      
          print('a=',a)
          print('b=', b)
      
      fn(1,2)
      
    • 关键字传递
      关键字参数可以不按照定义形参的顺序进行传递,而根据参数名进行传递,(注意!!)当混合使用位置参数和关键字参数时,必修将位置参数写带关键字参数的前面。

      def fn(a,b,c):
      
          print('a =',a)
          print('b =',b)
          print('c =',c)
      fn(c=10,a=5,b=3)
      

      在这里插入图片描述

  • 参数的类型

    • 实参可以传递任意类型的对象
  • 不定长参数

    • 定义参数
      • 定义参数时,可以在形参前面加一个*,这样的话,这个形参就可以获得所有的实参,它会将所有的实参保存在一个元组中
    • 带*号的参数的形参只能是一个,可以和其他参数配合使用
    • 带*号(*参数)的行参只能接受位置参数,不能接受关键字参数。
      • *a处理的是位置参数
    • **形参
      • 可以接受关键字参数,并且将接受到的参数白痴到字典中,。字典的key就是参数的名称,value就是参数的值。
      • **(参数)处理的是关键字参数
      • **(形参)只有一个,并且必须写在所有参数的后面
    def fn(a,*b):
        print('a =', a)
        print('b =',b)
    fn(1,2,3,4,5)
    

    在这里插入图片描述

    def fn(a,**b):    # 如果**参数在第一个会报错
        print('a =', a)
        print('b =',b)
    fn(a=20,b =10)
    

    在这里插入图片描述

  • 参数的解包

    • 传递实参时,也可以在序列类型的参数前加星号,这样它就会自动的将序列中的元素依次作为参数传递进去
    • 但是有一点要求,就是序列中的元素的个数必须与形参的个数保持一致。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WSZFSNFK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值