1 Star 0 Fork 1

aliao/stdpython

forked from pish7/stdpython 
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
func.01.py 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
pish7 提交于 2025-12-13 17:06 +08:00 . function
# Python函数是“一等公民”,这意味着可以像对待其他任何对象一样对待它们。
# 所有的函数都返回值。如果你没有告诉它们该返回什么,将返回None。
def func1():
"""\
文档字符串,文档字符串旨在为函数、类和模块(特别是公共的函数、类和模块)提供文档。
可以使用任何字符串字面量作为文档字符串,但标准是只使用三重引号
"""
print("ok")
# 要判断某个对象是否可调用,可使用内置函数callable
if callable(func1):
func1() # ok
print(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)) # 10
print(func2(1, 2)) # 10
# 关键字参数的顺序不重要
# 使用关键字参数和默认参数,可以简化函数的调用
print(func2(b=1, a=2)) # 10
print(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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/aliaodc/stdpython.git
git@gitee.com:aliaodc/stdpython.git
aliaodc
stdpython
stdpython
master

搜索帮助