0.Python之禅
可以通過在python解釋器中輸入import this 檢視python應該注意的一些規範與原則,如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxUlaNFTQE9EMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyMjMzATN0ETM4AjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1.列印 "Hello World!"和接受使用者輸入
#輸出
print("Hello World!")
#輸入,括号中參數表示提示資訊
a=input('>>')
print(str(a))
Python學習之路(1)——基本文法0.Python之禅1.列印 "Hello World!"和接受使用者輸入 2.變量3.注釋4.運算符5.python的記憶體管理6.語句3)break和continue
2.變量
規則:
(1)變量名隻能包含字母、數字和下劃線,不能數字打頭
(2)變量名不能包含空格,可以使用下劃線來分割其中的單詞
(3)不要使用python關鍵字作為自己的變量名
(4)變量名簡短又具有描述性
(5)慎用小寫字母l和小寫字母o,容易被人錯看成數字1和0
3.注釋
單行注釋:#
多行注釋:使用 ''' 或 """括起來
示例:
4.運算符
(1)算術運算符:+ - * /(除的結果是浮點數) % **(乘方) //(取整除 - 向下取接近除數的整數)
(2)比較運算符:== != >= <= > <
(3)指派運算符:= += -= *= /= %= //= **=
(4)位運算符:& | ^ ~ << >>
(5)邏輯運算符:and or not
(6)成員運算符:in not in
(7)身份運算符:is(判斷兩個辨別符是否引用一個對象) is not
如:id(x) is id(y)等價于id(x)==id(y) 注:id()是用于擷取變量的記憶體位址
5.python的記憶體管理
(1)動态語言的特性:變量無需事先聲明,也不需要指定類型
(2)程式設計中無需關心變量的存亡,也不關心記憶體的管理
(3)python的記憶體管理機制:
python使用引用計數記錄所有對象的引用數
計數為0:可被GC垃圾回收(垃圾回收的作用是1.回收不使用的變量占用的記憶體2.規整記憶體,減少碎片記憶體),當變量不再使用的時候,我們可以申請垃圾回收,但是變量不會被立即回收,而是打上标記,當達到一定條件(比如記憶體滿到一定門檻值)會自動進行回收(這個取決于語言中具體實作)
計數增加:指派給其他變量就增加計數
計數減少:函數運作結束時,局部變量就會自動被銷毀,對象引用計數減少
一般在對GC沒有深刻了解的時候不建議自己手動地進行垃圾回收(因為在垃圾回收進行記憶體規整時,不能操作相應變量,是以會使性能下降)
在記憶體中盡量存放最有用的資料,不能因為它有GC,就頻繁生成垃圾,然後程式會頻繁調用GC,因為每一次垃圾回收都有會使性能下降,總體會使性能大幅下降
這種垃圾回收機制類似于Java
6.語句
(1)分支語句
1)單分支
if(condition):
語句塊
if的括号中的condition的等價
2)多分支結構
(2)循環語句
1)whie循環
while(condition):
語句塊
2)for循環
python中的for循環不同于C++中的for循環,它的for循環更像是C++11當中新增的針對周遊數組或容器的foreach循環語句
python的for循環可以周遊任何序列的項目
示例:
運作結果:
結論:
(1)for循環格式為:
for 代表序列每個元素的自定義變量名 in 要周遊的序列變量名 :
語句塊;
如上述:for animal in animals :
注意:for循環後别忘了有冒号
(2)python是通過縮進來判斷代碼行與前一個代碼行的關系,每個在for語句後縮進的語句都會被認為是for循環内部的語句,且
針對序列中的每個元素都會執行一次,是以縮進對于python來說很重要,它的作用類似于C++中的{},不能随意縮進
(3)python每一行的print語句會自動換行
(4)python會忽略代碼中間的空行
range()函數
python可以使用range()函數輕松生成一系列的數字,大概有下列幾種形式
(1)指定區間:range(1,5) 生成1,2,3,4 你沒看錯,這裡沒有5,又是左閉右開
(2)省略左邊,預設從0開始:range(5) 生成0,1,2,3,4
(3)指定區間(前兩個參數)和步長(第三個參數):range(0,10,3) 生成0,3,6,9 後一個數字等于前一個數字+3
(4)負數:range(-10,-100,-30) 生成-10,-40,-70 注意這裡沒有-100,始終不要忘了,右邊是開區間
(5)可以結合range()和len()函數以周遊一個序列的索引:見示例代碼
(6)可以使用range()函數來建立一個清單:利用list()函數将range()的結果直接轉換成清單
示例:
運作結果:
3)break和continue
break:終止循環,隻終止離它最近的一層循環
continue:終止此次疊代的循環,繼續下一次疊代