python函数

一、函数的参数

1、函数的参数从调用的角度来讲可以分为形式参数和实际参数,也可叫形参和实参。

      形参:变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

     实参:可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

  2、位置参数:按照从左到右的顺序依次定义的参数

    注:按位置定义的形参必须被传值,多一个不行,少一个不行。

      按位置定义的实参,与形参一一对应

  3、关键字参数:在传入实参时指定形参的变量名(实参在定义时,按照key=value形式定义)

     注意的问题一:位置实参必须在关键字实参的前面。
      注意的问题二:实参的形式既可以用位置实参又可以是关键字实参,但是一个形参不能重复传值。

  4、默认参数:定义函数阶段,就已经为形参赋值,定义阶段有值,调用阶段可以不用传值。

    默认参数需要注意:

         问题一:必须放在位置参数和形参后面
         问题二:默认参数通常要定义成不可变类型
         问题三:默认参数只在定义阶段被赋值一次

  5、可变成参数(收集参数):可变长指的是实参的个数不固定

    按位置定义的可变长度的实参:*  (*定义成的实参是元祖形式)
    按关键字定义的可变长度的实参:** (**定义成的实参是字典形式)
   注:*和**既可以“打包”又可以“解包”。

   注:函数必须遵守先定义后使用的原则,定义阶段是只检测语法不执行代码,执行阶段是执行代码。

二、函数的返回值(return)

  1、return返回值没有的情况下返回None.

  2、return可以返回任意类型的值。

  3、return只能返回一次值,其作用是终止函数的执行。

三、名称空间(即就是存放名字与值得绑定关系)。

  1、名称空间分为三类,分别是内置名称空间,全局名称空间和局部名称空间。

  2、内置名称空间:python解释器自带的名称,默认python解释器启动就会执行。

  3、全局名称空间:文件级别的名字都会存放在全局名称空间中,执行python文件时会产生。

  4、局部名称空间:定义在函数内部的名称,局部名称空间只有在函数调用时才会生效,停止调用就会失效。

  5、三者的加载顺序:内置名称空间》》全局名称空间》》局部名称空间

  6、三者的取值顺序:局部名称空间》》全局名称空间》》内置名称空间

四、函数变量的作用域(全局变量作用域和局部变量作用域)

   1、全局作用域:内置名称空间与全局名称空间的名字属于全局范围,在整个文件的任意位置都能被引用,全局有效(也就是说代码内所有的函数内部都可以访问到全局变量)。
   2、局部作用域:局部名称空间的名字属于局部范围,只在函数内部可以被引用,局部有效

五、函数的嵌套

  1、函数内部创建另一个函数,这种函数叫做内嵌函数或者是嵌套函数。 

  2、内部函数整个作用域都在外部函数之内。
六、函数对象

  1、函数是第一类对象: 指的是函数可以被当做数据传递

  2、函数可以被引用,可以当作函数的参数,可以当作函数的返回值,可以当作容器类型的元素.

  

    

    

python基础6 ----python函数的更多相关文章

  1. python基础——高阶函数

    python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...

  2. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  3. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  4. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  5. 二十一. Python基础(21)--Python基础(21)

    二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性:     #类.属性: 调用的就是类中的属性     #对象.属性: 先从自己的内存空间里找名 ...

  6. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  7. 『Python基础-13』函数 Function

    这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...

  8. python 基础篇 11 函数进阶----装饰器

    11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...

  9. python基础7 ---python函数

    python基础知识 一.闭包函数 1.闭包函数的定义:在一个内部函数中,在对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包. 2.闭包函数的特点:自带作用域和延迟计算 补 ...

  10. python基础之open函数和路径处理

    前言 本次内容主要介绍文件处理open函数以及路径处理. 一.open函数 根据前面介绍的函数调用方式,调用open函数. #open函数调用 open() TypeError: open() mis ...

随机推荐

  1. redis中的事务(版本2.6.16)

    一.命令支持 1.multi 开始事务 2.exec事务提交 3.取消事务discard 二.事务示例 1.示例 redis>set key1 20OKredis>mutilOKredis ...

  2. ThinkPHP的sql_mode的默认设置,导致无效信息被插入

    在thinkphp中的DbMySql.class.php和DbMySqli.class.php中每次连接mysql后,都会自动设置sql_mode=''; mysql_query("SET ...

  3. css3——position定位详解

    最近热衷于前端的开发,因为突然发现虽然对于网站.应用来说,功能处于绝对重要的地位,但是用户体验对于用户来讲同样是那么的重要,可以说是第一印象.最近在开发当中发现以前对于css中的position的理解 ...

  4. Python:Dom生成XML文件(写XML)

    http://www.ourunix.org/post/327.html 在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文 ...

  5. view无限旋转

    - (void) showRefreshAnimation { [UIView animateWithDuration: options:UIViewAnimationOptionCurveLinea ...

  6. iconfont的简单使用

    下载-阿里巴巴矢量图标 网站链接:http://www.iconfont.cn/ 首页如下: 首页-进入图标库--所有图标--搜索/点击你想要的图标--添加购物车 点击购物车(下载) 如下图: 点击下 ...

  7. 深入探析 Rational AppScan Standard Edition 新特性之 Glass Box 扫描

    众所周知,Web 应用安全测试通常有黑盒安全测试和白盒安全测试两种方法.这两种方法孰优孰劣一直众议纷纷.广为公认的是,这两种测试方法有着良好地互补性,两种测试方法的结合是未来安全测试技术的发展趋势.G ...

  8. uboot和内核分区的改动

    随着内核的更新,内核越来越大,uboot给nand的kernel分区默认是2M的 device nand0 <nandflash0>, # parts = 4  #: name       ...

  9. 【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作

    当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http ...

  10. python selenium - SSL处理(https)

    在实际的自动化测试实践中,因为越来越多的站点接入https,使得我们原有的python selenium2自动化测试代码进行测试时,浏览器总是报安全问题,即便在浏览器选项中将被测网址加入信任网址也没用 ...