美文网首页
python魔法方法的操作

python魔法方法的操作

作者: He | 来源:发表于2018-08-02 20:23 被阅读0次
    image.png

    今天是学习python的第十九天,怎么说呢,感觉还挺不错,以前虽然接触过一些其他的编程语言,但是不是太深入,这也算是我第一次较深入的接触编程语言。今天我们上午讲的是一些魔法方法的操作,比如:

    (1)常见魔法属性和方法
    输出
    __str__():输出当前对象 在内存中的地址 十六进制表示字符串!
    __repr__(): 用于在交互模式下,直接操作变量时~获取变量数据的定义!
    
    比较
    __gt__():grant than大于
    __lt__(): less than小于
    __ge__(): grant or equals大于或者等于
    __le__(): less or equals小于或者等于
    __ne__(): not equals 不等于
    __eq__(): equals 等于
    
    运算
    __add__():加法
    __sub__():减法
    __mul__():乘法
    __truediv__():除法
    __floordiv__():整除
    

    在剔除集合里面的重复的数据的时候,要hash()和eq()两个方法一起使用
    下面就列出今天练习的一个例子:

    # coding:utf-8
    class User:
        def __init__(self, name, passwd, nick):
            self.name = name
            self.passwd = passwd
            self.nick = nick
    
        def __hash__(self):
            return self.name.__hash__()
    
        def __eq__(self, other):
            if self.name == other.name:
                return True
            return False
    
        def __str__(self):
            return self.name + ";" + self.nick
    
        def __repr__(self):
            return self.name + ";" + self.nick
    
    u1 = User("tom", "123", "汤姆")
    u2 = User("jerry", "123123123", "杰瑞")
    u3 = User("shuke", "123", "舒克")
    u4 = User("jerry", "123", "假杰瑞")
    u5 = User("tom", "123", "假汤姆")
    
    
    u = set()
    print(u)
    u.add(u1)
    print(u)
    u.add(u2)
    print(u)
    u.add(u3)
    print(u)
    u.add(u4)
    print(u)
    u.add(u5)
    print(u)
    

    然后今天还有一个练习就是将列表里的数据剔重:

    a = [1,2,3,4,5,6,7,3,45,6,7,7,5]
    a = set(a)
    a = list(a)
    print(a)
    

    相关文章

      网友评论

          本文标题:python魔法方法的操作

          本文链接:https://www.haomeiwen.com/subject/aegsvftx.html