每日一python(2):__str__和__repr__的區別
直接上程式碼
>>> class A:
--- def __str__(self):
--- return "這是一個字串 + 1"
--- def __repr__(self):
--- return "這是一個字串 + 2"
>>> a = A()
>>> a
這是一個字串 + 2
>>> print(a)
這是一個字串 + 1
結論:
1、當我們列印例項物件的時候,會呼叫__str__方法;該方法主要用於對使用者進行輸出展示
2、當我們呼叫例項物件的時候,會呼叫__repr__方法;該方法主要用於程式設計師自己除錯觀測
3、這兩個方法的返回值都必須是字串型別
相關推薦
每日一python(2):__str__和__repr__的區別
直接上程式碼 >>> class A: --- def __str__(self): --- return "這是一個字串 + 1" --- def __repr__(self): --- return "這是一個字串 + 2" >>
每日一python(11):python中下劃線的意義
文章目錄 1 單下劃線(_) 1.1 在直譯器中 1.2 作為名稱使用 2 變數中的下劃線 2.1 單下劃線開頭的變數(_XXX) 2.2 雙下劃線開頭的變數(__XXX)
每日一python(10): 函式
文章目錄 1 函式的定義和呼叫 2 函式引數傳遞 3 函式的引數 3.1 位置引數 3.2 預設引數 3.3 可變引數 3.4 關鍵字引數 3.5 命名關鍵字引數
每日一python(9):基礎資料結構 ---- 元組
Tuple是Python內建的另一種資料型別,元組。Tuple也是一種有序的集合,tuple和list非常類似,但是tuple一旦初始化就不能修改。 比如:同樣是列出同學的名字,如下: >>> classmates = ('Bob', 'Tract', 'Jac
每日一python(8):基礎資料結構----列表
List(列表)是Python內建的一種資料型別。List是一種有序的集合,可以隨時新增和刪除其中的元素。 比如,列出班裡所有同學的名字,就可以用一個list表示: >>> classmates = ['Bob', 'tracy', 'Jack', 'Judy'
每日一python(7):基礎資料結構----字串
1、索引 例1: >>> s = "apple" >>> s[0] 'a' >>> s[1] 'p' >>> s[2] 'p' >>> s[3] 'l' >>> s[4]
每日一python(6):dict的常見操作方法
首先,我們定義一個字典,如下: dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} 注意: 每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。 鍵必須獨一無二,但值則不必。
每日一python(5):json模組中的相關方法介紹
1、json.dumps()和json.loads()函式 說明: json.dumps()函式是將一個Python資料型別進行json格式的編碼(簡單理解,json.dumps()函式是將字典轉化為字串) json.loads()函式是將json格式資料轉換為字典
每日一python(4):python對字典按key排序和按value排序
1、首先介紹一下字典的基本用法 d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 } print(d.keys()) print(d.values()) print(d.items()) sum = 0 for
每日一python(3):python 中對list去重的兩種方法
在python相關職位的面試過程中,會對列表list的去重進行考察。(注意有時會要求保證去重的順序性) 方法1:直觀方法 思路:先建立一個新的空列表,通過遍歷原來的列表,再利用邏輯關係not in 來去重 程式碼: #coding:utf-8 ll = [
Java面試題,每日一總結(2)
1.字串String和StringBuilder 、StringBuffer的區別?StringBuilder和StringBuffer的區別? 分析:java提供了String和StringBuilder 、StringBuffer三種表示和操作字串的類。字串就是有多個字
新手學python(2):C語言呼叫完成資料庫操作
繼續介紹本人的python學習過程。本節介紹如何利用python呼叫c程式碼。內容還是基於音樂資訊提取的過程,架構如圖一。Python呼叫c實現的功能是利用python訪問c語言完成mysql資料庫操作。 在利用python呼叫c語言之前,我們需要首先完成c語言功能程式
每日一篇(4):Qt鍵盤響應事件之Enter和Escape
//安裝事件過濾器: m_ui->closeBtn->installEventFilter(this); m_ui->btnOk->installEvent
小白學 Python(2):基礎資料型別(上)
人生苦短,我選Python 引言 前文傳送門 小白學 Python(1):開篇 接觸一門新的語言,肯定要先了解它的基礎資料型別。啥?你問我為啥要先了解基礎資料型別? 為了你的生命安全,還是乖乖聽我 BB 吧,別想那些有的沒的。 Python 擁有著很多的基礎資料型別,那麼,什麼是資料型別呢? 開啟
springBoot(2):Properties和YAML配置文件
springboot springboot的properties和yaml配置文件 一、配置文件的生效順序,會對值進行覆蓋1. @TestPropertySource 註解2. 命令行參數3. Java系統屬性(System.getProperties())4. 操作系統環境變量5. 只有在rando
《Linux學習並不難》Linux字符界面(2):關閉和重啟Linux系統之shutdown命令
Linux shutdown 關機 3.2 《Linux學習並不難》Linux字符界面(2):關閉和重啟Linux系統之shutdown命令shutdown命令可以安全地關閉或重啟Linux系統,有些用戶會使用直接斷掉電源的方式來關閉計算機,這是十分危險的。Linux系統與Windows不同,其
pyspider 爬蟲教程(2):AJAX 和 HTTP
AJAX AJAX 是 Asynchronous JavaScript and XML(非同步的 JavaScript 和 XML)的縮寫。AJAX 通過使用原有的 web 標準組件,實現了在不重新載入整個頁面的情況下,與伺服器進行資料互動。例如在新浪微博中,你可以展開一條
Java網路程式設計(2):TCP和UDP
1、多執行緒“服務端-客戶端” TCP客戶端使用Socket來連線伺服器和與伺服器通訊。以下為在主執行緒中將使用者輸入傳送給服務端,在建立的執行緒中將服務端發回的資料輸出來: import java.net.*; import java.io.*; class Cl
KVM 介紹(2):CPU 和記憶體虛擬化
學習 KVM 的系列文章: 1. 為什麼需要 CPU 虛擬化 X86 作業系統是設計在直接執行在裸硬體裝置上的,因此它們自動認為它們完全佔有計算機硬體。x86 架構提供四個特權級別給作業系統和應用程式來訪問硬體。 Ring 是指 CPU 的執行級別,Ring 0是最高級別,Ring1次之,Ring2更
Linux套接字與虛擬檔案系統(2):操作和銷燬
接上篇初始化與建立,本篇闡述Socket操作和銷燬兩部分的實現。 Socket操作 系統呼叫read(v)、write(v)是使用者空間讀寫socket的一種方法,為了弄清楚它們是怎麼通過VFS將請求轉發到特定協議的實現,下面以read為例(write同理),並假定檔案描述