IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 16_python_类运算符——重载(三) -> 正文阅读

[Python知识库]16_python_类运算符——重载(三)

# __init__构造方法
class Car:
    def __init__(self,name,color):
        self.name = name
        self.color = color
    def run(self):
        print('%s is on the road!!!'% car.name)

        
car  = Car('tesila','red')
car.run()
    
tesila is on the road!!!
#重载
class Motor(Car):
        def __init__(self,name,speed):
            Car.__init__(self,name,'black')
            self.speed = speed
            
        def run(self):
            print('%s with %s on the road while with %s km/h!!!'% (self.name,self.color,self.speed))
motor = Motor('ha lei',100)
motor.run()
ha lei with black on the road while with 100 km/h!!!


#__repr__方法
class Hello:
    def __init__(self,words):
        self.words = words
    
        
hello = Hello('hello world!!')
hello
<__main__.Hello at 0x2b6990e8250>
#增加__repr__方法
class Hello:
    def __init__(self,words):
        self.words = words
        
    def __repr__(self):
        return "the word is:%s"% self.words
hello = Hello("hello world")
hello
the word is:hello world

# __setitem__ 和 __getitem__ 方法的使用
class Numbers:
    def __init__(self,value):
        self.value = value
L = Numbers([10,9,8,7,6,5,4,3,2])
L.value
[10, 9, 8, 7, 6, 5, 4, 3, 2]
L[0]
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

~\AppData\Local\Temp/ipykernel_10788/3817280154.py in <module>
----> 1 L[0]


TypeError: 'Numbers' object is not subscriptable
#使用__setitem__ 和 __getitem__ 
class Numbers:
    def __init__(self,value):
        self.value = value
        
    def __getitem__(self,i):
        return self.value[i]
    
    def __setitem__(self, key, value):
        self.value[key] = value
        
L = Numbers([10,9,8,7,6,5,4,3,2])
L[0]
10
L[0] = 100
L[0]
100


#   __len__方法
class words:
    def __init__(self,name):
        self.name = name
    def __len__(self):
        return len(self.name)
w = words("huanle")
len(w)
6
#   当没有__len__方法时候
class words:
    def __init__(self,name):
        self.name = name
w = words("huanle")
len(w)                         #没有__len___方法就会报错
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

~\AppData\Local\Temp/ipykernel_10788/2910865679.py in <module>
----> 1 len(w)


TypeError: object of type 'words' has no len()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:27:16  更:2022-03-10 22:29:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:49:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码