目录
1.函数
函数的定义
def functionname(parameters):
"函数_文档字符串"
function_suite
return [expression]
-
函数以
def
关键词开头,后接函数名和圆括号()。 -
函数执行的代码以冒号起始,并且缩进。
-
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回
None
。
函数的调用
def printme(str):
print(str)
printme("我要调用用户自定义函数!") # 我要调用用户自定义函数!
printme("再次调用同一函数") # 再次调用同一函数
函数的返回值
【例子1】
def add(a, b):
return a + b
print(add(1, 2)) # 3
print(add([1, 2, 3], [4, 5, 6])) # [1, 2, 3, 4, 5, 6]
【例子2】
def back():
return 1, '小马的程序人生', 3.14
print(back()) # (1, '小马的程序人生', 3.14)
【例子3】
def printme(str):
print(str)
temp = printme('hello') # hello
print(temp) # None
print(type(temp)) # <class 'NoneType'>
说明:此函数的功能是打印字符串,没有返回值。
函数文档及注解
-
在 def 语句后⾯把注释⽂档放在引号(单引、双引、三引都可以)⾥⾯就⾏,这个⽂档可以通过function.doc 访问。
def MyFirstFunction(name): "函数定义过程中name是形参" # 因为Ta只是一个形式,表示占据一个参数位置 print('传递进来的{0}叫做实参,因为Ta是具体的参数值!'.format(name)) MyFirstFunction('it has to word!') # 传递进来的it has to word!叫做实参,因为Ta是具体的参数值! print(MyFirstFunction.__doc__) # 函数定义过程中name是形参 help(MyFirstFunction) # Help on function MyFirstFunction in module __main__: # MyFirstFunction(name) # 函数定义过程中name是形参
-
函数声明中的各个参数可以在:之后增加注解表达式。如果参数有默认值,注解放在参数名和=号之间。如果想注解返回值,在)和函数声明末尾的:之间添加->和⼀个表达式。
Python对注解所做的唯⼀的事情是,把它们存储在函数的 annotations 属性⾥。 仅此⽽已,Python不做检查、不做强制、不做验证,什么操作都不做。换句话说, 注解对Python解释器没有任何意义。注解只是元数
据,可以供IDE、框架和装饰器等⼯具使⽤。
def function(text: str, max_len: 'int > 0' = 80) -> str:
函数参数
Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。从简到繁的参数形态如下:
-
位置参数 (positional argument)
-
默认参数 (default argument)
-
可变参数 (variable argument)
-
关键字参数 (keyword argument)
-
命名关键字参数 (name keyword argument)
-
参数组合
1.位置参数
def functionname(arg1):
"函数文档字符串"
function_suite
return [expression]
arg1
- 位置参数 ,这些参数在调用函数 (call function) 时位置要固定。- Python 允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
【例子】
def printinfo(name, age):
print('Name:{0},Age:{1}'.format(name, age))
printinfo(age=8, name='小马') # Name:小马,Age:8
2.默认参数
def functionname(arg1, arg2=v):
"函数文档字符串