python中函数的定义与调用

在前面的学习中,其实咱们已经接触到了一些函数,好比:

type() 函数能返回数据的类型python

len() 函数能返回数据的长度函数

print() 函数能在控制台将内容输出出来学习

range() 函数能生成整数数列spa

这些函数都是python的内置函数,咱们能够直接调用,后面咱们将会接触到更多的python的内置函数。经过观察,咱们不难发现,函数有如下两个特色:blog

  • 能够具体完成某个功能
  • 能够重复使用

1、python中函数的定义

除了python 内置函数外,咱们还能够根据需求自定义函数,函数的定义有如下规则:内存

  • 使用关键字def 来向python发出信号,标识你要定义一个函数;
  • def 后跟具体的函数名称,注意,自定义函数的名称最好不要跟内置函数名称发生冲突;
  • 函数名称后跟一对圆括号,圆括号内存放调用该函数时须要传入的参数;
  • 在函数体内,咱们可使用 一对 三引号 来定义文档字符串,这就至关因而给函数加了一段注释,说明该函数的具体做用;
  • 函数通常以return 结束,用来返回值方便调用,若是没有return语句,则默认返回None;
  • 函数遇到return就会终止,即return后面的代码将不会被执行。

一、函数的语法:作用域

 举一个比较简单的例子:文档

 二、函数的调用

2、函数中的参数

一、形式参数和实际参数

  • 形式参数:函数定义时候的参数
  • 实际参数:函数调用时候的参数

二、函数的位置参数

  • 位置参数:形式参数和实际参数要一一按照顺序对应,很少很多,位置同样。

 关于函数的参数传递,咱们须要注意以下几点:字符串

  • 调用函数传递的参数个数必定要和函数定义的参数个数一致,不然会报错;
  • 注意函数体里面参数的类型,要输入正确的参数类型,不然会报错。

三、函数的默认参数

  • 在函数定义的时候,给形式参数一个默认值,即为默认参数;
  • 在函数定义时,若是有默认值,在调用时若是传入了实际参数,那么默认参数不会生效,若是没有传入实际参数,默认参数会生效。

 四、位置参数与默认参数

一个函数有的时候不只有位置参数,还会有默认参数,若是这两种参数同时存在的时候,就必定要把默认参数放在位置参数的后面,不然会报错!!变量

 五、关键字参数

  • 做用:是相对于位置参数讲的,能够提升函数调用时候的可读性,更加容易理解实际参数的意义;
  • 关键字的名字===形式参数;
  • 关键字参数区别位置参数,能够不按照顺序进行调用,能够交换顺序;
  • 关键字参数也要放到位置参数的后面。

六、不定长参数

不定长参数包括位置不定长参数和关键字不定长参数:

  • *args:位置不定长参数;
  • *kwargs:关键字不定长参数

 (1)位置不定长参数:*args

  • *args:在函数内部的表现形式:names是一个元组
  • *args:能够接收从函数调用的时候多余的位置参数
  • *args:加在其余位置参数的后面

(2)关键字不定长参数:*kwargs

上面咱们讲了不定长位置参数,这一节咱们来掌握下带有关键字的不定长参数。它与普通的不定长参数的区别就是带有关键字,且必须指定关键字,不然识别不了。

 3、局部变量和全局变量

一、定义

  • 局部变量是在函数内部声明的变量,只能在该函数调用它,若是试图在超出范围的地方调用,程序就会报错;
  • 全局变量是在整个整个py文件中定义的变量,全局范围内均可以访问。

二、局部变量和全局变量须要注意的几个点

  • 全局做用域能获取局部变量吗??? 不能!!!
  • 全局做用域能修改局部变量吗??不能!!!
  • 局部做用域能获取全局变量吗??能!!!  
  • 局部变量能修改全局变量吗??不能!!!

 三、局部做用域修改全局变量的方法

  • global 关键字是声明全局变量的关键字

 返回的结果是:27

相关文章
相关标签/搜索