python基礎(5)---整型、字符串、列表、元組、字典內置方法和文件操作介紹
阿新 • • 發佈:2017-11-20
進制 res cde __init__ little 計算 技術分享 圖片 pos
對於python而言,一切事物都是對象,對象是基於類創建的,對象繼承了類的屬性,方法等特性
1.int
首先,我們來查看下int包含了哪些函數
# python3.x dir(int) # [‘__abs__‘, ‘__add__‘, ‘__and__‘, ‘__bool__‘, ‘__ceil__‘, ‘__class__‘, ‘__delattr__‘, ‘__dir__‘, ‘__divmod__‘, ‘__doc__‘, ‘__eq__‘, ‘__float__‘, ‘__floor__‘, ‘__floordiv__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getnewargs__‘, ‘__gt__‘, ‘__hash__‘, ‘__index__‘, ‘__init__‘, ‘__int__‘, ‘__invert__‘, ‘__le__‘, ‘__lshift__‘, ‘__lt__‘, ‘__mod__‘, ‘__mul__‘, ‘__ne__‘, ‘__neg__‘, ‘__new__‘, ‘__or__‘, ‘__pos__‘, ‘__pow__‘, ‘__radd__‘, ‘__rand__‘, ‘__rdivmod__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__rfloordiv__‘, ‘__rlshift__‘, ‘__rmod__‘, ‘__rmul__‘, ‘__ror__‘, ‘__round__‘, ‘__rpow__‘, ‘__rrshift__‘, ‘__rshift__‘, ‘__rsub__‘, ‘__rtruediv__‘, ‘__rxor__‘, ‘__setattr__‘, ‘__sizeof__‘, ‘__str__‘, ‘__sub__‘, ‘__subclasshook__‘, ‘__truediv__‘, ‘__trunc__‘, ‘__xor__‘, ‘bit_length‘, ‘conjugate‘, ‘denominator‘, ‘from_bytes‘, ‘imag‘, ‘numerator‘, ‘real‘, ‘to_bytes‘]# python 2.x dir(int) # [‘__abs__‘, ‘__add__‘, ‘__and__‘, ‘__class__‘, ‘__cmp__‘, ‘__coerce__‘, ‘__delattr__‘, ‘__div__‘, ‘__divmod__‘, ‘__doc__‘, ‘__float__‘, ‘__floordiv__‘, ‘__format__‘, ‘__getattribute__‘, ‘__getnewargs__‘, ‘__hash__‘, ‘__hex__‘, ‘__index__‘, ‘__init__‘, ‘__int__‘, ‘__invert__‘, ‘__long__‘, ‘__lshift__‘, ‘__mod__‘, ‘__mul__‘, ‘__neg__‘, ‘__new__‘, ‘__nonzero__‘, ‘__oct__‘, ‘__or__‘, ‘__pos__‘, ‘__pow__‘, ‘__radd__‘, ‘__rand__‘, ‘__rdiv__‘, ‘__rdivmod__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__rfloordiv__‘, ‘__rlshift__‘, ‘__rmod__‘, ‘__rmul__‘, ‘__ror__‘, ‘__rpow__‘, ‘__rrshift__‘, ‘__rshift__‘, ‘__rsub__‘, ‘__rtruediv__‘, ‘__rxor__‘, ‘__setattr__‘, ‘__sizeof__‘, ‘__str__‘, ‘__sub__‘, ‘__subclasshook__‘, ‘__truediv__‘, ‘__trunc__‘, ‘__xor__‘, ‘bit_length‘, ‘conjugate‘, ‘denominator‘, ‘imag‘, ‘numerator‘, ‘real‘]
# __abs__() 絕對值輸出 num = 1 result = num.__abs__() print(result) num = -1 result = num.__abs__() print(result)__abs__() 絕對值輸出
1 num = -1 2 result = num.__add__(2) 3 4 print(result) 5 6 # 打印結果將輸出 1__add__加法
1 num = 5 2 result = num.__and__(2) 3 print(result) 4 5 #打印輸出為0 6 # 0 0 0 0 0 1 0 1 5__and__ 與&運算7 # 0 0 0 0 0 0 1 0 2 8 #相同位為1則為1,由於沒有相同位,所以5 & 2結果為0
1 # 以下結果輸出都是True 2 num = 11 3 print(num.__bool__()) # True 4 5 num = -11 6 print(num.__bool__()) #True 7 8 # 以下結果輸出都是 False 9 num = 0 10 print(num.__bool__()) #False 11 12 num = None 13 num = False 14 print (num.__bool__()) # False__bool__ 布爾值
#通過divmod函數可以實現將一個int類型對象除以另一個int對象得到一個兩個元素的列表, #列表左邊為除盡取整的值,第二個元素為取模的余數 num = 9 result = num.__divmod__(2) print(result) #輸出(4,1)__divmod__ 除法取整取模
num = 2 result = num.__eq__(3) print(result) #打印結果為False #2 == 3 結果為假 result = num.__eq__(2) print(result) #打印結果為True # 2 == 2 結果為真 __eq__ ==比較運算符__eq__ ==比較運算符
num = 9 print(num.__float__()) #打印結果為 9.0__float__ 轉換為浮點數
num = int(181) result = num.__floordiv__(9) print(result) #打印輸出20 #地板除 //取整 __floordiv__地板除//__floordiv__地板除//
num = int(181) result = num.__getattribute__("bit_length") print(result) #打印輸出 <built-in method bit_length of int object at 0x100275020> #說明該數據類型num存在bit_length這個屬性,可以用於判斷對象是否擁有某種屬性__getattribute__獲取對象屬性
num = int(181) print(num.__ge__(111)) #打印輸出結果為True #因為181大於111,所以結果為真,該屬性用於判斷大於等於該屬性自身的方法,結果將返回真,否則為假__ge__ 比較運算>=
num = 181 print(int.__invert__(num)) #打印輸出-182 num = -180 print(int.__invert__(num)) #打印輸出179 num = -181 print(int.__invert__(num)) #打印輸出180__invert__ 非~運算
num = -181 result = num.__le__(111) print(result) #打印輸出結果為True #當傳人參數與對象本身相比較,只要對象小於或者等於傳人的參數,則結果為真,否則為假__le__ 小於等於
num = -181 result = num.__lshift__(1) print(result) #打印輸出結果為-362 ,即-181 *( 2**1) result = num.__lshift__(2) print(result) #打印輸出結果為-724 ,即-181*(2**2) #當傳入參數大於等於0時且對象本身不能為0,首先參數本身為2的指數冪運算,然後再與對象本身相乘結果則為左移最終結果__lshift__左移運算
num = -181 print(num.__lt__(11)) #打印輸出結果為True #凡是對象比傳入的參數小,則結果為真,否則結果為假__lt__小於
num = -181 print(num.__mod__(3)) #打印輸出結果為2,因為-181除以3等於60,余數為2,所以結果為2__mod__取模運算
num = 181 print(num.__mul__(2)) #打印輸出結果為362,即181*2的結果__mul__ 乘法運算
num = -181 print(int.__neg__(num)) #打印結果為181,即-(-181),結果為181__neg__一元運算減法
num = 181 print(num.__ne__(181)) #打印結果為False print(num.__ne__(11)) #打印結果為True #凡是傳入參數與對象本身不相等,則結果為真,否則為假__ne__ 不等於比較
num = 18 print(num.__or__(7)) #打印輸出結果為23 # 0 0 0 1 0 0 1 0 18 # 0 0 0 0 0 1 1 1 7 # 0 0 0 1 0 1 1 1 23 位的或運算,凡是相同位有一位為真,即為1,則結果為真,即1,然後所以最終結果為23__or__ 或|運算
num = 9 print(num.__pow__(2)) #打印輸出結果為81,即9**2__pow__ 冪運算
num = 6 print(num.__rdivmod__(3)) #返回結果(0,3) 左邊為余數,右邊為整除的結果__rdivmod__ 與divmod返回的結果相反
#python 2.7 num = 1 print(num.__sizeof__()) #打印輸出結果為24個字節,說明一個int類型默認就在內存中占用了24個字節大小 #python3.5 num = 1 print(num.__sizeof__()) #打印輸出結果為28個字節,說明一個int類型數據默認在內存中占用了24個字節大小__sizeof__ 計算數據類型占用內存大小
num = int(1111) result = num.__str__() print(type(result)) #打印輸出結果為<class ‘str‘> #將int類型轉換為str數據類型__str__ int轉換成str
num = int(9) print(num.__sub__(2)) #打印輸出結果為7 #對象本身減去傳入參數,得到最終的返回值__sub__ 減法運算
num = 11 print(num.__truediv__(3)) #打印輸出結果為3.6666666666666665 #返回的數據類型為float,浮點型__truediv__ 真除
num = 10 print(num.__xor__(6)) # 0 0 0 0 1 0 1 0 10 # 0 0 0 0 0 1 1 0 6 # 0 0 0 0 1 1 0 0 12 #同位比較,都是0則為假,都是1則為假,一真一假為真__xor__ 異或^運算
num = 5 print(num.bit_length()) #打印輸出結果為3 # 0 0 0 0 0 1 0 1 #長度為3位bit_length 顯示數據所占位長度
num = 2.3 - 2.5j result = num.real #復數的實部 print(result) #打印輸出2.3 result = num.imag #復數的虛部 print(result) #打印輸出2.5j result = num.conjugate() #返回該復數的共軛復數 print(result) #打印輸出(2.3+2.5j)conjugate
num = 5 print(num.__format__("20")) #表示5前面講話有20個空格__format__ 格式化輸出
print(int.from_bytes(bytes=b‘1‘, byteorder=‘little‘) #打印輸出 49 ,即將字符1轉換為十進制from_bytes 字符轉換十進制
num = 2 result = num.to_bytes(5,byteorder=‘little‘) print(result) #打印輸出b‘\x02\x00\x00\x00\x00‘ for i in result: print(i) #打印輸出2\n0\n0\n0\n0 #\n表示回車to_bytes int轉換為字節
python基礎(5)---整型、字符串、列表、元組、字典內置方法和文件操作介紹