python2入門級基礎語法(一)
python的執行機制
python是用直譯器來進行解釋執行, 沒有可執行程式,一行一行解釋,不會先生成可執行程式
Python算是一種 “半編譯, 半解釋” 型的語言. 一方面, Python直譯器會按行讀取原始碼檔案, 然 後會先將原始碼轉為供Python直譯器直接執行的 “位元組碼”. 然後再執行位元組碼.
我們執行一個.py檔案之後, 會生成一個同名的.pyc檔案. 這個.pyc檔案就是Python直譯器生成的位元組碼文 件. 如果已經存在了.pyc檔案, 那麼就不需要再 “翻譯” 一次了, 這樣也提高了執行效率.
在Linux下執行
!/user/bin/XXX //python的路徑
要有執行許可權,在執行時候加上執行許可權
也可以python 檔案.py
coding:utf-8 // 讓直譯器按照utf-8解釋
python中註釋為 #
基礎語法
在python中在介面上沒有型別,在書寫上沒有型別,但在底層是會有的型別。
在賦值方面多元賦值 ,和c語言中不一樣
x,y = 1,2 這裡x = 1, y = 2
增量賦值
n = 10*2 和c語言一樣
重複賦值
a = 1
a = 0.5
結果為0.5 // 這裡是重新賦值,不是型別的轉換
不支援 ++/–
a = a + 1 // 可以
a– // 不行
內建函式 type()函式 為檢視變數的型別,有型別
複數 型別
例如:a = 10 + 4j //打印出來為(10+4j)
單引號、雙引號、三引號
當出現多個引號,為了不用轉移引號、就可以用使用不同的包含在內
“ ‘ ’ ” / ( ”’ ” ” ’ ’ ””’)
字串型別
沒有字元型別,一個字元,就是長度為1的字串
str = “abcd”
可以通過下標訪問 str[2]
切片操作
print str[1:3] // 這裡的1和3是前閉後開 [1,3)
print str[:3] // 從頭開始到3
print str[3:] // 從3到最後
print str[:] // 全部
print str[:-2] // 這個是lenght - n 就是長度向後移動幾位
可以直接用 + 來對字串拼接
用 * 來進行重複字串
不能用 - /除 對字串進行操作
內建函式 len()
用於判斷有長度的物件,返回物件長度
也可以像printf 一樣 用%d等 是字串本身具有。
但是在格式化輸出的時候要在後面加上%
bool
在python中 True和False 首字母大寫,True實際上是1,False是0
輸入輸出
raw_input()函式是輸入函式
用法:str = raw_input(“提示”)
print str // 獲取的為字串
強制型別轉換為 int(str)
除法
/ 與c語言中一樣
// 為地板除法, 向下取整。
精確除法
引入包要在最開始引入
from future import division // 精確除法包
乘方運算
兩個* 例如:3**2 3的2次方
比較運算子
== >= != … 返回的是一個bool型別
邏輯運算子 and or not // 與 或 非 短路求值 c/c++也是
4 < 6 and 6 < 8 可以寫成 4 < 6 <8
在python中特有的語法
列表list
lsit = [ 1.3, “32”, True, [124,34]]
可以用 下標取值法
下標賦值法
也可以切片 取出來是一個list
元組tuple
tuple = (1,3,5,3)
可以用 下標取值法
也可以切片 取出來是一個list
一旦初始化就不能改變
元組和list中 只有一個不同, 元組不能修改
字典 dict 儲存鍵值對 key-vlaue
dict = {“ni”:”hao”, “he”:”ha”}
取值 是通過key 來取value
print dict[“ni”]
dict[“he”] = “niha”