| |
|
开发:
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函数使用 -> 正文阅读 |
|
[Python知识库]python函数使用 |
一、Python函数的定义定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(参数列表): 其中,用 [] 括起来的为可选择部分,即可以使用,也可以省略。
注意,在创建函数时,即使函数不需要参数,也必须保留一对空的“()”,否则 Python 解释器将提示“invaild syntax”错误。另外,如果想定义一个没有任何功能的空函数,可以使用 pass 语句作为占位符。 例如,下面定义了 2 个函数:
该函数的功能,和上面的 str_max() 函数是完全一样的,只是省略了创建 str 变量,因此函数代码更加简洁。 二、Python函数的调用调用函数也就是执行函数。如果把创建的函数理解为一个具有某种用途的工具,那么调用函数就相当于使用该工具。
[返回值] = 函数名([形参值]) 其中,函数名即指的是要调用的函数的名称;形参值指的是当初创建函数时要求传入的各个形参的值。如果该函数有返回值,我们可以通过一个变量来接收该值,当然也可以不接受。
例如,我们可以调用上面创建的 pass_dis() 和 str_max() 函数:
首先,对于调用空函数来说,由于函数本身并不包含任何有价值的执行代码,也没有返回值,应该调用空函数不会有任何效果。 http://c.biancheng.net/shell 三、传参函数变量和其他变量一样可以作为参数传入另一个函数,因为传递的是参数,所以传递时不要跟上后边的括号以及可能存在的参数,只要传递函数名即是传递了函数变量: 四、返回参数函数可以作为变量像其他变量一样使用? ?可以看到,在一个接收 args 自定参数的函数 f 内部,定义了一个没有参数的函数 g,g 却使用了 f 的参数,然后返回了这些参数的和,而 f 函数则把 g 这个函数变量返回了。我么可以将返回的值赋给新的变量,也就是 g1 和 g2 ,并且 g1 和 g2 是没有关系的,及不相等也不等同,再次调用 g1 和 g2 才是调用了 f 返回的函数 g 五、命名空间1,细说变量:对于赋值语句,例如x = 1,类似于字典的键值,有一个vars内置函数,返回一个不可见的字典 ?可见命名空间即为一个储存变量的字典 ?3,globals和locals函数的区别,看代码 ?4,用字典方式修改全局变量和局部变量 六、装饰器假设用 funA() 函数装饰器去装饰 funB() 函数,如下所示: ?实际上,上面程序完全等价于下面的程序: ?通过比对以上 2 段程序不难发现,使用函数装饰器 A() 去装饰另一个函数 B(),其底层执行了如下 2 步操作:
举个实例: ?程序执行流程为: ?在此基础上,如果在程序末尾添加如下语句: ?其输出结果为: ?显然,被“@函数”修饰的函数不再是原来的函数,而是被替换成一个新的东西(取决于装饰器的返回值),即如果装饰器函数的返回值为普通变量,那么被修饰的函数名就变成了变量名;同样,如果装饰器返回的是一个函数的名称,那么被修饰的函数名依然表示一个函数。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/16 3:42:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |