讲这节之前,其实大家已经接触过函数了,例如前文介绍的Python内置函数print()、type()、range()函数等。函数就是一段实现某种功能且可重复使用的代码块。函数分类:自定义函数、内置(自带)函数。
函数的优点就是能提高应用的模块性和代码的重复利用率。
函数:
1.函数代码块以 def 关键词开头
2.任何传入参数和自变量必须放在圆括号中
3.函数体内容以冒号 : 起始,并且缩进
4.return [表达式] 结束函数; 不带表达式的 return 相当于返回 None。
def 函数名(参数列表):
函数体
return 表达式
不定长参数
def functionname([formal_args,] *var_args_tuple ):
"函数_文档字符串"
function_suite
return [expression]
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def minimum(*vartuple):
return vartuple
print(minimum(10, 20))
>>(10, 20)
def functionname([formal_args,] **var_args_dict ):
"函数_文档字符串"
function_suite
return [expression]
加了两个星号 ** 的参数会以字典的形式导入。
# 可写函数说明
def printinfo(**vardict):
# 打印任何传入的参数
print("输出: ")
print(vardict)
# 调用printinfo 函数
printinfo(a=2, b=3)
>> {'a': 2, 'b': 3}
定义一个函数就是为了调用这个函数,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。
def maximum(a, b):
if a > b:
return a
else:
return b
# maximum被maxm函数调用
def maxm(a, b):
return maximum(a, b)
也就是Python自带函数,无需自定义创建,拿来即用的函数。
内置函数 | ||||
---|---|---|---|---|
abs() | dict() | help() | min() | setattr() |
all() | dir() | hex() | next() | slice() |
any() | divmod() | id() | object() | sorted() |
ascii() | enumerate() | input() | oct() | staticmethod() |
bin() | eval() | int() | open() | str() |
bool() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | __import__() |
complex() | hasattr() | max() | round() | |
delattr() | hash() | memoryview() | set() |
动手做: