定义函数

Posted 爱你无目的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定义函数相关的知识,希望对你有一定的参考价值。

#到目前为止,我们用的都是Python内置函数,这些Python内置函数的定义部分对我们来说是透明的。因此,我们只需关注这些函数的用法,而不必关心函数是如何定义的,Python支持自定义函数,即由我们自己定义一个实现某个功能的函数。下面是自定义函数的简单规则。
(1)、函数代码块以def关键词开头,后接函数标识符名称和圆括号“()‘;
(2)、所有传入的参数和自变量都必须放在圆括号中,可以再圆括号中定义参数;
(3)、函数的第一行语句可以选择性使用文档字符串,用于存放函数说明;
(4)、函数内容以冒号开始,并且要缩进;
(5)、return[表达式]结束函数,选择性返回一个值给调用方。不带表达式的return相当于返回None。
#Python定义函数使用def关键字,一般格式如下:
1 #! /usr/bin/python3
2 #-*- conding:UTF8 -*-
3 #def函数格式
4 
5 def 函数名(参数列表):
6     函数体
7 或者更直观的表示为:
8 def <name>(arg1,arg2,...argN):
9     <statements>
#函数的名字必须以字母开头,可以包括下划线”_“。和定义变量一样,不能把Python的关键字定义成函数的名字。函数内的语句数量是任意的,每个语句至少有一个空格的缩进,以表示该语句属于这个函数。函数体必须保持缩进一致,因为在函数中,缩进结束就表示函数结束。
#现在已经知道了定义函数的简单规则和一般格式了。下面进行实际操作,在示例中定义函数并调用:
1 #! /usr/bin/python3
2 #-*- conding:UTF8 -*-
3 #def函数格式
4  
5 def hello():
6 print(hello,world)
7 hello()
#在CMD命令下执行以上py文件,执行结果如下:
1 D:\Pythonworkspace>python def_示例模板.py
2 hello,world
#需要注意以下几点:
(1)、没有return语句时,函数执行完毕也会返回结果,不过结果为None;
(2)、return None可以简写为return;
(3)、在Python中定义函数时,需保持函数体中同一层级的代码缩进保持一致。
#根据以上示例,是不是一个函数中只能有一条语句呢?除了输出操作,还能执行其他操作吗?
#在一个函数中可以输出多条语句,并能做相应的运算操作,以及输出运算结果。例如,定义输出多条语句的函数并执行。
 1 #! /usr/bin/python3
 2 #-*- conding:UTF8 -*-
 3 #def函数示例模板_1
 4 
 5 
 6 
 7 def printmore():
 8      print(该函数可以输出多条语句,这是第一条;)
 9      print(这是第二条;)
10      print(这是第三条。)
11 printmore() #调用函数
#执行结果如下:
1 =============== RESTART: C:/Users/DL He/Desktop/def_示例模板_1.py ===============
2 该函数可以输出多条语句,这是第一条;
3 这是第二条;
4 这是第三条。
#定义输出数字和计算的函数并执行:
 1 #! /usr/bin/python3
 2 #-*- conding:UTF8 -*-
 3 #def函数示例模板_2
 4 
 5 def mixoperation():
 6     a=10
 7     b=20
 8     print(a)
 9     print(b)
10     print(a+b)
11     print(a+b的和等于:,a+b)
12 mixoperation()
#执行结果如下:
1 =============== RESTART: C:/Users/DL He/Desktop/def_示例模板_2.py ===============
2 10
3 20
4 30
5 a+b的和等于: 30
#以上示例验证了前面的内容。
#如果想定义一个什么都不做的空函数,可以用pass语句,定义如下函数并执行:
1 #! /usr/bin/python3
2 #-*- conding:UTF8 -*-
3 #def函数示例模板_3
4 
5 def donothing():
6     pass
7 donothing()
#执行结果如下:
1 =============== RESTART: C:/Users/DL He/Desktop/def_示例模板_3.py ===============
2 >>> 
#执行结果为没有任何输出。
#pass语句什么都没有做,有什么用呢?实际上pass可以作为占位符,比如现在还没想好怎么写函数的代码,可以先放一个pass,让代码能运行起来。
#函数的目的是把一些复杂操作隐藏起来,用于简化程序的结构,是程序更容易阅读。函数在调用前必须先定义。

以上是关于定义函数的主要内容,如果未能解决你的问题,请参考以下文章

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

2C++ 的升级

inline内联函数

nodejs常用代码片段

VSCode自定义代码片段——CSS选择器

仅在一个片段中隐藏状态栏并在其他片段中显示