| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python函数笔记1 -> 正文阅读 |
|
[Python知识库]Python函数笔记1 |
目录 前言就最近学习Python的函数的一些笔记 一、函数是什么函数是组织好的,可重复利用的,用来实现单一或者相关联功能的代码段(块)。在之前Python中的BIF或者print()就是Python中已经封装好的函数(内置函数),而我们自己定义的函数则是用户自定义函数。 二、为什么需要函数
三、如何声明/调用一个函数? ?在Python创建一个函数用def关键字。例如:
?函数的调用和运行机制:当函数my_function()发生调用时,Python会自动往上寻找def? my_function()的定义过程,然后依次执行函数内部代码块部分。 这里注意:函数的声明一定是在函数的调用之前! 四、函数的返回值有些时候,需要函数返回一些数据来进行报告执行的结果,比如判断一个数的奇偶性。因此,函数需要一个返回值。只需要在函数中使用关键词return,后面跟着需要返回的值即可。
在Python中,并不需要去定义函数的返回值类型,函数可以返回不同类型的值。若无返回值,则默认返回None。另外,若是函数返回多个值,Python默认是元组形式返回。当然用列表返回多个值也可以。
五、函数的参数()里自然是函数的参数了。? ? <1>实参和形参? ? ? ?形参是指函数定义()的参数,实参是指函数调用时实际传递的参数。
<2>位置参数位置参数时函数调用时实参传递根据对应位置传入值。
<3>关键字参数关键字传参根据具体名称传入参数值,即在传入实参时明确指出形参的变量名,无需在乎其顺序。
<4>默认参数默认参数是指函数无实参传入时函数默认的取值。
?注意:默认参数一定要在非默认参数之后定义,否则就会报错。 <5>可变参数可变参数也叫收集参数。有时候,我们并不知道函数调用者会传递多少个实参,例如print()函数,因此我们就需要一个参数组来解决,其实就是在形参前加星(*)号。 下面先来看一星(*)参数
另外,可变参数和位参结合时,位参一定要放在可变参数的前面,否则,可变参数(*args)会吃掉所有的参数。可变参数若是后面还需指定其他参数,则必须使用关键参数指定。*
再来看两星(**)参数
特别注意:在参数混合使用时,kwargs((**)类型)必须放在参数列表的末尾,否则报错。 在函数的定义中,可变参数星(*)号的作用是将传进的多个参数进行”打包“,以一个元组或者字典的形式进行存储。而星(*)号在实参的作用中则是将其”解包“。
<6>函数文档?函数文档就是对于函数的解释说明,与代码注释是一样的。但是它又不同于代码注释。函数文档字符串可以根据__doc__(两边是两天下划线)获取。
六、函数变量的作用域<1>局部变量在函数内部定义的变量是局部变量,而局部变量的作用域就是在函数内,在函数外部是访问不到的。
<2>全局变量在函数外部定义,与局部变量相对,作用域是整个模块。例如上述代码中的a,b,在函数的内部是可以访问到的。函数内部可以访问全局变量。
但是特别注意的是,如果想要直接在函数内部去修改一个全局变量的值,那Python会直接在函数内部定义一个与全局变量同名的局部变量,Python只是给这个局部变量进行赋值,并未对全局变量做任何修改。?这是因为随意修改全局变量的值可能会使程序出现一些bug等,因此Python对其进行“保护”。(这是与c++的不同) 当然,如果用户非要在函数内部去修改全局变量的值,Python也做出了相应的举动。想要在函数内部改变全局变量的值,则需在前面加上关键字global即可。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:21:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |