函数对象

一、函数对象的四大工能

1.引用

def helllo():

x='helllo word'

f=func

print(f)

2.当作参数传给一个函数

def foo(m):

m()

foo(func)

3.可以当作函数的返回值

def foo(x):

return x

res = foo(func)

print(res)

res()

4.可以当作容器类型的元素

def lis():

return x

lis_abc=[lis]

二、可变长参数

一、不定长参数*

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:

def functionname([formal_args,] *var_args_tuple ):

"函数_文档字符串"

function_suite

return [expression]

加了星号 ***** 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

二、不定长参数**

还有一种就是参数带两个星号 **基本语法如下:

# 可写函数说明

def printinfo( arg1, **vardict ):

"打印任何传入的参数"

print ("输出: ")

print (arg1)

print (vardict)

# 调用printinfo 函数

print(info(1, a=2,b=3))

加了两个星号 ** 的参数会以字典的形式导入。

三、函数的嵌套

就简单说明一下就好,语法与流程语句嵌套类似

def f1():

def f2():

print('from f2')

f2()

f2() # NameError: name 'f2' is not defined

如何调用***

def max2(x, y):

if x > y:

return x

else:

return y

def max4(a, b, c, d):

res1 = max2(a, b)

res2 = max2(res1, c)

res3 = max2(res2, d)

return res3

print(max4(1, 2, 3, 4))

四、函数的作用域

1、全局变量

可以在函数或者整段代码中使用的变量

x = 1

def func():

pass

l = [1, 2]

if 3 > 2:

if 4 > 3:

z = 3

2、局部变量

仅仅在函数内部使用,无法影响全局变量的形式

x=1

def jubu():

x=10

return x

print(jubu)

print(x)

作用域补充

global关键字###不推荐使用

修改全局作用域中的变量。

x = 1

def f1():

x = 2

def f2():

# global x # 修改全局

x = 3

f2()

f1()

print(x)

nonlocal关键字

x = 1

def f1():

x = 2

def f2():

# nonlocal x

x = 3

f2()

print(x)

f1()

python使用函数的优点-Python函数的特点相关推荐

  1. python面向对象编程的优点-Python 基础知识----面向对象编程

    一.面向对象编程介绍 面向过程编程: 核心是过程二字,过程指的是解决问题的步骤,即先做什么再干什么然后干什么. 基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式. 优点:复杂的问题流程化 ...

  2. python面向对象编程的优点-Python入门之面向对象编程(一)面向对象概念及优点

    概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ...

  3. python面向对象编程的优点-Python语言有哪些优点?

    2018年主流的十大编程语言中,Python排名第一,被广大使用者誉为"更美好"编程语言.Python语言自身的语言特点,使得他深受开发者的喜爱,那么Python语言到底有哪些优点 ...

  4. python的特点和优点-Python的优点和缺点有哪些?Python语言的特点

    任何一种编程语言,都有其优劣性,Python编程亦如此,以下是对Python优缺点的解析: 先看优点 Python的定位是"优雅"."明确"."简单& ...

  5. python使用函数的优点-Python递归函数的优缺点

    对于求 n!,你可能会问,为何要用递归?有何优势?答案并不复杂,利用递归可以使算法的逻辑变得非常简单.因为递归过程的每一步用的都是同一个算法,计算机只需要自顶向下不断重复即可. 具体到阶乘的计算,无非 ...

  6. python使用函数的优点-Python用了这么多年,总结出超实用的功能和特点

    在使用Python这么久,时不时就会发现了一些过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.本篇文章总结出你应该了解的Python功能特色,希望大家在学习过程中,少走弯路,善用技巧! ...

  7. python面向对象编程的优点-Python面向对象编程 一

    一.类 面向对象是对函数进行分类和封装,其主要目的是提高程序的重复实用性,让开发更方便快捷. 在我们的认知中,我们会根据属性相近的东西归为一类.例如:鱼类,鱼类的共同属性是呼吸,卵生.任何一个鱼都在此 ...

  8. python面向对象编程的优点-Python面向对象编程

    面向过程编程,重点在于过程(可以理解成how),即以过程为核心,计算机/写代码的人会把精力聚焦在具体的实现过程上,这个过程第一步干什么,第二步干什么,直到最后完成了你的目标. 面向对象编程,重点在于对 ...

  9. python面向对象编程的优点-Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

最新文章

  1. curl 安装_记一次因curl版本过低导致zabbix server不停重启问题及解决方法
  2. 全面分析阿里数据中台,小白也能看懂 | CSDN原力计划
  3. 格式化代码会发生什么?? | 每日趣闻
  4. 院长来信 | 英特尔宋继强:疫情之下对科技创新的再思考,科学为源,技术为器...
  5. [Docker系列·8] Docker远程接口
  6. [C++] 为什么Linux需要itoa函数
  7. python求乘积内建函数_Python中的内建函数(Built_in Funtions)
  8. c++怎么保留小数位数
  9. Tarjan的求双连通分量算法
  10. java英文笔试题_java英文面试笔试题
  11. 最全2019 AI/计算机/机器人顶会时间表来了,共收录36场会议,投稿冲鸭!
  12. 使用 ExpandableListView 实现折叠ListView
  13. 安装SQLServer2008后Windows防火墙上的端口开放
  14. 学前教育试题库及答案_学前教育学考试试题及答案
  15. 中值滤波器的matlab实现
  16. 超级灰色按钮克星更新v1.3.1112.40
  17. linux系统安装yarn,centos安装yarn
  18. matlab自带滤波器,matlab自带滤波器函数
  19. 三星手机使用应用沙盒动态修改sdk数据
  20. 虚幻引擎图文笔记:使用MixamoConverter对Mixamo动画重定向成UESkeleton匹配动画

热门文章

  1. 使用单个innodb表,实现锁,防止游戏被刷物品或者其它资源!
  2. SSH服务理论+实践
  3. [pytorch] 官网教程+注释
  4. luogu P1843 奶牛晒衣服 | 二分法
  5. 获取当前脚本所在的绝对路径
  6. 在ionic/cordova中使用极光推送插件(jpush)
  7. 进程调度(第三章 处理调度与死锁)
  8. 超级有意思的代码注释
  9. 汇编程序-更灵活的定位内存地址方法
  10. Radar Installation(贪心,sort)