python語言基礎

來源:互聯網
上載者:User

標籤:python語言基礎

python基礎語言注釋
單行注釋:#多行注釋:‘‘‘ ‘‘‘ 或 """ """
數字
整型(Int)- 通常被稱為是整型或整數,是正或負整數,不帶小數點。長整型(long integers)- 無限大小的整數,整數最後是一個大寫或小寫L。bool(布爾型)    true    false浮點型(floating point real values)- 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)複數(complex numbers)- 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型
int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
-0490 535633629843L -90 -6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
注意:
長整型也可以使用小寫"L",但是還是建議您使用大寫"L",避免與數字"1"混淆。Python使用"L"來顯示長整型Python還支援複數,複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示,複數的實部a和虛部b都是浮點型
字串:
使用‘ 或"引號引用的字元的序列使用‘‘‘ ‘‘‘ 或"""單雙引號,可以跨行,可以在其中自由的使用雙引號,多行注釋在字串前面加上r或者R首碼,表示該字元不能做特殊處理如:print ("ar/nbbb")ar/nbbb
基礎文法逸出序列:
逸出字元 描述
\ \ 反斜線
\t 橫向定位字元
\ 續行符
\r 斷行符號鍵
\n 換行
\‘ 單引號
\" 雙引號
首碼r,把裡面所有的字元當一般字元對待
縮排
未使用C語言的花括弧,而是採用縮排的方式展示層級關係約定使用4個空格縮排
續行
在行尾使用/如果使用各種括弧,認為括弧內是一個整體,內部跨行不能用\
標識符:
1.一個名字,用來指代一個值2.只能字母、底線和數字3.只能以字母或底線開頭4.不能是Python的關鍵字,例如def、class就不能作為標識符5.Python是大小寫敏感的約定:不允許使用中文不允許使用歧義單詞,例如class_在Python中要隨便使用底線開頭的表示符
常量:
一旦賦值就不能改變值的標識符Python中無法定義常量
字面常量:
一個單獨的量,例如12、"abc"、‘2341356514.03e-9‘
變數:
賦值後,可以改變值的標識符
Python語言類型
Python是動態語言、強型別語言靜態編譯語言:實現聲明變數類型,類型不能再改變編譯時間檢測動態編譯語言:不用事先宣告類型,隨時可以賦值為其他類型編譯時間不知道是什麼類型,很難推斷強型別語言:不同類型之間操作,必須先強制類型轉換為同一類型,如 print (‘a‘+1)弱類型語言:不同類型間可以操作,自動隱式轉換,JavaScript中console.log(1+‘a‘)
運算子:Python算術運算
運算子 描述 執行個體
+ 加 - a + b 輸出結果 30
- 減 - a - b 輸出結果 -10
* a * b 輸出結果 200
/ b / a 輸出結果 2
% 模數 b % a 輸出結果 0
** a**b輸出結果8
// 取整除 9//2 輸出結果4
Python比較子:
== != > < >= <=返回一個bool值1 < ‘1‘ 1 == ‘1‘
運算子 描述 執行個體
== 等於 - 比較對象是否相等 (a == b) 返回 False
!= 不等於 - 比較兩個對象是否不相等 (a != b) 返回 true
<> 不等於 - 比較兩個對象是否不相等 (a <> b) 返回 true
> 大於 - 返回x是否大於y (a > b) 返回 False
< 小於 - 返回x是否小於y (a < b) 返回 true
>= 大於等於 - 返回x是否大於等於y (a >= b) 返回 False
<= 小於等於 -返回x是否小於等於y (a <= b) 返回 true
python賦值運算子:
運算子 描述 執行個體
= 簡單的賦值運算子 c = a + b將 a + b 的運算結果賦值為c
+= 加法賦值運算子 c += a 等效於 c = c + a
-= 減法賦值運算子 c -= a 等效於 c = c - a
*= 乘法賦值運算子 c = a 等效於 c = c a
/= 除法賦值運算子 c /= a 等效於 c = c / a
%= 模數賦值運算子 c %= a 等效於 c = c % a
**= 冪賦值運算子 c = a 等效於 c = c a
//= 取整除賦值運算子 c //= a 等效於 c = c // a
Python位元運算符:
& | ~ ^ << >>常用方式:乘除2的倍數,32 // 4相當於32 >> 212,0xc,0o14,0b1100~12等於多少,為什麼

原碼、反碼、補碼
原碼:原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值,比如如果是8位二進位1 原碼: 0000 0001-1原碼:1000 0001第一位是符號位,因為第一位是符號位,所以8位位元的取值範圍就是:[1111 1111 , 0111 1111]即[-127 , 127]反碼:反碼的表示方法是:正數的反碼是其本身負數的反碼是在其原碼的基礎上,符號位不變,其餘個位取反即1  原碼:0000 0001   反碼:0000 0001-1 原碼:1000 0001   反碼:1111 1110可見如果一個反碼錶示的是負數,人腦無法直觀的看出來它的數值,通常要將其轉換成原碼再計算補碼:補碼的表示方式是:正數的補碼是其本身負數的補碼是在其自身的基礎上,符號位不變,其餘各位取反,最後加1[+1] = [00000001]原 = [00000001]反 = [00000001]補[-1] = [10000001]原 = [11111110]反 = [11111111]補
邏輯運算子
運算子 邏輯運算式 描述 執行個體
and x and y 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 (a and b) 返回 20
or x or y 布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 (a or b) 返回 10。
not not x 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True not(a and b) 返回 False
與或非and or not短路運算子:and如果第一個運算式為false,後面就沒有必要計算了,這個邏輯運算式一定是falseor如果第一個運算式true,後面沒必要計算了,這個邏輯運算式一定是
python成員運算子
運算子 描述 執行個體
in 如果在指定的序列中找到值返回 True,否則返回 False x 在 y 序列中 , 如果 x 在 y 序列中返回 True
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True
python身份運算子
運算子 描述 執行個體
is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False
is 與 == 區別:例子測試
In [1]: a = ‘h1‘In [2]: b = ‘h1‘In [3]: a is bOut[3]: TrueIn [4]: a == bOut[4]: Truea1 = ‘I am using long string for testing‘a2 = ‘I am using long string for testing‘a1 is a2      Falsea1 == a2TrueIn [9]: str1 = ‘string‘In [10]: str2 = "".join([‘s‘,‘t‘,‘r‘,‘i‘,‘n‘,‘g‘])In [12]: str1 is str2Out[12]: FalseIn [13]: str1 == str2Out[13]: True
總結
is表示是物件識別碼,而==表示是相等,顯然兩者不是一個東西。實際上,造成上面案例不一致的根本原因在於is的作用是用來檢查標識符是否一致,也就是比較兩個對象的記憶體是否擁有同一塊記憶體空間,它並不適合用來判斷兩個字串是否相等。x is y僅當x和y是同一個對象的時候返回True,x is b相當於id(x) == id(y),而==才是用來檢驗兩個對象的值是否相等的,它實際上調用的是內部__eq__()方法,因此a == b相當於a.__eq__(b),所以==操作符是可以被重載的,而is不能被重載。一般情況下,如果x is y為True的話x == y 的值也為True,反之亦然。對於長短字串id值不一樣,是有一個python中的string interning(字串駐留)機制決定的:對於較小的字串,為了提高系統效能會保留其值得一個副本,當建立新的字串的時候直接指向該副本即可。而長字串不會駐留,python記憶體中各自建立對象來表示a1,a2,這兩個對象擁有相同內容但物件識別碼卻不相同,所以==的值為True而is的值為False
運算子的優先順序(從高到低)

算數運算子 > 位元運算符 > 身份運算子 > 成員運算子 > 邏輯運算子長運算式,多用括弧,易懂,易讀
運算式:
由數字、符號、括弧、變數等組合算數運算式邏輯運算式賦值運算式Python中,賦值即定義,如果一個變數已經定義,賦值相當於重新定義

python語言基礎

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.