走入计算机的第十八天(函数的参数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了走入计算机的第十八天(函数的参数)相关的知识,希望对你有一定的参考价值。

一  形参和实参

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

技术分享

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

  二   位置参数:

      1 按照从左到右的顺序依次定义的参数,必须被传值,多一个不行,少一个也不行  ,与形参一 一对应叫做位置参数技术分享
    2关键字参数:食餐在定义时,按照key=value形式定义技术分享

          3,位置参数和关键字参数的混合 使用:注意为题1:位置参数要在关键字参数的前面;注意问题2:实参的形式既可以用位置实参又可以是关键字实参,但是一个形参不能重复传值

     技术分享

          4 默认参数:再定义函数阶段,就已经为形参赋值,定义阶段有值,调用阶段可以不用传值,调用阶段复制的话会以调用阶段的值显示。

       #默认参数需要注意的问题一:必须放在位置形参后面

                 #默认参数需要注意的问题二:默认参数通常要定义成不可变类型

                 #默认参数需要注意的问题三:默认参数只在定义阶段被赋值一次

技术分享

5 可变长参数:可变长指的是实参的个数不固定:按位置定义的可变长度的实参:*打包成元组的形式;按关键字定义的可变长度的实参:**打包成字典的形式技术分享

 可以接受任意形式,任意长度的参数技术分享

技术分享

 

命名关键字参数:定义在*后的形参,这类形参,必须被传值,而且要求实参必须是以关键字的形式来传值技术分享

 形参:位置形参,默认参数,*args,命名关键字参数,**kwargs

二 函数的返回值

  有些时候,需要函数为我们返回一些数据来报个执行的结果,所以我们的函数需要返回值

   在函数中使用关键字return,后面跟着你要返回的一些值,返回一个最终的结果。返回值可以返回任意类型。只能返回一次,返回后终止函数的执行。

技术分享技术分享

 

三 函数的使用原则

  1  先定义后执行

  2函数的定义与变量的定义是相似的,如果没有事先定义函数而直接使用就相当于在引用一个不存在的变量名 

错误的用法技术分享

 

  正确的额用法技术分享

    3 定义阶段:值检测语法,不执行代码。调用阶段就是执行代码

四  函数的对象

   函数的第一对象是指函数可以当做数据传递技术分享

   函数的第二对象是指可以得做函数的参数技术分享

   函数的第三对象是指可以当做函数的返回值技术分享

   函数的第三对象是指可以当作容器类型的元素技术分享

五  函数的嵌套

  函数定义是可以嵌套的。

   函数嵌套的定义:也就是在函数中在创建函数。这种函数叫做内嵌函数或者是内部函数。

技术分享

  嵌套函数的使用:内部函数整个作用域都在外部函数之类。

  六  名称空间

    名称空间就是存放名字和值的绑定关系,名称空间分为三种

    1 内置名称空间:就是python解释器自带的名字例如print,max,get等等。python解释器启动就会生成。

    2 全局名称空间:文件级别定义的名字就会存放在全局名称空间,执行python文件是就会产生

   技术分享   3局部名称空间:定义在函数内部的名字,局部名称空间只有在调用函数时才会生效,函数调用结束则失效技术分享

这三者加载的顺序是:内置名称空间->全局名称空间->局部名称空间

 取值的顺序是:局部名称空间->全局名称空间->内置名称空间

技术分享

七  作用域

作用域意思就是作用范围,作用域分为两类

  1全局作用域:内置名称空间与全局名称空间的名字属于全局范围,在整个文件的任意位置都能被引用,全局有效

   2 局部作用域:局部名称空间的名字属于局部范围,只在函数内部才可以被引用,局部有效如图

技术分享

 这两者的取值方式:局部作用域----->全局作用域技术分享

 


以上是关于走入计算机的第十八天(函数的参数)的主要内容,如果未能解决你的问题,请参考以下文章

走入计算机的第二十八天(面向对象的程序设计)

发表博客的第十八天

Python初学者第十八天 函数

回到javaweb的第十八天(HTTp的格式)

回到javaweb的第十八天(HTTp的格式)

python学习的第十八天模块之包相对搜索路径和绝对搜索路径