共3118字, 阅读本文需要8分钟

def 函数基础

def 函数的定义

在 python 中,def 函数是用来定义一个 function() 的。基本使用

示例下面我们定义了一个 function() 实现打印 a 的值。

当我们运行的时候,输出框是不会输出任何信息的,为什么?当我们定义了一个 function(),并不意味着我们要调用它,所以我们需要运行这个 function(),一个简单的办法就是在 input 框中输入 function()。

自调用

如果想要在执行脚本的时候执行一些代码,如单元测试,可以在脚本最后加上单元测试代码。但是该脚本做为一个模块对外提供功能的时候单元测试代码也会执行,这些往往都不是我们想要的,我们可以把这些代码加入到脚本最后。

如果执行该脚本的时候,该判断语句将会是,那么内部的代码将会执行。 如果外部调用该脚本,判断语句则为,内部代码将不会执行。利用自调用函数运行如上的 function() 进行测试。

函数参数

基本使用当我们想要调用一个函数并往函数中传递变量,那么这些变量就是函数的参数。

的位置就是函数的参数,在调用的时候传入即可。示例

在这里定义的一个函数 func,其参数就是两个数值 a,b,函数的功能就是把两个参数加起来。运行脚本后,在 main 函数中调用函数, 如果不指定参数, 那么将会出错。运行结果

函数的默认参数

基本使用我们在定义函数时有时候有些参数在大部分情况下是相同的,只不过为了提高函数的适用性,提供了一些备选的参数, 为了方便函数调用,我们可以将这些参数设置为默认参数,那么该参数在函数调用过程中可以不需要明确给出。

函数声明只需要在需要默认参数的地方用号给定即可, 但是要注意所有的默认参数都不能出现在非默认参数的前面。示例在这里定义了一个函数,参数为 Mac 的属性,但除了之外,像,和都是有默认值的。

运行结果

如果我们调用函数, 那么与是一样的效果。当然也可以在函数调用过程中传入特定的参数用来修改默认参数。通过默认参数可以减轻我们函数调用的复杂度。

运行结果

def 函数进阶

可变参数

顾名思义,函数的可变参数表示传入的参数可以变化的,1 个到任意个。当然可以将这些参数封装成一个或者传入,但不够。使用可变参数可以很好解决该问题,注意可变参数在函数定义不能出现在特定参数和默认参数前面,因为可变参数会吞噬掉这些参数。示例

定义一个函数,传入固定参数 name,可变参数 *grades,表明该参数是一个可变参数,这是一个可迭代的对象。运行结果

关键字参数

关键字参数可以传入 0 个或者任意个含参数名的参数,这些参数名在函数定义中并没有出现,这些参数在函数内部自动封装成一个字典 (dict)。示例定义了一个函数,传入一个参数, 和关键字参数,使用了修饰。表明该参数是关键字参数,通常来讲关键字参数是放在函数参数列表的最后。

运行结果

通过可变参数和关键字参数,任何函数都可以用表达。参数组合在 Python 中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这 4 种参数都可以一起使用,或者只用其中某些,但是参数定义的顺序必须是必选参数 > 默认参数 > 可变参数 > 关键字参数。示例

运行结果

你还可以通过 tuple 和 dict 调用该函数

运行结果

总结

Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误!要注意定义可变参数和关键字参数的语法:是可变参数,args 接收的是一个 tuple;

是关键字参数,kw 接收的是一个 dict。

觉得对你有帮助就关注我吧!

python的def函数_Python 学习之 def 函数相关推荐

  1. python函数def里面嵌套def_python 函数嵌套函数_Python中的嵌套函数

    python 函数嵌套函数 A nested function is simply a function within another function, and is sometimes calle ...

  2. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  3. python通过封装可以实现代码复用_Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  4. python函数参数学习_python学习笔记-11.函数参数和返回值进阶

    1. 函数参数和返回值的作用 函数根据有没有参数以及有没有返回值,可以相互组合,共有4种形式: 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值 定义函数时,是否接收参数,或者是 ...

  5. python巩固函数和模块_Python学习教程6:函数,模块和类的使用

    Python函数 定义 函数是组织好的,可重复利用的,用来实现单一,或相关联功能的代码片段. 函数能提高应用的模块行,使代码逻辑更加的条理清晰. 内建函数 内建函数是Python中自带的,可供用户重复 ...

  6. python自定义函数的关键字_python学习之--自定义函数:

    Python之--自定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 以下自定义 ...

  7. python中setup函数的用法_python学习之setUp函数和tearDown函数

    1,setUp():就是在一个类中最先被调用的函数,每次执行一个函数都要先执行这个函数,有几个函数就被调用几次,与放的位置无关,随便放到哪里都会先执行这个函数 2,tearDown():就是在一个类中 ...

  8. python函数的基本使用_Python学习笔记——主要函数及基本使用(与C的对比)

    实时更新中- 1.函数 1.1 title()函数-以首字母大写的方式显示每个单词 使用方法: name="ada lovelace" print(name.title()) 结果 ...

  9. python日期函数_python 时间及日期函数

    本人最近新学python ,用到关于时间和日期的函数,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法. import time import datetime '''时间转化为时间戳: ...

最新文章

  1. 判断一个文件被修改(转)
  2. 开机时进入 grub rescue>的解决方法
  3. Spring boot的Webjars
  4. HTML常见标签总结
  5. jquery ajax load
  6. 一起来做个免登录资源导航小程序!
  7. docker anaconda_深度学习炼丹炉配置[1] Docker+sshfs环境配置
  8. “我恨Google无人车”
  9. 微机原理8086汇编语言上机——Masm环境搭建与常用汇编调试指令
  10. 图像数字水印技术研究及matlab实现,基于DFT的数字水印技术及MATLAB实现
  11. linux hdparm 测试磁盘io,Linux测试硬盘读写速度之hdparm命令
  12. 8、Ndk开发小记一
  13. Geekban极客班 第二周
  14. 论文阅读——基于语法语义融合学习的功能代码克隆检测
  15. Android Botton 事件
  16. linux内部网关协议igp,在自治系统内部的各个路由器之间,运行的是内部网关协议IGP。早期的IGP叫做【11】 ,它执行 【12】 。_考题宝...
  17. 密码爆破工具——九头蛇(hydra)
  18. 网络安全的就业及发展前景如何?
  19. 需要达到什么样的水平才能找到一份看起来不错的互联网实习?
  20. C语言求解亲密数在3000之内

热门文章

  1. CVPR 2020 | 反传统的无监督人脸旋转方案:旋转-渲染
  2. ICCV 2019 开源论文 | ShapeMatchingGAN:打造炫酷动态的艺术字
  3. 计蒜客 Reversion Count
  4. python for循环连续输入五个成绩判断等级_Python 入门(五)条件判断和循环
  5. Spring Boot-@Conditional注解以及衍生注解@ConditionalOnBean
  6. 力扣刷题心得(设计类题目)
  7. 功能测试——房屋租赁系统(Selenium IDE)
  8. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第五章——自编解析与答案
  9. C#——委托(delegate)DEMO
  10. CG CTF WEB MYSQL