python-01:python中各數據類型的操作

来源:http://www.cnblogs.com/mayesheng/archive/2016/01/21/5149394.html
-Advertisement-
Play Games

常用操作: 整型類型操作: 1、相加__add__(),比如我有兩個變數a=19,b=20,那麼我想通過a調用此函數來與b相加,可以這樣做1 >>> a=192 >>> b=203 >>> c=-194 >>> d=a.__add__(b)5 >>> print d6 39也可以直接相加1 >>>....



常用操作:
整型類型操作:
1、相加__add__(),比如我有兩個變數a=19,b=20,那麼我想通過a調用此函數來與b相加,可以這樣做

1 >>> a=19
2 >>> b=20
3 >>> c=-19
4 >>> d=a.__add__(b)
5 >>> print d
6 39

也可以直接相加

1 >>> a=19
2 >>> b=20
3 >>> c=-19
4 >>> d=a.__add__(b)
5 >>> print d
6 39

 

2、判斷是否相等,__eq__(),如果相等返回True,如果不相等返回False

1 >>> result = a.__eq__(b)
2 >>> print result
3 False


3、相除,相除有除法,第一__floordiv__(),第二種__divmod__()(或者divmod()),首先介紹第一種floordiv
floordiv這個函數的作用就是取商

1 >>> d=a.__floordiv__(b)
2 >>> print d
3 0
4 >>> d=b.__floordiv__(a)
5 >>> print d
6 1

 


從上面的結果看,a除以b商0,所以結果就是0,b除以a商1,結果就是1,下麵介紹一下divmod函數的作用,divmod函數的作用是取表達式的商和餘數,以元組的形式存在,實現方法有兩種
第一種:

1 >>> d=a.__divmod__(b)
2 >>> print d
3 (0, 19)
4 >>> d=b.__divmod__(a)
5 >>> print d
6 (1, 1)

 

第二種:

1 >>> d=divmod(a,b)
2 >>> print d
3 (0, 19)

 

4、取絕對值,__abs__()(或者abs()),同上有兩種函數實現

1 >>> d=abs(c)
2 >>> print d
3 19
4 >>> d=c.__abs__()
5 >>> print d
6 19

 

二、字元串類型操作:

1、type()函數,type函數的作用就是顯示對象的類型 。

1 >>> name = 'xiaoma'
2 >>> print(type(name))
3 <type 'str'>
4 >>> print(type(a))
5 <type 'int'>

 

2、dir()函數,不帶參數的時候返回當前範圍內的變數、方法和定義的類型列表;帶參數是,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用,如果參數不含,該方法將最大限度的收集參數信息。
3、vars()函數,本函數是實現返回對象object的屬性和屬性值的字典對象。如果預設不輸入參數,就列印當前調用位置的屬性和屬性值,相當於locals()的功能。如果有參數輸入,就只列印這個參數相應的屬性和屬性值。

4、__contains__()函數,這個函數是用來判斷給定的字元串是否包含在另一字元串中,如果包含,則返回True,如果不包含,則返回False,下麵的例子就是xiaoma這個字元串是否包含xiao這個字元串

1 >>> a='xiaoma'
2 >>> b='xiao'
3 >>> print(a.__contains__(b))
4 True
5 或者
6 >>> print(a.__contains__('xiao'))
7 True


5、__eq__()函數,這個函數用來判斷兩個字元創是否相同

1 >>> print(a.__eq__(b))
2 False
3 或者
4 >>> print(a.__eq__('xiao'))
5 False

 

6、__getitem__()函數,提取出字元串的第幾個字元

1 >>> print(a.__getitem__(0))
2 x
3 >>> print(a.__getitem__(1))
4 i
5 >>> print(a.__getitem__(2))
6 a
7 >>> print(a.__getitem__(3))
8 o

 

7、count()函數,這個函數是用來計算字元串中所包含的另一字元或者字元串的個數

1 >>> print(a.count('a'))
2 2
3 >>> print(a.count('xiao'))
4 1

也就是說我的a='xiaoma',xiaoma這個字元串中有2個a字元,有一個'xiao'的字元串


8、endswith()函數,這個函數用來判斷一個字元串是否以某個字元或者字元串結尾的,或者判斷字元串中的某一段是否以某個字元串或者字元結尾,是返回True,不是則返回False。

1 >>> print(a.endswith('a'))
2 True
3 >>> print(a.endswith('m'))
4 False
5 >>> print(a.endswith('ma'))
6 True
7 >>> print(a.endswith('ma',3,4)) #判斷第4-5個字元是否已ma結尾
8 False

 

9、expandtabs()函數,這個函數的作用是把tab換成空格,預設是8個空格

1 >>> a='xiao\tma'
2 >>> print(a)
3 xiao    ma
4 >>> print(a.expandtabs(20))
5 xiao ma

 

10、find()函數,作用是判斷某個字元串或字元在某個字元串中的位置,如果給點的字元或字元串不在當前的字元串當中,則返回-1

1 >>> a='xiaoma'
2 >>> print(a.find('m'))
3 4
4 >>> print(a.find('ma'))
5 >>> print(a.find('ife'))
6 -1

 

11、index()函數,作用是查看某個字元在字元串中的位置,如果給定的字元不在字元串中會報錯

1 >>> print(a.index('m'))
2 4

 

12、len()函數,作用是顯示當前字元串的長度

1 >>> print(len(a))
2 6

 

13、rstrip()函數,作用是去掉字元串右邊的多餘的空格

1 >>> a=' xiaoma '          #兩邊各有4個空格
2 >>> print(a.rstrip())    
3 xiaoma            #因為後面的空格看不出來,那麼就用上面的len看一下長度
4 >>> print(len(a))
5 14
6 >>> print(len(a.rstrip()))
7 10            #沒有去掉空格之前是14個字元,去掉後是10個字元

 

14、lstrip(),去掉左邊的空格,不多做介紹
15、replace()函數,將當前字元串中的字元或字元串替換成另一字元或字元串

1 >>> a='aaaaaaaaaa'
2 >>> print(a.replace('a','b'))    #預設替換全部
3 bbbbbbbbbb
4 >>> print(a.replace('a','b',2))    #這個2的意思是替換兩個
5 bbaaaaaaaa
6 >>> print(a.replace('a','xxx',2))
7 xxxxxxaaaaaaaa

 

16、split()函數,作用是以給定的字元為分隔符,將當前字元串進行分割

1 >>> a='abcabcabc'
2 >>> print(a.split('b'))    #以b為分隔符,將字元串進行分割
3 ['a', 'ca', 'ca', 'c']

 

17、swapacse(),upper()函數,將字元串的字元都變成大寫

1 >>> print(a.swapcase())
2 ABCABCABC
3 >>> print(a.upper())
4 ABCABCABC

三、列表操作
定義一個列表有兩種方法:

1 1、a=list([1,2,3])
2 b=list(['a','b','c'])
3 2、a=[1,2,3]
4 b=['a','b','c']

 

1、append()函數,從列表最後添加一個元素

1 >>> a.append(7)
2 >>> print a
3 [1, 2, 3, 7]

 

2、expend()函數,從列表後添加一個列表

1 >>> a.extend([7,8])
2 >>> print a
3 [1, 2, 3, 7, 7, 8]

 

3、pop()函數,彈出操作,將列表的指定位置的元素彈出,也就是刪除

1 >>> a=[1, 2, 3, 7, 7, 8]
2 >>> a.pop(2)    #這裡的2是第三個位置的元素
3 3
4 >>> print a
5 [1, 2, 7, 7, 8]

 

5、remove()函數,刪除指定值得元素

1 >>> a.remove(7)    #原來有兩個7,我們怎麼知道刪除的哪一個,如果有重覆的會
2 >>> print a    #刪除最前面的那個元素
3 [1, 2, 7, 8]

 

6、reverse()函數,作用是將列表翻轉

1 >>> a.reverse()
2 >>> print a
3 [8, 7, 2, 1]

 

7、insert()函數,作用是從第幾個位置插入一個元素

1 >>> a.insert(2,9)    #從下標為2的位置插入一個9
2 >>> print a
3 [8, 7, 9, 2, 1]

 

四、元組操作
定義一個元組:元組中的元素可以是字元,數字,字元串,列表,元組,字典

1 a=(1,2,3,4)
2 a=([1,2,3,4],'x','y',(1,2,'x','y'))

 

1、列表list和元組tuple的相互轉化

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

 


五、字典
字典定義方式有兩種:字典的元素都是key:value的形式,value可以是字元串,元組,列表,字典

1 1、a=dict(k1='v1',k2='v2')
2 2、a={'k1':'v1','k2':'v2'}

 

1、get()函數,取出對應key的值

1 >>> a.get('k1')
2 'v1'

 

2、items()函數,作用是以列表的形式將字典的元素列印出來

1 >>> a.items()
2 [('k2', 'v2'), ('k1', 'v1')]

 

3、keys()函數,作用是以列表的形式列印出所有的key

1 >>> a.keys()
2 ['k2', 'k1']

 

4、values()函數,作用是以列表的形式列印出所有的value

1 >>> a.values()
2 ['v2', 'v1']

 

5、pop()函數,作用是彈出相應key的元素

1 >>> a.pop('k1')
2 'v1'
3 >>> print a
4 {'k2': 'v2'}

 

6、popitem()函數,彈出最後一個元素

1 >>> a={'k1':'v1','k2':'v2','k3':'v3'}
2 >>> a.popi    tem()
3 ('k3', 'v3')
4 >>> print a
5 {'k2': 'v2', 'k1': 'v1'}

 

7、update()函數,作用是修改key對應的值

1 >>> a={'k1':'v1','k2':'v2','k3':'v3'}
2 >>> print a
3 {'k3': 'v3', 'k2': 'v2', 'k1': 'v1'}
4 >>> a.update({'k3':1324,'k1':'xiaoma'})
5 >>> print a
6 {'k3': 1324, 'k2': 'v2', 'k1': 'xiaoma'}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 常見的資料庫連接問題無外乎是在資料庫伺服器本地可以連接SQL Server,但通過其他伺服器就不可以連接。但這次我卻碰到了相反的情況,在伺服器本地無法通過IP/實例名連接,但從其他伺服器卻可以。而且每次重啟後問題短暫消失,不多久後,又重現。我還是第一次碰到這樣的問題。通過深究後找到了根本原因:竟然....
  • 1.常用的分散式文件系統有NFS
  • 一測試伺服器資料庫(Oracle Database 10g Release 10.2.0.5.0 - 64bit Production)突然訪問不了,檢查發現資料庫處於掛起模式(hang mode),檢查告警日誌,發現有“ksvcreate: Process(m000) creation faile...
  • CouchDB是眾多稱作NoSQL解決方案中的一員。與眾不同的是,CouchDB是一個面向文檔的資料庫,在它裡面所有文檔域(Field)都是以鍵值對的形式存儲的。域(Field)可以是一個簡單的鍵值對、列表或者是map。
  • 1. 簡介說明 我們知道oracle中sqlplus裡面執行dml語句;是需要提交commit;若錯了;也可以回滾rollback; 然而在postgresql裡面預設是自動提交;執行完就馬上提交了,不能回滾,這樣容易導致誤操作的發生,有沒有什麼辦法避免這個風險呢?當然有,在psql中預設是...
  • SQL Server代理是所有實時資料庫的核心。代理有很多不明顯的用法,因此系統的知識,對於開發人員還是DBA都是有用的。這系列文章會通俗介紹它的很多用法。SQL Server代理作業有一系列的一個或多個作業步驟組成。一個作業步驟會分配給特定的作業子系統,用來標識將要進行的作業步驟工作種類。每個作業...
  • 1、use_concat網上說法:CONCATENATION和UNION/UNION ALL操作比較類似,根據OR查詢條件,將一個查詢分解為兩個或更多的部分,然後在去掉兩個部分重覆的記錄。由於CONCATENATION執行計劃需要去掉重覆的記錄,因此和UNION ALL不同。和UNION也不同的是,...
  • 近期為了分析國內航空旅游業常見安全漏洞,想到了用大數據來分析,其實數據也不大,只是生產項目沒有使用Hadoop,因此這裡實際使用一次。先看一下通過hadoop分析後的結果吧,最終通過hadoop分析國內典型航空旅游業廠商的常見安全漏洞個數的比例效果如下:第一次正式使用Hadoop,肯定會遇到非常多的...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...