资源描述:
《Python 函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、---Python函数1.函数简介函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print();也可以自己创建函数,这被叫做用户自定义函数。2.函数定义规则:函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明。函数内容以冒号起始,并且缩进。return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。语法:1d
2、effunctionname(parameters):----2"函数_文档字符串"3function_suite4return[expression]默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。实例:以下为一个简单的Python函数,它将一个字符串作为传入参数,再打印到标准显示设备上。1defprintme(str):2"打印传入的字符串到标准显示设备上"3printstr4return3.函数调用定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。如下
3、实例调用了printme()函数:复制代码----1#!/usr/bin/envpython2#-*-coding:UTF-8-*-345#定义函数6defprintme(str):7"打印任何传入的字符串"8print(str)9return1011#调用函数12printme("我要调用用户自定义函数!")13printme("再次调用同一函数")复制代码输出结果:1我要调用用户自定义函数!2再次调用同一函数4.按值传递参数和按引用传递参数所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。例如:复制代码1#
4、!/usr/bin/envpython----2#-*-coding:UTF-8-*-345#可写函数说明6defchangeme(mylist):7"修改传入的列表"8mylist.append([1,2,3,4])9print("函数内取值:",mylist)10return1112#调用changeme函数13mylist=[10,20,30]14changeme(mylist)15print("函数外取值:",mylist)复制代码输出结果:1函数内取值:[10,20,30,[1,2,3,4]]2函数外取值:[10,20,30,[1,2,3,4]]传入函数的和在末尾添加新内容的
5、对象用的是同一个引用。5.参数以下是调用函数时可使用的正式参数类型:必备参数----关键字参数默认参数不定长参数必备参数必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用printme()函数,你必须传入一个参数,不然会出现语法错误:复制代码1#!/usr/bin/envpython2#-*-coding:UTF-8-*-34#可写函数说明5defprintme(str):6"打印任何传入的字符串"7print(str)8return910#调用printme函数11printme()复制代码输出结果:----1Traceback(mostrecentcalllast
6、):2File"D:/PycharmProjects/S15/day04/test.py",line11,in3printmewww.baiyuewang.net()4TypeError:printme()missing1requiredpositionalargument:'str'关键字参数关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。以下实例在函数printme()调用时使用参数名:复制代码1#!/usr/bin/envpython2#-*
7、-coding:UTF-8-*-345#可写函数说明6defprintme(str):7"打印任何传入的字符串"----8print(str)9return101112#调用printme函数13printme(str="Mystring");复制代码输出结果:1Mystring下例能将关键字参数顺序不重要展示得更清楚:复制代码1#!/usr/bin/envpython2#-*-coding:UTF-8-*-345#可写函数说明6defprin