!python形参必须等于实参名字?求解
以下两张图分别为functions文件中的函数,以及主函数中的调用,为正常运行:
但是当我改动了functions文件中的形参后,却出现了这样的错误
你把形参名字从ship改成了ships,可是函数里使用的还是ship,没改呀
这跟外面传什么名字没有关系,你函数里面形参和取值要一致呀
场景:wimdos下的python.用的模块库为 func_timeout
cmd下 pip install func_timeout
但如果用pycharm去寻找的话名字为func-timeout
下面贴代码:
from func_timeout import func_set_timeout, FunctionTimedOut
import time
@func_set_timeout(2.5)
def runrr():
try:
x
time.sleep(3)
except:
y
else:
k
if __name__ == '__main__':
try:
runrr()
except FunctionTimedOut as e:
l
#x做一个操作。
#y有异常则执行y
#k没异常则执行x
#l,当执行的函数超时时,则执行l
上面函数执行l,必定超时。
异常处理+时间定时的记录和学习。有遗漏或者有问题的地方,请指教。
回答:
在Python中,函数的形参和实参名字可以不一样,这一点和其他编程语言一样。当修改了函数文件中的形参后,在主函数调用时出现错误,除了参数名字外,还需要考虑参数个数、参数类型、参数顺序等因素是否匹配。
如果想简化函数的使用、减少参数输入,可以使用偏函数功能。可以使用Python自带的functools模块的partial类来创建偏函数,通过指定函数的某个参数,为某个固定的值来创建新的函数。偏函数可以通过默认参数值来简化函数的使用,比较适合在函数的某些参数大部分场景下是一个固定的值的情况下使用。
要打印输出函数的运算时间,可以使用Python的装饰器功能。通过装饰器来计算归时,可以避免修改函数代码。使用time模块来辅助计算函数运算时间,从而实现装饰器。
给定一个字符串,可以使用in运算符或者find方法来判断指定的子字符串是否存在于该字符串中。如果存在,即返回存在信息;如果不存在,即返回不存在信息。