美文网首页
python编程基础11-函数

python编程基础11-函数

作者: 疯子李 | 来源:发表于2023-12-16 02:49 被阅读0次
    """一、函数的作用
    函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段
    函数能提高应用的模块性和代码的重复利用率
    python内置函数:https://docs.python.org/zh-cn/3.8/library/functions.html"""
    
    """二、函数的定义
    def:函数关键字
    function_name:函数名称
    parameter_list:可选,指定向函数的参数
    def function_name([parameter_list]):
        ['''xxx''']
        [function_body]
    注意缩进:python通过严格的缩进来判断代码块
        函数体和注释相对def关键字保持一定的缩进,一般4个空格"""
    
    def fun_a(a,b,c):
        """这是一个函数"""
        print(f"传入的参数为{a}{b}{c}")
    
    #打印函数comments内容
    print(fun_a.__doc__) #这是一个函数
    help(fun_a)
    
    #定义空函数
    #1、comments
    def fun_demo1():
        """这是一个函数"""
    #2、pass占位
    def fun_demo2():
        pass
    
    """三、函数调用"""
    #无参数
    def fun_demo3():
        """函数"""
        print("这是函数")
    
    fun_demo3()  #这是函数
    
    #有参数
    def fun_demo4(a,b,c):
        """这是一个函数"""
        print(f"传入的参数为{a}{b}{c}")
    
    fun_demo4(1,2,3) #传入的参数为123
    
    """四、函数传递
    形式参数:定义函数时,函数名称后面括号中的参数 abc
    实际参数:调用函数时,函数名称后面括号中的参数 123"""
    
    """五、位置函数
    数量必须与定义一致
    位置必须与定义一致"""
    #1、错误例子-数量错误
    fun_demo4(1,2)  #TypeError: fun_demo4() missing 1 required positional argument: 'c'
    fun_demo4(1,2,3,4)  #TypeError: fun_demo4() takes 3 positional arguments but 4 were given
    #2、错误例子-位置传错
    def person(name,age):
        print(f"姓名为:{name}")
        if age>=18:
            print(f"{name}已成年")
    person(20,"yanfa")  #TypeError: '>=' not supported between instances of 'str' and 'int'
    person("yanfa",20) #姓名为:yanfa yanfa已成年
    
    
    """六、关键字参数
    使用形式参数的名字确定输入的参数值
    不需要与形式参数的位置完全一致"""
    def fun_demo4(a,b,c):
        """这是一个函数"""
        print(f"传入的参数为{a}{b}{c}")
    fun_demo4(a=1,c=3,b=2)  #传入的参数为123
    
    """七、为参数设置默认值
    定义函数时可以指定形式参数的默认值,需要是不可变对象如数字/字符串/元祖,否则默认值会随着调用发生变化
    指定默认值的形式参数必须放在所有参数的最后,否则会产生语法错误
    param=default_value:可选,指定参数并且为该函数设置默认值为default_value
    def function_name(...,[param=default_value]
        [function_body]"""
    
    #1、不传参数
    def fun_1(b=0):
        print(f"传入参数为:{b}")
    fun_1()  #传入参数为:0
    
    #2、错误示例-默认值不放最后
    def fun_2(a,b=1,c):
        print(f"传入参数为:{b}")
    
    #3、错误示例,默认值为空列表
    #需要是不可变对象如数字/字符串/元祖,否则默认值会随着调用发生变化
    def fun_3(a,b,c=[]):
        c.append(a)
        c.append(b)
        print(f"传入参数为:{a} {b} {c}")
    fun_3(1,2) #传入参数为:1 2 [1, 2]
    fun_3(3,4) #传入参数为:3 4 [1, 2, 3, 4]
    
    """函数返回值
    return [value]
    """
    #1、不传值则返回None
    def sum(a,b):
        result=a+b
        return
    
    res=sum(1,2)
    print(res) #None
    
    #2、返回一个值
    def sum(a,b):
        result=a+b
        return result
    res=sum(1,2)
    print(res) #3
    
    #3、返回多个值,用逗号分隔,作为元祖
    def sum(a,b):
        result=a+b
        return result,a,b
    res=sum(1,2)
    print(res) #(3, 1, 2)
    print(type(res)) #<class 'tuple'>
    

    相关文章

      网友评论

          本文标题:python编程基础11-函数

          本文链接:https://www.haomeiwen.com/subject/hzdvgdtx.html