首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python类和模块

Python类和模块
EN

Stack Overflow用户
提问于 2014-04-11 16:41:36
回答 1查看 61关注 0票数 1

我正在自学Python,并且遇到了类和模块的障碍。下面的代码是您可能永远不会写的东西,但是我只想了解我的错误。

代码语言:javascript
运行
复制
import random

class GetRandom:
    def __init__(self):
        self.data = ""

    def ranNumber():
        return random.random()

b = GetRandom()
bnum = b.ranNumber
print bnum

我得到的输出是:

代码语言:javascript
运行
复制
<bound method GetRandom.ranNumber of <__main__.GetRandom instance at 0x7fe87818df38>>

我原以为是0到1之间的随机数。我做错什么了?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 16:42:41

这里有两个问题:

  1. 您忘了实际调用GetRandom.ranNumber。在其后面添加()以完成以下操作: bnum = b.ranNumber()
  2. 您需要使GetRandom.ranNumber接受在调用该方法时隐式传递的self参数: def ranNumber(self):返回random.random()

一旦您解决了这些问题,代码就会像预期的那样工作:

代码语言:javascript
运行
复制
>>> import random
>>> class GetRandom:
...     def __init__(self):
...         self.data = ""
...     def ranNumber(self):
...         return random.random()
...
>>> b = GetRandom()
>>> bnum = b.ranNumber()
>>> print bnum
0.819458844177
>>>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23018157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档