python编程小问题,求问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编程小问题,求问相关的知识,希望对你有一定的参考价值。
教材是这样说的,为什么我运行的时候会提示function没有定义?
>>> instance.method=function
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
instance.method=function
NameError: name 'function' is not defined
左边的function函数是在class类外面的,你右边的function函数在class类里面,所以会找不到function,把def function()前缩进去掉就行了。
Function,表示子例程的一般性名词。在某些编程语言中,它指带返回值的子例程或语句。在一些编程语言中起着关键字的作用。在Python中,function是非常重要而且常见的,一般获取类或函数的参数信息。
参考技术A 左边的function函数是在class类外面的,你右边的function函数在class类里面,所以会找不到function追问那如何写到外面?
追答把def function()前缩进去掉就行了
本回答被提问者采纳求问maximum recursion depth exceeded怎么解决
报错提示:超过最大递归深度。
解决办法:可以修改递归深度的值,让它变大大一点。
递归是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。使用递归解决问题,思路清晰,代码少。
扩展资料:
递归,就是在运行的过程中调用自己。
构成递归需具备的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
在数学和计算机科学中,递归指由一种(或多种)简单的基本情况定义的一类对象或方法,并规定其他所有情况都能被还原为其基本情况。
参考资料:递归-百度百科
参考技术A 你好。根据你的描述:
递归深度不够,直接设置递归深度大点
sys.setrecursionlimit(1500) 参考技术B 这段时间用Python写了一个爬冲脚本,在抓取页面采用广度优先遍历抓取。但是当遍历到900多时就会出现莫名其妙的错误,通过pdb调试发现是:
RuntimeError: maximum recursion depth exceeded
在网上查了,发现python默认的递归深度是很有限的,大概是900多的样子,当递归深度超过这个值的时候,就会引发这样的一个异常。
解决的方式是手工设置递归调用深度,方式为
import sys
sys.setrecursionlimit(1000000) #例如这里设置为一百万本回答被提问者和网友采纳
以上是关于python编程小问题,求问的主要内容,如果未能解决你的问题,请参考以下文章