# Python函数是"一等公民",这意味着可以像对待其他任何对象一样对待它们。# 所有的函数都返回值。如果你没有告诉它们该返回什么,将返回None。def func1():"""\文档字符串,文档字符串旨在为函数、类和模块(特别是公共的函数、类和模块)提供文档。可以使用任何字符串字面量作为文档字符串,但标准是只使用三重引号"""print("ok")# 要判断某个对象是否可调用,可使用内置函数callableif callable(func1):func1() # okprint(func1.__doc__) # func 的文档字符串# 在交互式解释器中使用 help() 函数来获取其他函数的信息# >>> help(func)# Help on module func:# NAME# func# FUNCTIONS# func()# func的文档字符串# FILE# e:\mycode\python\func.py# 使用默认参数# 默认参数值只在函数定义时计算一次。使用任何可变的数据类型(如列表)作为可选参数是一件非常危险的事情。def func2(a, b, c=3, d=4):return a + b + c + d# 必须先指定所有的位置参数,再使用关键字参数print(func2(1, 2, 3, 4)) # 10print(func2(1, 2)) # 10# 关键字参数的顺序不重要# 使用关键字参数和默认参数,可以简化函数的调用print(func2(b=1, a=2)) # 10print(func2(b=1, a=2, d=3)) # 9# def func(a, c=3, b, d=4): #异常,默认参数必须在最后# return a+b+c+d# 当 Python 首次处理函数定义时,将计算默认参数值 [1, 1],并在内存中创建一个可变列表[1,1]。# 在进行第一次函数调用时对其进行操作,然后返回。def fibonacci_next(series=[1, 1]):series.append(series[-1] + series[-2])return series# fib1 现在被绑定到与 series 相同的可变值,因此对 fib1 的任何更改都会反映在每次函数调用的默认参数值中。# 最佳实践是不要使用可变值作为默认参数值fib1 = fibonacci_next()print(fib1) # [1, 1, 2]fib1 = fibonacci_next()print(fib1) # [1, 1, 2, 3]# 使用 Node 作为默认值def fibonacci_next2(series=None):if series is None:series = [1, 1]series.append(series[-1] + series[-2])return series
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。