一、函数定义和声明

在某些编程语言里, 函数声明和函数定义区分开的。一个函数声明包括提供对函数名,参数的名字(传统上还有参数的类型), 但不必给出函数的任何代码, 具体的代码通常属于函数定义的范畴。在声明和定义有区别的语言中, 往往是因为函数的定义可能和其声明放在不同的文件中。 python将这两者视为一体,函数的子句由声明的标题行以及随后的定义体组成的。

二、函数属性

你可以获得每个 pyhon 模块,类,和函数中任意的名字空间。你可以在模块 foo 和 bar 里都有名为 x 的一个变量,,但是在将这两个模块导入你的程序后,仍然可以使用这两个变量。所以,即使在两个模块中使用了相同的变量名字,这也是安全的,因为句点属性标识对于两个模块意味了不同的命名空间。

三、传递函数

函数有一个独一无二的特征使它同其他对象区分开来,那就是函数是可调用的。因为所有的对象都是通过引用来传递的,函数也不例外。当对一个变量赋值时,实际是将相同对象的引用赋值给这个变量。如果对象是函数的话,这个对象所有的别名都是可调用的。

当我们把 foo 赋值给 bar 时,bar 和 foo 引用了同一个函数对象,所以能以和调用 foo()相同的方式来调用 bar()。确定你明白"foo"(函数对象的引用)和"foo()"(函数对象的调用)的区别。

>>> def foo():

... print 'in foo()'

...

>>> bar = foo

>>> bar()

in foo()

稍微深入下我们引用的例子,我们甚至可以把函数作为参数传入其他函数来进行调用。

>>> def bar(argfunc):

... argfunc()

...

>>> bar(foo)

in foo()

注意到函数对象 foo 被传入到 bar()中。bar()调用了 foo()(用局部变量 argfunc 来作为其别名就如同在前面的例子中我们把 foo 赋给 bar 一样)。

四、形式参数

python 函数的形参集合由在调用时要传入函数的所有参数组成,这参数与函数声明中的参数列表精确的配对。这些参数包括了所有必要参数(以正确的定位顺序来传入函数的),关键字参数(以顺序或者不按顺序传入,但是带有参数列表中曾定义过的关键字),以及所有含有默认值,函数调用时不必要指定的参数。

1、位置参数

位置参数必须以在被调用函数中定义的准确顺序来传递。另外,没有任何默认参数(见下一个部分)的话,传入函数(调用)的参数的精确的数目必须和声明的数字一致。

2、默认参数

对于默认参数如果在函数调用时没有为参数提供值则使用预先定义的的默认值,这些定义在函数声明的标题行中给出。

特别注意,python 中用默认值声明变量的语法是所有的位置参数必须出现在任何一个默认参数之前。

def func(posargs, defarg1=dval1, defarg2=dval2,...):

"function_documentation_string"

function_body_suite

python创建以_Python create函数,python,创建相关推荐

  1. python文件创建人_Python文件处理:创建、打开、追加、读、写

    在Python中,不需要导入外部库来读取和写入文件.Python为创建.写入和读取文件提供了内置的函数. 在本文中,我们将学习 如何创建文本文件 如何将数据附加到文件中 如何读取文件 如何逐行读取文件 ...

  2. 如何用python创建文件_python在指定目录创建文件

    Python无法创建文件夹,如何制定创建目录?温柔也好,凶狠也罢.想有一个陌生的自己,给自己一些惊喜. /主目录/桌面/gnssIR_python-master:/usr/local/bin:/usr ...

  3. python 可执行文件大_python – 如何使用pyinstaller创建最小大小的可执行文件?

    我在 Windows 10上,我安装了anaconda但是我想在一个新的,干净的最小环境中使用python 3.5独立创建一个可执行文件.所以我做了一些测试: TEST1: 我在文件夹testenv中 ...

  4. python 隐藏进程_python在windows下创建隐藏窗口子进程的方法

    python在windows下创建隐藏窗口子进程的方法 发布于 2015-11-08 20:56:53 | 213 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一 ...

  5. add函数python怎么用_Python add()函数是如何使用呢?

    Python里经常会出现一些不太常见的函数,大家在遇到这类函数时候,是怎么做的呢?没有概念,直接过,还是会去查询下呢?相信大部分人都不会去查询,因为查询的内容太复杂了,所以,小编针对大多数人,直接给大 ...

  6. python圆形代码_python圆形函数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python3 函数函数文字定义:函数是组织好的,可重复使用的,用来实现单一,或 ...

  7. python del用法_python del()函数用法 -电脑资料

    示例程序如下: >>> a = [-1, 3, 'aa', 85] # 定义一个list >>> a [-1, 3, 'aa', 85] >>> ...

  8. python 函数修饰_python修饰函数 python 函数有多个修饰符

    define的意思,用来定义函数. 如: def 函数名(参数1, 参数2, --, 参数N): 执行语句 # 例:简单的函数使用# 定义函数def hello(): print 'hello pyt ...

  9. tomcat中request对象是被创建的_Python中对象的创建与引用

    上文传送门,又见面向对象,不变的是思想,变的只是语言. 今日开始,我们深入来了解面向对象. 四.创建与引用 1.创建对象的流程 在创建对象时,看不见的手,帮我们做了三件事情,如下图: 1class S ...

最新文章

  1. tiny-cnn执行过程分析(MNIST)
  2. C语言嵌入式系统编程修炼之(六)性能优化
  3. 虚拟机的联网模式正确的选择
  4. python中json模块读写数据
  5. python中unique_一个神奇的Python机器学习交互应用开放框架
  6. BGP小实验(一)——小实验练练手走起来
  7. linux应用系统使用率,Linux性能优化实战:系统CPU使用率高,但为啥找不到高的应用(06)...
  8. SQL 结合CASE WHEN 实现二维统计
  9. LabelImg 影像標註工具使用教學,製作深度學習用的資料集
  10. 将mysql中的数据库表导出和导入
  11. css中的伪元素:before :after与jQuery中的.before .after的区别
  12. cp命令显示进度条_教程 | Linux常用命令大全
  13. win10安装马上6的问题
  14. 最新dex2jar下载,网上很多dex2jar是2015年的,有bug无法翻译部分代码,最新更新的dex2jar下载
  15. Unity 资源断舍离(资源清理重复以及引用被引用查找)
  16. linux系统浏览器没有图片不显示,网页不显示图片怎么回事【解决方法】
  17. Linux解决中文乱码问题及LANG与NLS_LANG的区别
  18. 云队友丨顶级高手,如何进行系统思考?
  19. 全球智慧能源解决方案服务商「雄韬股份」牵手企企通,谱写采购数字化变革之路
  20. 笔记本无线热点共享批处理bat_马立杰_新浪博客

热门文章

  1. 1到5阶乘c语言编程,用C语言写出1的阶乘到5的阶乘的和 – 手机爱问
  2. robot光线机器人安卓版_Robot Crash Fight
  3. vijos1556 祖玛游戏
  4. (详细)分层强化学习-Random Network Distillation(RND)
  5. zabbix监控华为路由器
  6. web前端全栈0基础到精通(祺)07
  7. 知乎转载——激活windows 10系统
  8. 【webVR翻译】使用A-frame零基础一小时制作冬日雪人特效
  9. C# float转int四舍五入
  10. 推荐一本Vue源码阅读书籍《Vue.js技术内.幕》