Python之函数总结

作用

函数的作用,封装具体的功能,实现重复调用

函数定义

def 函数名(参数): # 参数是可选项
	代码块

函数调用

函数名(参数) #如果函数定义是,参数是没有的,函数调用时,参数也为空。否则,函数调用的参数不为空

参数的种类

  • 位置参数

    函数调用时,实参的传递要照着形参的位置

    def my_fun(name,age):
    	print('我的名字叫%s,今年%i岁' % (name, age))
    
    my_fun('python', 30)
    

    形参是什么?实参是什么?网上很多讲的云里雾里的。
    可以从它们两者的作用区分,形参是为了完成函数的定义,就如上面def my_fun(name,age),这时name和age有两个形参,让调用者知道调用函数时,要传递两个参数;
    实参是为了完成函数的调用,给name,age两个变量传递值

  • 关键字参数

    关键字参数识别可以根据参数名称,参数过多的时候,位置参数不容易记忆位置去传递实参

  • 默认参数

    调用函数时,对默认参数可以传参,也可以不传参

    def my_fun(num=1):
    	return 10/num
    print(my_fun())
    print(my_fun(2))
    
    

不定数量的形参

  • 不定数量的位置形参*param

    def my_fun(*python):
        if len(python) <= 0 or len(python) >= 4:
            return
        my_str = ''
        if len(python) >= 1:
            my_str += '我的名字叫%s' % python[0]
        if len(python) >=2 :
            my_str += '今年%i岁' % python[1]
        if len(python) >=3 :
            my_str += '编程语言排行第%i' % python[2]
        return  my_str
    print(my_fun('python'))
    print(my_fun('python', 30))
    print(my_fun('python', 30,3))
    """
    -------------输出结果---------------
    我的名字叫python
    我的名字叫python今年30岁
    我的名字叫python今年30岁编程语言排行第3
    """
    
  • 不定数量的关键字形参**param

    从不定数量的位置形参的例子中看,调用函数时,要保证传递参数的位置正确。当参数过多时,不容易维护和调用,这时候可以用关键参数

    def my_fun(**python):
        if len(python) <= 0 or len(python) >= 4:
            return
        my_str = ''
        if len(python) >= 1:
            my_str += '我的名字叫%s' % python['name'] # 位置是通过索引来引用,而关键字参数是通过key
        if len(python) >=2 :
            my_str += '今年%i岁' % python['age']
        if len(python) >=3 :
            my_str += '编程语言排行第%i' % python['ranking']
        return  my_str
    
    print(my_fun(name='python', age=30,ranking=3))
    """
    -------------输出结果---------------
    我的名字叫python今年30岁编程语言排行第3
    """
    

返回值

返回值None1: 如果 函数中没有返回值,系统默认会返回None。也可以自己显式返回None
返回值多个:返回列表或元组

参数收集和逆向参数收集区别

  • 参数收集是在定义函数时,不确定参数的个数时用的

  • 逆向参数收集是在调用函数时,在确定参数的个数时,传递元组和列表的实参。调用函数时,传递的实参前面要带星号

	def my_fun(name,age):
    	print('我的名字叫%s,今年%i岁' % (name, age))
	my_param = ('python', 30)
	my_fun(*my_param)

  1. None在Python,是NoneType类型。NoneType类型只有一个常量None,代表空值 ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值