一、Python函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
面向对象:对函数进行分类和封装,让开发“更快更好更强...”
注:函数式编程最重要的是增强代码的重用性和可读性
二、定义一个函数
1、你可以定义一个由自己想要功能的函数,以下是简单的规则:
①、函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
②、任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
③、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
④、函数内容以冒号起始,并且缩进。
⑤、Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
2、语法
1 2 3 4 | def functionname( parameters ): "函数_文档字符串" function_suite return [expression] |
默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
3、实例
1 2 3 4 | def printme(): name = 'hetan' print (name) return |
三、函数调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
如下实例调用了printme()函数:
1 2 3 4 5 6 7 | def printme(): name = 'hetan' print (name) return printme() f = printme f() |
注:函数名也可以赋值,赋值后的变量也可以用词函数
四、函数的参数
以下是调用函数时可使用的正式参数类型:
①、必备参数
②、命名参数
③、缺省参数
④、不定长参数
1、必备参数
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
1 2 3 4 5 | def printme(name): name = name print (name) return printme( 'hetan' ) |
调用printme()函数,你必须传入一个参数,不然会出现语法错误:
1 2 3 4 | def printme(name): print (name) return printme() |
2、命名参数
命名参数和函数调用关系紧密,调用方用参数的命名确定传入的参数值。你可以跳过不传的参数或者乱序传参,因为Python解释器能够用参数名匹配参数值。用命名参数调用printme()函数:
1 2 3 4 | def printme(name,age): print (name,age) return printme(age = 25 ,name = 'hetan' ) |
3、缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:
1 2 3 4 5 | def printme(name,age = 25 ): print (name,age) return printme(age = 35 ,name = 'hetan' ) printme(name = 'hetan' ) |
4、不定长参数
①、序列
1 2 3 | def show( * args): print (args) show( 11 , 12 , 13 ) |
②、字典
1 2 3 | def show1( * * kwargs): print (kwargs) show1(n1 = 12 ,n2 = 13 ) |