1 函数的简介
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
- 函数能提高应用的模块性,和代码的重复利用率。
- python提供了许多内建函数,比如print()。
- 可以自己创建函数,这被叫做用户自定义函数。
2 函数的定义
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- return [表达式]:选择性地返回一个值给调用方,不带表达式的return 相当于返回None。
- return会终止函数的执行,return之后的语句不会执行
2.1 语法
def 函数名(参数): # 参数可以有0~n个
函数体 # 函数体可以有0~n行
return # 返回值,可以有也可以没有
2.2 示例
def printNums(a):
for i in range(1,a):
print(i)
printNums(5)
def numSquare(a):
return a**2
print(numSquare(9))
def printNums():
for i in range(1,11):
print(i)
printNums()
def returnHello():
return 'Hello World!'
print(returnHello()+' python')
def numSize(a,b):
if a>b:
return a
else:
return b
print(numSize(9,8))
def numSize(a,b):
if a>b:
return a,b
else:
return b,a
a,b=numSize(1,3)
print(a,b)
# 单变量接收多返回值,接收的类型是元组
c=numSize(9,3)
print(c)
3 函数的调用
- 定义函数
- 给与函数一个名称,指定了函数里包含的参数和代码块结构。
- 这个函数的基本结构完成以后,可以通过另一个函数调用执行,也可以直接从Python 命令提示符执行。
- 调用函数:
- 示例:
# 定义函数
def printStr(str):
# 打印接收的字符串
print(str)
# 调用函数
printStr('调用自定义函数!')
printStr('再次调用')
3.1 必需参数
- 以正确的顺序传入函数
- 调用时的数量与类型必须匹配
- 示例:
def subStr(str,start):
return str[start:]
print(subStr('hello world',3))
3.2 关键字参数
- 调用函数的时候使用的是键值对的方式,key=values
- 函数调用使用关键字参数来确定传入的参数值
- 使用关键字参数允许函数调用时参数的顺序与声明时不一致
- 示例:
def subStr(str,start):
return str[start:]
print(subStr(start=3,str='hello world'))
3.3 默认参数
def subStr(str,start=0,stop=1):
return str[start:stop]
print(subStr('hello world',3,9))
print(subStr('hello world'))
# 默认参数可以和关键字参数混用
print(subStr('hello world',stop=3))
3.4 不定长参数
- 定义函数时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。
- 加了星号 * 的参数会以元组(tuple)的形式导入
def subStr(*args):
for i in args:
print(i)
subStr(1,2,3,4)
def subStr(**kwargs):
for i in kwargs:
print(i)
subStr(name='python',age=25)
- 不定长参数可以和其它参数混用,但必须是最后一个参数
def subStr(name,*args):
print(name,type(name))
print(args,type(args))
subStr('不定长参数',1,2,3,'aaa')