python3函数

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')

你可能感兴趣的:(python3函数)