zoukankan      html  css  js  c++  java
  • Python语法之函数、引用和装饰器

    所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用
    函数是带名字的代码块,用于完成具体的工作

    需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该
    任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试
    和修复都将更容易
    函数的使用包含两个步骤:
    【1】定义函数–封装独立的功能
    【2】调用函数–享受封装的成果


    def 函数名():
    函数封装的代码
    【1】def是英文define的缩写
    【2】函数名称应该能够表达函数封装代码的功能,方便后续的调用
    【3】函数名称的命名应该符合标识符的命名规则

    可由字母、下划线和数字组成,不能以数字开头,不能与关键字重名

    这里写图片描述


    形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用
    实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的

    这里写图片描述


    在程序开发中,有时候,会希望一个函数执行结束后(举例子:温度计函数,要返回给我>们当前的温度),告诉调用者一个结果,以便调用者针对具体的结果作出后续的处理
    返回值是函数完成工作后,最后给调用者的一个结果
    在函数中使用return关键字可以返回结果
    调用函数一方,可以使用变量来接收函数的返回结果

    这里写图片描述


    每一个python源文件都可以是一个模块文件
    可以在一个python文件中定义函数或者变量
    然后在另一个文件中使用import filename 导入这个模块
    导入之后,就可以使用模块名.变量/模块名.函数的方式,使用这个模块中定义的函数和变量.

    这里写图片描述


    局部变量是在函数内部定义的变量,只能在函数内部使用
    函数执行结束后,函数内部的局部变量,会被系统回收
    不同的函数,可以定义相同的名字的局部变量,但是各用各的不会产生影响

    这里写图片描述

    这里写图片描述
    不同函数之间可以使用相同的局部变量名称,不会产生影响

    这里写图片描述


    【1】全局变量是在函数外部定义的变量,(没有定义在某一个函数内),所有函数内部都可以使用这个变量

    这里写图片描述
    【2】修改全局变量的值 使用global关键字 声明一下变量即可

    这里写图片描述
    【3】定义全局变量的时候,应该定义在函数的上方

    这里写图片描述

    变量和数据都是保存在内存中的
    在python中函数的参数传递以及返回值都是靠引用传递的


    在python中,变量和数据是分开存储的,
    数据保存在内存中的一个位置, 变量中保存的是数据在内存中的地址,变量中记录数据的地址,就叫做引用
    使用id()函数可以查看变量中保存数据所在内存的地址
    这里写图片描述

    这里写图片描述

    这里写图片描述


    把一个函数当作函数,传递给函数,返回一个加强版的函数
    本质上是一个返回值的函数
    “在不改变原函数的基础上,给函数增加功能”


    【1】要求给func1加一串*不改变原函数内容

    这里写图片描述
    【2】判断年龄,如果值为负数则等于零

    这里写图片描述
    【3】使用@符号将装饰器应用到函数

    这里写图片描述
    【4】给函数前后加一句内容

    这里写图片描述
    【5】带有返回值的装饰器

    这里写图片描述

  • 相关阅读:
    Ubuntu
    「日记」抑郁症
    [Ubuntu] 运行.AppImage格式文件
    [Database]Oracle数据库中concat和||的区别
    [Database] 不知道表名和字段查找值=1234的数据.
    [Windows]卸载Office 2016密钥
    [经验]怎么删除“通过QQ/TIM发送到”右键菜单
    Venom- Eminem
    粪便中的粪臭素稀释了以后会变成花香味
    #宽带选择# V2EX讨论
  • 原文地址:https://www.cnblogs.com/zhangyanran/p/9896060.html
Copyright © 2011-2022 走看看