• Python函数


    函数

    函数的创建与调用

    • 函数调用有没有结果取决于函数的返回值决定的(可以按住Ctrl之后指向函数查看看箭头,返回值None为无返回值)

    • 定义函数返回值时使用:return

    • 函数中没有return时,返回的默认值也为None

    • return后面没有内容时,返回的也为None

    • 返回多个值时,return后面接返回值,用,隔开 例 return name,age,sex

    • return为结束函数的关键字,只要执行到return,就结束函数的调用,跳出函数体

    # 创建一个简单的函数,输出你好
    def hello():
        """
        函数功能:输出你好
        :return: None
        """
        print('你好')
    
    
    # 函数的调用
    hello()
    

    参数的传递(形式参数与实际参数)

    形式参数:形式参数表示在定义函数时函数括号中的参数

    实际参数:实际参数表示在调用一个函数时,函数名后面传递的参数,称为实际参数

    参数定义的三种形式:

    1. 必须参数:

      定义了几个参数就必须传入几个参数,不能多或者少

    2. 默认参数

      在定义参数时,给参数定义一个默认值,可不传此参数,及为默认值,传了之后变为指定值

    3. 不定长参数

      动态参数,可变参数,一般使用*args*kwargs

    必须参数

    # 形式参数和实际参数的详解
    # 定义类时,定义形式参数name,age,occupation
    def introduction(name, age, occupation):
        """
        这是一个自我介绍的类
        :param name: 名字
        :param age: 年龄
        :param occupation:职业
        :return:None
        """
        print("My name is {},I'm {} years old,My occupation is {}".format(name, age, occupation))
    
    
    # 调用函数,传入实际参数,位置传参
    introduction('小明', 18, '代码搬运师')
    
    # 指定参数传参,指定参数传入值,可不需要按照参数的位置进行参数的传入
    introduction(age=18, name='小明', occupation='代码搬运师')
    
    
    # 输出结果
    My name is 小明,I'm 18 years old,My occupation is 代码搬运师
    My name is 小明,I'm 18 years old,My occupation is 代码搬运师
    

    默认参数

    # 根据上面的函数,设置默认参数age = 18
    def introduction(name, occupation, age=18):
        """
        这是一个自我介绍的类
        :param name: 名字
        :param age: 年龄
        :param occupation:职业
        :return:None
        """
        print("My name is {},I'm {} years old,My occupation is {}".format(name, age, occupation))
    
    
    # 调用时不传入age参数,就会调用默认的18
    introduction('小明', '代码搬运师')
    
    # 调用时传入参数,就会调用传入的参数
    introduction(name='小明', age=20, occupation='代码搬运师')
    
    
    # 输出结果
    My name is 小明,I'm 18 years old,My occupation is 代码搬运师
    My name is 小明,I'm 20 years old,My occupation is 代码搬运师
    

    可变参数

    *args是可变参数,args接收的是一个tuple

    **kw是关键字参数,kwargs接收的是一个dict

    # 定义一个输出信息,传入不定长参数
    def print_info(*args, **kwargs):
        print(type(args), args)
        print(type(kwargs), kwargs)
    
    
    li = [1, 2, 3, 4, 5]
    dic = {'name': '小明', 'age': 18, 'height': 182}
    print_info(1, 2, c=3, d=4)
    print_info(*li, **dic)
    
    
    # 输出结果
    <class 'tuple'> (1, 2)
    <class 'dict'> {'c': 3, 'd': 4}
    <class 'tuple'> (1, 2, 3, 4, 5)
    <class 'dict'> {'name': '小明', 'age': 18, 'height': 182}
    

    函数的返回值(return)

    在python中,可以在函数体内使用return语句为函数指定返回值,该返回值可以是任何类型,并且无论return语句出现在函数的什么位置,只要得到执行,就会直接结束函数的执行

    def test():
        for i in range(1,10):
            if i % 2 == 0:
                print('{},{}是个偶数'.format(i, i))
                return i
            else:
                pass
    
    
    test()
    
    
    # 输出结果
    2,2是个偶数
    
  • 相关阅读:
    FZU 1759 欧拉函数 降幂公式
    51nod 1126 矩阵快速幂 水
    Codeforces Round #325 (Div. 2) D bfs
    Codeforces Round #379 (Div. 2) A B C D 水 二分 模拟
    Codeforces Round #284 (Div. 2)A B C 模拟 数学
    CentOS 7 rsync
    子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2
    VirtualBox
    Eclipse 安装 HDFS 插件
    docker log 文件 清理
  • 原文地址:https://www.cnblogs.com/zhouxiongjie/p/13182132.html
Copyright © 2020-2023  润新知