定义函数
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,让代码能运行起来。
#函数的目的是把一些复杂操作隐藏起来,用于简化程序的结构,是程序更容易阅读。函数在调用前必须先定义。
以上是关于定义函数的主要内容,如果未能解决你的问题,请参考以下文章