Python入門基本語法

標識符:用於變量、函數、類、模塊等的名稱。標識符有如下特定的規則:
1. 區分大小寫。如:gcx 和  GCX是不同的
2. 第一個字符必須是字母、下劃線。其後的字符是:字母、數字、下劃線
3. 不能使用關鍵字。比如:if、or、while 等。
4. 以雙下劃線開頭和結尾的名稱通常有特殊含義,儘量避免這種寫法。比如:__init__是類的構造函數。

Python 標識符命名規則
開發中,我們通常約定俗稱遵守如下規則:

 

變量和簡單賦值語句
變量的聲明和賦值
變量的聲明和賦值用於將一個變量綁定到一個對象上,格式如下:
變量名 = 表達式
最簡單的表達式就是字面量。比如:a = 123 。 運行過程中,解釋器先運行右邊的表達式,
生成一個代表表達式運算結果的對象;然後,將這個對象地址賦值給左邊的變量。

變量再調用前必須初始化,變量 result在被使用前未做賦值,因此報錯:’result’ is not defined

刪除變量和垃圾回收機制
可以通過 del 語句刪除不在使用的變量。

如果對象沒有變量引用,就會被垃圾回收器回收,清空內存空間。

鏈式賦值
鏈式賦值用於同一個對象賦值給多個變量。
x=y=123相當於:x=123; y=123
系列解包賦值
系列數據賦值給對應相同個數的變量(個數必須保持一致)
a,b,c=4,5,6相當於:a=4;b=5;c=6

常量
Python 不支持常量
,即沒有語法規則限制改變一個常量的值。我們只能約定常量的命名規
則,以及在程序的邏輯上不對常量的值作出修改。和java中對比修改常量會提示錯誤

最基本內置數據類型和運算符
每個對象都有類型,python 中最基本的內置數據類型:
1. 整型
整數,2345,10,50
2. 浮點型
小數,3.14 或者科學計數法 314e-2
3. 布爾型
表示真假,僅包含:True、False
4. 字符串型
由字符組成的序列。 “abc”,”gcx”,“中國”

數字和基本運算符
Python 支持整數(如:50,520)和浮點數(如:3.14,10.0, 1.23e2),我們可以對數字做如下運算。

divmod()函數同時得到商和餘數

整數
Python 中,除 10 進制,還有其他三種進制:
·0b 或 0B,二進制01
·0o 或 0O,八進制01234567
·0x 或 0X,十六進制 0123456789abcdef

使用 int()實現類型轉換:
1. 浮點數直接捨去小數部分。如:int(9.9)結果是:9
2. 布爾值 True 轉爲 1,False 轉爲 0。如:int(True)結果是 1
3. 字符串符合整數格式(浮點數格式不行)則直接轉成對應整數,否則報錯

自動轉型:
整數和浮點數混合運算時, 表達式結果自動轉型成浮點數。 比如: 2+8.0 的結果是 10.0

整數可以有多大?
Python2 中,int 是 32 位,可以存儲從-2147483648 到 2147483647 的整數(約±
21 億)。Long 類型是 64 位,可以存儲:-2^63--2^63-1 之間的數值。
Python3 中,int 可以存儲任意大小的整數,long 被取消。我們甚至可以存儲下面的值:

Python3 中可以做超大數的計算,而不會造成“整數溢出”,這也是 Python 特別適合科學運算的特點。

浮點數
浮點數,稱爲 float。浮點數用a乘b的10次冪來表示形式的科學計數法表示。比如:3.14,表示成:314E-2 或者 314e-2。
這些數字在內存中也是按照科學計數法存儲。

類型轉換和四捨五入
1.類似於 int(),我們也可以使用 float()將其他類型轉化成浮點數。
2.整數和浮點數混合運算時,表達式結果自動轉型成浮點數。比如:2+8.0 的結果是 10.0
3.round(value)可以返回四捨五入的值
注:但不會改變原有值,而是產生新的值

增強型賦值運算符
運算符+、-、*,/、//、**和%和賦值符=結合可以構成“增強型賦值運算符”。
a = a + 1等價於:a +=1

 

時間的表示
計算機中時間的表示是從“1970 年 1 月 1 日 00:00:00”開始,以毫秒(1/1000 秒)
進行計算。我們也把 1970 年這個時刻成爲“unix 時間點”。這樣,我們就把時間全部用數字來表示了。

python 中可以通過 time.time() 獲得當前時刻,返回的值是以秒爲單位,帶微秒
(1/1000 毫秒)精度的浮點值。例如:1530167364.8566。

布爾值
Python2 中沒有布爾值,直接用數字 0 表示 False,用數字 1 表示 True。
Python3 中,把 True 和 False 定義成了關鍵字,但他們的本質還是 1 和 0,甚至可以和數字相加。

 

比較運算符
所有比較運算符返回 1 表示真,返回 0 表示假。這分別與特殊的變量 True 和 False 等價。
以下假設變量 a 爲 15,變量 b 爲 30:

邏輯運算符

同一運算符
同一運算符用於比較兩個對象的存儲單元,實際比較的是對象的地址。

is 與 == 區別:
is 用於判斷兩個變量引用對象是否爲同一個,既比較對象的地址。
== 用於判斷引用變量引用對象的值是否相等,默認調用對象的 __eq__()方法。

 

整數緩存問題
Python 僅僅對比較小的整數對象進行緩存(範圍爲[-5, 256])緩存起來,而並非是所有整數對
象。需要注意的是,這僅僅是在命令行中執行,而在 Pycharm 或者保存爲文件執行,結果是不一樣
的,這是因爲解釋器做了一部分優化(範圍是[-5,任意正整數])。
·總結
1、is 比較兩個對象的 id 值是否相等,是否指向同一個內存地址;
2、== 比較的是兩個對象的內容是否相等,值是否相等;
3、小整數對象[-5,256]在全局解釋器範圍內被放入緩存供重複使用;
4、is 運算符比 == 效率高,在變量和 None 進行比較時,應該使用 is。

 

基本運算符
我們在前面講解了“+”、“-”、“*”、“/”、“//”、“%”等運算符,這裏我們繼續講解一些其他運算符,並進行學習和測試。

運算符優先級問題
如下優先級,從高到低。

實際使用中,記住如下簡單的規則即可,複雜的表達式一定要使用小括號組織。
1. 乘除優先加減
2. 位運算和算術運算>比較運算符>賦值運算符>邏輯運算符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章