1. 程式人生 > >python基礎(5)---整型、字符串、列表、元組、字典內置方法和文件操作介紹

python基礎(5)---整型、字符串、列表、元組、字典內置方法和文件操作介紹

進制 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
7 # 0 0 0 0 0 0 1 0 2 8 #相同位為1則為1,由於沒有相同位,所以5 & 2結果為0
__and__ 與&運算 技術分享圖片
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=b1, 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)---整型、字符串、列表、元組、字典內置方法和文件操作介紹