Python学习之路-函数进阶

这篇具有很好参考价值的文章主要介绍了Python学习之路-函数进阶。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python学习之路-函数进阶

参数和返回值的作用

函数根据有没有参数以及有没有返回值,可以相互组合,一共有4 种组合形式:无参数,无返回值;无参数,有返回值;有参数,无返回值;有参数,有返回值。

{{< admonition tip “提示” true >}}

定义函数时,是否接收参数,或者是否返回结果,是根据实际的功能需求来决定的!如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部。如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值

{{< /admonition >}}

不可变和可变的参数

无论传递的参数是可变还是不可变只要针对参数使用赋值语句,会在函数内部修改局部变量的引用**,**不会影响到 外部变量的引用。如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,同样会影响到外部的数据

缺省参数

定义函数时,可以给某个参数指定一个默认值,具有默认值的参数就叫做缺省参数调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时指定的参数默认值。函数的缺省参数,将常见的值设置为参数的缺省值,从而简化函数的调用

{{< admonition tip “提示” true >}}

缺省参数需要使用最常见的值作为默认值!如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时,由外界传递!

{{< /admonition >}}

缺省参数的注意事项

缺省参数的定义位置

必须保证带有默认值的缺省参数在参数列表末尾

调用带有多个缺省参数的函数

在调用函数时,如果有多个缺省参数,需要指定参数名,这样解释器才能够知道参数的对应关系!

多值参数

定义支持多值参数的函数,有时可能需要一个函数能够处理的参数个数是不确定的,这个时候就可以使用多值参数。python中有两种多值参数:

  • 参数名前增加 一个 * 可以接收元组
  • 参数名前增加 两个* 可以接收字典

一般在给多值参数命名时,习惯使用以下两个名字:

  • *args —— 存放 元组 参数,前面有一个 *

  • **kwargs —— 存放 字典 参数,前面有两个 *

{{< admonition tip “提示” true >}}

argsarguments的缩写,有变量的含义,kwkeyword 的缩写,kwargs 可以记忆键值对参数

{{< /admonition >}}

元组和字典的拆包

在调用带有多值参数的函数时,如果希望:将一个元组变量,直接传递给 args将一个 字典变量,直接传递给 kwargs就可以使用拆包,简化参数的传递,拆包的方式是:在元组变量前,增加一个*在字典变量前,增加两个 *

递归

简介

函数调用自身的编程技巧称为递归

特点

一个函数内部调用自己。函数内部可以调用其他函数,当然在函数内部也可以调用自己

代码特点

  1. 函数内部的代码是相同的,只是针对参数不同,处理的结果不同
  2. 当参数满足一个条件时,函数不再执行

{{< admonition warning “警告” true >}}

这个非常重要,通常被称为递归的出口,否则会出现死循环!

{{< /admonition >}}

{{< admonition tip “提示” true >}}

初次接触递归会感觉有些吃力!在处理不确定的循环条件时,格外的有用,例如:遍历整个文件目录的结构

{{< /admonition >}}

内置函数

Python 解释器内置了很多函数,可以在任何时候使用,在这里查看具体包含哪些与使用方法。文章来源地址https://www.toymoban.com/news/detail-816869.html

到了这里,关于Python学习之路-函数进阶的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python之路:网络工程师的自动化进阶(第2版)

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 I. 引言 随着网络技术的不断发展,网络工程师的角色已经不再局限于传统的操作和维护。自动化成为提高

    2024年02月04日
    浏览(40)
  • C语言-指针进阶-qsort函数的学习与模拟实现(9.3)

    目录 思维导图: 回调函数 qsort函数介绍 模拟实现qsort 写在最后: 什么是回调函数? 回调函数是一个通过函数指针调用的函数。 将一个函数指针作为参数传递给一个函数,当这个指针被用来调用所指向函数时, 我们就将此称为回调函数。 在举例之前,我们先学习一个C语言

    2024年02月15日
    浏览(42)
  • 【TypeScript】进阶之路语法细节,类型和函数

    类型别名(type)的使用 为解决给联合类型的类型定义过长的问题 使用类型别名 接口(interface)的声明的使用 使用interface声明 相比较类型别名,少了= 二者区别: 类型别名和接口声明非常相似,在定义对象的时候,可以任意选择使用 主要区别: type类型使用范围更广 type定

    2024年02月13日
    浏览(30)
  • 【python】16.Python语言进阶

    重要知识点 生成式(推导式)的用法 说明:生成式(推导式)可以用来生成列表、集合和字典。 嵌套的列表的坑 Python Tutor - VISUALIZE CODE AND GET LIVE HELP heapq 模块(堆排序) itertools 模块 collections 模块 常用的工具类: namedtuple :命令元组,它是一个类工厂,接受类型的名称和

    2024年01月17日
    浏览(30)
  • Python学习之路-Python操作redis

    在Python中操作 Redis 可以直接用 redis 模块 安装Redis的有3种方式https://github.com/andymccurdy/redis-py 第一种:进⼊虚拟环境py_django,联⽹安装包redis 第二种:进⼊虚拟环境py_django,联⽹安装包redis 第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装: 下载:执行 wget https:/

    2024年01月22日
    浏览(31)
  • Python学习之路-编码风格

    Python的设计哲学是“优雅”、“明确”、“简单”。它的重要准则被称为“Python之禅”。 Python之禅 又名PEP 20,在Python解释器内运行 import this 可以获得完整的列表,下面是我的翻译与解读: Python开发的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python程序

    2024年01月20日
    浏览(54)
  • Python学习之路-内存管理

    Python的内存管理机制可以总结为:引用计数、垃圾回收、内存池。 引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。 引用计数 引用计数也是一种垃圾收集机制,

    2024年01月21日
    浏览(80)
  • Python学习之路-初识面向对象

    面向对象编程(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的编程典范,同时也是一种程序开发的抽象方针。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。

    2024年01月21日
    浏览(43)
  • Python学习之路-多任务:协程

    协程,又称微线程,纤程。英文名Coroutine。协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这

    2024年01月17日
    浏览(42)
  • Python学习之路-模块和包

    简介 模块是 Python 程序架构的一个核心概念。每一个以扩展名 py 结尾的 Python 源代码文件都是一个模块,模块名同样也是一个标识符,需要符合标识符的命名规则。在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具。模块就好比是工具包,要想使用这个工具

    2024年02月01日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包