一、函数

函数定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

在不同的机器语言中,函数名字的叫法不尽相同。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。

函数形式:

def func(kwargs,*kwargs,**kwargs):#函数名func()

......#函数内的操作

pass#函数内的操作

调用函数:func()即可。

kwargs:用于单一的变量的传递

*kwargs:用于元组的传递,并且可以传递多个参数,可以用于参数个数不确定的传递

**kwargs:用于字典的传递,并且可以传递多个参数,可以用于参数个数不确定的传递

比如:

def test(kwargs,*kwargs1,**kwargs2):print(kwargs)print(kwargs1)print(kwargs2)

test("long")

test("long","love","you")

test("long","love","you",who = "long",what = "love",whom = "you")

test("long",who = "long",what = "love",whom = "you")

打印的结果为:

long

()

{}#传递了kwargs,*kwargs以及**kwargs其他为空

long

('love', 'you')

{}#传递了kwargs和*kwargs,**kwargs空

long

('love', 'you')

{'who': 'long', 'whom': 'you', 'what': 'love'}#传递了kwargs,*kwargs以及**kwargs

long

()

{'who': 'long', 'whom': 'you', 'what': 'love'}#传递了kwargs,**kwargs,kwargs为空

二、函数参数传递

一般的调用函数都会对变量进行参数的传递,完成程序的执行操作。

对于单一变量的函数中,需要保持实参与实参一一对应,进行传递。或者指定对应的参数来操作。比如:

deftest(x,y):print(x)print(y)

test(2,3)

test(y=3,x=4)

2

3

4

3

当然这两者也可以结合,但是必须要保证:关键字的参数传递在其他类型传递之后。

test(4,y=3)

test(y=3,4)#error

第二项,系统会报错:positional argument follows keyword argument

三、局部变量与全局变量

在子程序中定义的变量称为局部变量,在程序的一开始定义(第一级)的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

当全局变量与局部变量同名时:

在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

四、递归函数

递归函数可以理解为自己的函数在函数体内调用自己本身,使用自调用。

defcalc(n):print(n)if int(n/2) >0:return calc(int(n/2))print("---->",n)

calc(10)

结果:10

5

2

1

----> 1

在使用递归函数时,需要注意以下几点:

1. 必须有一个明确的结束条件

2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

python 函数图解_Python函数说明(一)相关推荐

  1. python函数结构_Python函数基础

    Python中使用def关键字来声明函数,声明函数的格式为: 有3个需要注意的地方:函数名后面必须加冒号 如果函数体和def不在同一行,则必须缩进 return指定函数返回值,用来结束函数但retur ...

  2. python所有函数用法_python函数用法总结

    空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码 ...

  3. 用python画竹子_python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  4. python所有函数用法_Python函数使用方法(高级用法)

    前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项.但是,Python 函数的用法还远不止此,Python 函数还支持赋值.作为其他函数的参数以及作为其他函数的返回值. 首先,Pyt ...

  5. python函数应用_Python 函数及其应用

    Python函数: 一个具有独立功能的代码块,重复使用时,那么往往就需要使用函数把这块代码封装成一个整体. 一.定义函数: def 函数名(): 函数代码 定义一个函数,函数不会执行,要执行需要调用函 ...

  6. python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值

    使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y.给不同的x,进行相同的操作,得到相应的y值. 程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为 ...

  7. python中return返回值为函数名_Python函数返回值

    Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...

  8. python中函数参数_Python函数的参数

    本章将介绍函数中参数的用法,更多内容请参考:Python学习指南 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道传递正确的参数,以及函数就返回 ...

  9. python使用函数目的_Python函数的概念和使用

    Python Python开发 Python语言 Python函数的概念和使用 函数 为了便于程序的维护和更好的实现模块化,好的程序都会分解为很多函数. 可以这么说,对于任何的编程语言,函数都是一个非 ...

最新文章

  1. 生成元(Digit Generator ,ACM/ICPC Seoul 2005 ,UVa 1583)
  2. 154在屏幕中绘图时设置透明度(扩展知识:为图片视图添加点击手势识别器,来实现点击事件操作)...
  3. python统计行号_如何使用Python脚本分析CPU使用情况的?
  4. 一种求凸多边形内部似最大圆的算法
  5. Exchange企业实战技巧(27)邮件中使用数字签名和邮件加密功能
  6. 1040 有几个PAT(PAT乙级 C++)
  7. Linux命令速查手册
  8. 【CC2530入门教程-01】CC2530微控制器开发入门基础
  9. JAVA WBE入门之HTML的使用(超详细,必看)附实例和代码
  10. Excel VBA生成SQL建表语句
  11. 今日头条笔试题 数列
  12. apk反编译 (com.googlecode.d2j.DexException: not support version问题解决)
  13. imu 里程计融合_视觉里程计IMU辅助GPS融合定位算法研究
  14. P2141 珠心算测验
  15. 打游戏买什么手机好?rog3性能强 网速稳!
  16. 有追求的品牌都应该去B站
  17. python写小说阅读器_手把手教你用Python制作简易小说阅读器
  18. Python将Qt的ui文件转成py代码文件
  19. ddr2是几代内存_教你区分DDR1 DDR2 DDR3内存条的方法
  20. vb数据库编程(三)--SQL语言

热门文章

  1. TNG-Hooks:有状态逻辑在标准函数中的重用和组合
  2. C++中,如何定义和使用指向成员函数的指针
  3. ERP 趣读 【转】
  4. linux下批量下载站点内容初稿
  5. LotusScript (转)
  6. Windows Phone 7之初体验(四.平台架构简介)
  7. junit return null该怎么测试_3 分钟生成一个单元测试报告,这个样式爱了
  8. cannot resolve symbol什么意思_JavaScript异步编程实现之一:Promise对象是什么?对resolve理解...
  9. session作用域_看完这篇Bean的作用域与生命周期,问到面试官不敢问-乐字节java...
  10. c语言中char的取值扩大,C语言中 char 类型的取值范围为什么是-128~127