我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python函数详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python函数详解

结构:

    def  函数名():

        函数体


执行:

    函数名()


返回值:

    return

    一,函数中,遇到return终止函数

    二,返回值,返回给了函数的调用者:函数名()

    return单个值,返回单个值

    return多个值,返回一个由这多个值组成的元祖

    

函数传参:

实参角度:

    位置参数:从前至后一一对应

    关键字参数:一一对应,不用按照顺序

    混合参数:关键字参数一定要在位置参数的后面

形参角度:

    位置参数:按照顺序,一一对应

    默认参数:如果不传参则使用默认参数,传参则使用传入参数,常用的会设置默认参数

动态参数(万能参数):

    *args接收全部位置参数,聚合为元祖 **kwargs接收全部关键字参数,聚合为字典

    函数调用时,可迭代对象前加*,代表函数打散

    *args,默认参数,**kwargs顺序

函数的进阶:

    名称空间:存储的是全局(py文件)的变量与值的对应关系

    临时名称空间:当函数执行时,会在内存中临时开辟一个空间,此空间记录函数中变量与值的对应关系,随着函数的结束,临时名称空间而关闭

    解释:

Python代码运行的时候遇到函数是怎么做的,从Python解释器开始执行之后,就在内存中开辟里一个空间,每当遇到一个变量的时候,就把变量名和值之间对应的关系记录下来,但是当遇到函数定义的时候,解释器只是象征性的将函数名读如内存,表示知道这个函数存在了,至于函数内部的变量和逻辑,解释器根本不关心。

  等执行到函数调用的时候,Python解释器会再开辟一块内存来储存这个函数里面的内容,这个时候,才关注函数里面有哪些变量,而函数中的变量回储存在新开辟出来的内存中,函数中的变量只能在函数内部使用,并且会随着函数执行完毕,这块内存中的所有内容也会被清空。

我们给这个‘存放名字与值的关系’的空间起了一个名字-------命名空间。

代码在运行伊始,创建的存储“变量名与值的关系”的空间叫做全局命名空间;

在函数的运行中开辟的临时的空间叫做局部命名空间。

python中的空间:

    全局名称空间

    临时(局部)名称空间

    内置名称空间:len print 等内置函数

   加载顺序:内置名称空间-->全局名称空间-->函数执行时:临时名称空间    

作用域:

    全局作用域:内置名称空间 全局名称空间

    局部作用域:临时(局部)名称空间

   取值顺序:临时(局部)名称空间-->全局命名空间-->内置命名空间

    取值顺序满足就近原则

image.png

函数坑:

    取值:局部只能引用全局的变量但是不能修改,修改会报错

    global: 1,可以修改全局变量 2,在局部空间声明全局变量

    nonlocal: 1,不能操作全局变量 2,在局部作用域中,对父级作用域(或者更外层作用域非全局作用域)的变量进行引用和修改,并且引用的哪层,从那层及以下此变量全部发生改变 3,子名称空间只能引用父级空间的变量,但是不能修改

image.png

image.png

函数的嵌套:

    程序执行到哪里,只要遇到函数名(),就执行

image.png

image.png

函数名的运用:

直接打印函数名,返回函数内存地址

函数名可以作为函数的参数

函数名可以作为函数的返回值

image.png

函数可以作为容器类型的元素


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python函数详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python函数详解

结构:    def  函数名():        函数体执行:    函数名()返回值:    return    一,函数中,遇到return终止函数    二,返回值,返回给了函数的调用者:函数名()    return单个值,返回单
2023-01-31

python imread函数详解

Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误。如果你正好也对此感到困惑可以看下这篇总结。
2022-06-02

python常用函数random()函数详解

这篇文章主要介绍了python常用函数random()函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-02-22

python常用函数详解

1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多重复的代码,这样代码重用率就比较低。。。并且这样的代码维护起来也是很有难度的,为了解决这些问题,就出现了函数,用来将一些经常出现的代码进行封装,这样就可以
2022-06-04

python 钩子函数详解

1.with 与 __enter__ ,__exit__ with obj: expressment #进入with块时调用 obj.__enter__() #退出with块时调用 obj.__exit__(
2023-01-31

python递归函数详解

递归函数是指在函数定义中使用函数自身的一种编程技巧。递归函数通常包括两个部分:基本情况和递归情况,基本情况是指函数的结束条件,递归情况是指函数调用自身的情况。递归函数的特点:1、更容易理解和编写,尤其是对于一些问题,如树的遍历、阶乘计算、斐
python递归函数详解
2023-12-18

详解Python map函数及Python map()函数的用法

python map函数map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 例如,对于list [1, 2
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录