python魔法方法的操作

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 3.0第3次周检视会议 时间:周日早上 6:00~7:00 地点:云之家小组群 人员:全体组员 1.主持人开场及介...
    戴戴005阅读 583评论 0 0
  • 一、什么是javascript javascript是一种运行于js解释器中的脚本语言 javascript与ht...
    YTF1214阅读 201评论 0 0
  • 穿上人的衣裳 /我 /忘却了自己 /黃昏彩色的天空 /我以为是淸晨 /天际远方的飞鸟 /我以为是你 /曾经的曾经 ...
    润崴阅读 980评论 0 0
  • 最近发现Safari里打开iTunesConnect不能显示登录界面,查看源码发现有提示401授权错误,猜想可能是...
    千若逸阅读 4,025评论 0 0
  • 在开始所有之前,先确定已经完成了上一篇文章的内容。 EOS开发入门1 -- EOS环境搭建 并且保证nodeos在...
    luohuayong阅读 1,351评论 0 2