Python基礎-對象/運算符(2)

對象:

py是一門面向對象的語言,在程序運行時,所有的數據都是存儲在內存當中再去運行的。對象就是內存中專門用來存儲數據的一塊區域。對象實際上就是一個容器,專門用來存儲數據。數值,字符串,布爾值,None都是對象。對象分為可變對象和不可變對象,可變僅針對值。

對象結構:

每個對象都要保存三種數據.

  • id(標識): id用來標識對象的唯一性,每個對象都有唯一的id。可以通過id()函數查看對象的id,py中id就是對象的內存地址,對象一旦創建,其id值永遠不會改變。
  • type(類型) 用來標識當前對象所屬的類型,類型決定了對象擁有哪些功能,可以通過type()函數查看對象的類型。py是一門強類型語言,對象一旦創建,類型不可以修改。
  • value(值) 值就是對象中存儲的具體的數據,可變對象的值可以改變。變量和對象區別 對象並沒有直接存儲在變量中,變量更像對象的別名,變量中存儲的是對象id也就是內存地址。當我們使用變量時,實際上就是通過對象id查找對象。 變量中保存的對象,只有在為變量重新賦值時才會改變。變量和變量之間是相互獨立的,修改一個變量不會影響另一個變量。注意: 當通過變量給變量賦值時,其所存儲的對象id時一樣的。也可以說,這兩個變量指向同一個對象。a=6 b=a print(id(a)) print(id(b)) 運算符: 運算符可以對一個值或者多個值進行運算或者操作運算符分類:
  • 算數運算符
  • 賦值運算符
  • 比較運算符(關係運算符)
  • 邏輯運算符
  • 條件運算符(三元運算符)算數運算符
  • +:加法運算符(如果是兩個字符串則會進行拼串)
  • -:減法運算符
  • *:乘法運算符(如果字符串和數字相乘則會進行字符串複製操作)
  • /:除法運算符,結果總會返回一個浮點
  • //:整除,只會保留計算後整數位,返回一個整型
  • **:冪運算,求一個值的幾次冪
  • %:取模,求兩個數相除的餘數 注意:True與整數和浮點數運算,True等價於1。False等價於0。 在除法或者整除時,除數不能為0賦值運算符 關係運算符 關係運算符用來比較兩個值之間的關係,總會返回一個布爾值,關係成立為True,不成立為False。 =>
  • not 邏輯非: not對符號右側的值進行非運算,對於布爾值進行取反,True->False。對於非布爾值,非運算會將其轉換為布爾值,然後在取反。
  • and 邏輯與: and可以對符號兩側的值進行與運算, 只有兩側的值為True時才會返回True。 當左側的值為False時,則不在看右側
  • or 邏輯或: or可以對符號兩側的值進行或運算,只要有一側的值為True就會返回True。同樣,當左側值為True時,不在看右側。 ==注意:== 邏輯運算符返回的是其能到達最遠處的值,而不是像java一樣只返回布爾值。==邏輯判斷時,不侷限兩側值的類型,因為每一種類型都可以當布爾值判斷,只是返回結果不是布爾類型,而是其原本類型== and比or優先級高print( '' or 'b') # b print( 1 and 2.0) #2.0 print(0 and 2) #0 #證明and優先級高 print( 0 or 2 and 3) # 3
條件運算符(三元運算符)

語法:語句1 if 條件表法式 else 語句2 條件運算符在執行時,先對條件表達式進行求值判斷,結果為True返回語句1,False返回語句2.

<code>a=2
b=3
c=a if a>b else b
print(c) #3
print(a)if a>b else print(b) #3/<code>
注意:
<code>1<2<3 等效於 1<2 and 2<3/<code>



分享到:


相關文章: