猫史档案馆


【雪地游戏工作室】教程贴3 愚人系列 __int__&__float__

用户:TimeLinkForeverTimeLinkForever查看:1 回复:1 评论:1 创建时间:2020-01-19T11:46:05


emotion_编程猫_加油居然还是没人看……emotion_编程猫_紧张还是算了emotion_编程猫_搓头

上一次的链接: https://shequ.codemao.cn/community/223526

但我还是要发!

哈哈。

这次咱们好好把import你的module的人好好玩一把。

介绍的是2个class_method(类方法)。

__int__ __float__

有啥用的?

比如这里新建一个RNumber类创建有理数,用p/q表示有理数(Rational Number)

有理数:

有理数是整数(正整数、0、负整数)和分数的统称,是整数和分数的集合。

【来自百度百科】

也就是说,有理数除了0都可以表示为分数。

所以我们使用p/q来表示有理数。

0的话则用try,except来决定

可以看看代码:

class Rnumber:
    def __init__(self,p,q):
        try:
            self.number = p/q
        except ZeroDivisionError:
            self.number = 0

这段代码展示了RNumber类。

如果除数q不是0,则Rnumber的属性(attribute)number为p/q

否则就把number设置为0.

这是,我们就要用到我们刚刚说到的__int__和__float__啦。

接下来,我们要让类生产出来的数可以int和float.

张家老婆婆:说好的愚人呢???

李家老爷爷:对呀对呀!!!!

别急别急一会就说!"*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。"

class Rnumber:
    def __init__(self,p,q):
        try:
            self.number = p/q
        except ZeroDivisionError:
            self.number = 0
    def __int__(self):
        return int(self.number)
a=Rnumber(3,2)
print(int(a))
#这行会返回1
b=Rnumber(3,0)
print(b.number)
#这行会返回0

至于__float__用法差不多,就是在使用float()时返回__float__中的内容。

接下来,就是大家所期待的愚人环节!

class Rnumber:
    def __init__(self,p,q):
        try:
            self.number = p/q
        except ZeroDivisionError:
            self.number = 0
    def __int__(self):
        return 233
a=Rnumber(3,2)
print(int(a))
#这行会返回233
b=Rnumber(3,0)
print(b.number)
#这行会返回0

其实也就那样了。不过用在表达……

class Rnumber:
    def __init__(self,p,q):
        try:
            self.number = p/q
        except ZeroDivisionError:
            self.number = 0
    def __int__(self):
        return 14524
a=Rnumber(3,2)
print(int(a))
#这行会返回1 4 5 2 4
b=Rnumber(3,0)
print(b.number)
#这行会返回0

小测试:

请用__float__给以下代码的Rnumber类设置__float__.

答对前1名将可以指定下期题目哦!emotion_编程猫_加油emotion_编程猫_加油emotion_编程猫_加油emotion_编程猫_加油emotion_编程猫_加油

#只能在❓处填写
class Rnumber:
    def __init__(self,p,q):
        self.p=p
        self.q=q
    def __float__(self):
        ???
a=Rnumber(1,1)
print float(a)


回复

上一页1 页 / 共 1下一页
面具狐狸云绾兮面具狐狸云绾兮

沙发

点赞0


评论