zoukankan      html  css  js  c++  java
  • Python学习笔记 — 函数

            函数是对程序逻辑进行结构化或过程化的一种编程方法。函数具有两个方面的意义:1)将代码分块,易于管理和阅读;2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性。

    1. 函数定义

            Python中函数的定义,主要包括三个部分:

            标题行:def关键字,函数名,参数集合。注意,在函数定义的时候,不用指定函数的返回值,这与其他语言有区别。

            文档字串:可选,强烈推荐

            函数体:必需

    def function_name(arguments):
        "function_documentation_string"
        function_body_suite

    2. 函数调用

            在程序中通过函数名后跟括号调用这个函数,可能还需要将传入的参数放在括号中。不允许在函数未声明之前,对其进行引用或者调用。

    2.1 参数传递

            参数是函数体操作的对象,有形参与实参之分:形参是函数定义时的参数;实参是函数调用时的参数。

            Python的参数传递机制与C语言的相同,遵循以下两个原则:

              1) 不可变参数通过值传递:函数操作的实际上是参数的一份拷贝,对其的修改不会体现在函数的外部。

              2) 可变参数通过引用传递:函数操作的是参数的引用,对其的修改会体现在函数的外部。

    2.2 参数匹配

            函数调用传递参数的时候,要考虑参数的位置,数量,默认值等因素。主要有下面几种参数匹配模型:

    • 位置匹配:最常用的匹配方式,按位置从左至右的顺序进行匹配
    • 关键字参数:调用时通过参数变量名进行匹配,就可以不用考虑参数的顺序
    • 默认参数:如果调用时传入的参数少于定义时的参数时,没有传递的参数使用预先定义的默认值,但是所有必需参数都要在默认参数之前
    • 可变参数:使用以*开头的参数,收集任意数目的参数

    2.3 返回值

           函数会向调用者返回一个值。不过返回值不用在def的时候指定,这个与Java有些不同。

           return语句是显式地返回,也可以没有return语句,函数会在执行完函数主体时结束,仍然会隐式地返回None,类似于Java中的“void”表示没有返回值。

    3. 变量作用域

           变量因定义的位置不同可以分为局部变量和全局变量:局部变量是在函数体内定义的变量,作用域从被定义的位置到函数体结束;全局变量是在文件开头声明的变量,或者所有import变量,作用域是整个文件。

           如果在函数中要对全局变量进行赋值,必须经过global声明,否则被认为是局部变量赋值。如果仅仅只是引用全局变量,可以不经过声明。

  • 相关阅读:
    关于文件上传组件国内外完美解决方案的调查
    WIN10 评估版 查看过期时间
    Using Android Phone to recover SD card formatted with DD command under linux
    JavaScript 字符串与数组互转,并保持数据去重、排序功能
    国内基于浏览器的在线截屏插件方案汇总分析
    VC6到VC2010,项目迁移错误
    CentOS 7 Install Adobe Flash Player
    地铁图快速寻路算法
    windows的cmd下的find命令比bash(win10下的Ubuntu的bash)下的grep比较
    APUE习题5.x
  • 原文地址:https://www.cnblogs.com/riskyer/p/3318067.html
Copyright © 2011-2022 走看看