成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何為 Python 基本類型自定義方法?

開發 后端
我們知道,字符串str、整型int、浮點數float是 Python 的三大基本數據類型。

 我們知道,字符串str、整型int、浮點數float是 Python 的三大基本數據類型。

[[347272]]

我們也知道,在 Python 里面,一切都是對象,而對象一般有方法。所以,大家會看到下面這種寫法:

 

  1. a = 'abcde' 
  2. b = a.upper() 
  3. print(b) 

其中的.upper()就是把字母轉成大寫的方法。

我們在寫自己的類時,常常會定義很多的方法。那么,當字符串自帶的方法不夠時,我們是否有辦法自定義一些方法呢?

比如說,我想要一個方法叫做.are_you_short(),如果字符串的長度小于5,返回 True,字符串的長度大于等于5,返回 False。

我雖然可以單獨定義一個類來做這件事情:

 

  1. class MyStr: 
  2.     def __init__(self, value): 
  3.         self.value = value 
  4.  
  5.     def are_you_short(self): 
  6.         return len(self.value) < 5 

運行效果如下圖所示:

 

但問題是,現在根據MyStr類初始化的對象,它看起來完全不像一個字符串。它只是一個普通的對象了。大家對比一下普通字符串的行為和這個MyStr對象的行為:

 

MyStr對象,不僅打印不出內容,而且還不能通過加號進行拼接。

看到這里,可能有同學會認為我要講魔術方法了。例如給MyStr實現.__str__()方法,就能打印出內容;實現.__add__()方法,就可以實現用加號拼接。

但等等,哪里需要這么麻煩?一般有這種想法的同學,是剛剛學完 Python 的魔術方法,覺得什么事情都可以用魔術方法來解決。

但實際上,要實現字符串的所有方法非常簡單!

東西學得越多,就越容易把最簡單的知識給忘記了。想想是不是還有一個東西叫做繼承?

我們修改一下MyStr的定義:

 

  1. class MyStr(str): 
  2.     def are_you_short(self): 
  3.         return len(self) < 5 

運行效果如下圖所示:

 

不需要手動實現任何的魔術方法,直接就能擁有字符串的全部能力。

大家也可以對 int、float甚至是列表、字典試一試,來實現自己的數據類型。

需要注意的是,在繼承 Python 的數據類型時不要手動寫出__init__()方法,除非你知道你在干什么。

責任編輯:華軒 來源: 未聞Code
相關推薦

2021-01-21 07:35:40

JenkinsUICSS

2010-01-15 15:26:46

VB.NET自定義類型

2010-03-05 10:04:38

Python運算符

2020-03-28 16:04:26

數據科學Matplotlib圖表

2020-11-19 10:50:43

ImportPython代碼

2013-06-27 11:10:01

iOS開發自定義UISlider

2009-12-23 14:49:46

WPF面板

2013-05-02 14:08:18

2017-02-17 09:37:12

Android自定義控件方法總結

2024-03-04 11:13:29

Django數據庫Python

2010-02-07 14:02:16

Android 界面

2009-07-21 09:31:00

Scala基本類型文本

2009-12-24 15:22:10

WPF繼承自定義窗口

2023-10-31 09:10:39

2009-08-12 14:53:50

C#類型轉換函數

2009-10-16 13:08:40

VB自定義類型參數

2019-09-02 09:48:39

Redis數據結構對象

2009-09-07 22:00:15

LINQ自定義

2022-01-14 09:17:13

PythonAPISIX插件

2015-02-12 15:33:43

微信SDK
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久草在线视频 | 国产精品96久久久久久 | 自拍 亚洲 欧美 老师 丝袜 | 国产成人免费视频网站视频社区 | 日韩免费一区二区 | 91xx在线观看 | 日本三级电影在线看 | 国产成人精品av | 日韩一区二区在线免费观看 | 亚洲自拍偷拍免费视频 | 久久久久久久久久久高潮一区二区 | www.色综合 | 午夜影院在线观看 | 亚洲一区二区三区四区在线观看 | 欧产日产国产精品视频 | 国产成人精品高清久久 | 精品不卡| 日韩欧美亚洲一区 | 超碰最新在线 | 欧美xxxx网站| 国产成人精品一区二区三区在线 | 中文字幕精品一区二区三区精品 | 精品天堂| 成人毛片视频免费 | 欧美区在线 | 久久久久久国产精品 | 国产福利精品一区 | 亚洲成人网在线观看 | 国产 欧美 日韩 一区 | 午夜播放器在线观看 | 欧美不卡一区二区 | 精品国产久 | 精品亚洲一区二区三区 | 久久久无码精品亚洲日韩按摩 | 精品久久久久久久久久久下田 | 岛国毛片在线观看 | 国产精品免费一区二区 | 欧美精品电影一区 | 日韩一区在线视频 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 91精品国产综合久久久久久丝袜 |