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编程小问题,求问的主要内容,如果未能解决你的问题,请参考以下文章

几段小代码解释Python命令式编程和函数式编程

hadoop streaming编程小demo(python版)

Python之面向对象编程

python网络编程小知识点

python 网络编程的一些基础小知识

(python)编程小练习