數據類型 由於學習過其他編程語言(C/C++/java),所以記錄的話除了一些差異點和遇到的問題,儘可能的簡潔,以達到最佳的記錄作用,方便以後的複習和形成體系。 1.數字類型 包括integer,long,float,complex(複雜整數)等,統稱number,而且不用特殊聲明。 特殊類型:布爾 ...
數據類型
由於學習過其他編程語言(C/C++/java),所以記錄的話除了一些差異點和遇到的問題,儘可能的簡潔,以達到最佳的記錄作用,方便以後的複習和形成體系。
1.數字類型
包括integer,long,float,complex(複雜整數)等,統稱number,而且不用特殊聲明。
特殊類型:布爾值,只有True和False兩個,註意首字母大寫。而且在普通數字運算中可以當成1/0來使用。
2.字元串類型
1.類型定義
在python里字元串可以用單引號/雙引號/三引號括起表示一串字元,這點和其他語言區別開來。
交錯使用者三種方式在某些時候可以起到比較好的效果,比如下麵的代碼
<a style=\"color:red\"> 哈哈哈</a>
在代碼中就包括了雙引號,所以這時候可以換成單引號或者三引號起到效果
str = ' <a style=\"color:red\"> 哈哈哈</a>\n '
同時要註意的是三引號也是python中進行塊註釋的方法,區別於行註釋用#號
2.字元串的格式化
有兩種,1是和C相似的百分號%,2是用format函數
百分號使用實例
s = "測試使用%s的方法於%d的晚上"
print(s%("python格式化",19))
format函數格式化使用方法,大括弧{}代替百分號%,如下
str = ”在{}的晚上測試使用{}的方法".format(19,"python格式化")
需要註意的是:大括弧里可以添加數字來進行format方法的參數順序編號,放入參數的時候根據編號大小來確定,如下
str = ”在{1}的晚上測試使用{0}的方法".format("python格式化",19)
3.轉義字元
不詳細描述,即用\來對後面一個或多個不方便表達的字元進行轉義(保護)表達出來。和上面的字元串三種表達方式類似。
在實際中要註意不同系統下對某些字元有不同的表達,如換行,Windows下是\n,linux下是\r\n。
3.元組/列表/字典
這三個放到一塊說方便一些。
列表用[](方括弧)表示,元組用()普通的圓括弧表示,對於初步接觸只需要接觸到的知識是:列表能讀能寫,元組則是只讀。
再細點就是列表裡面有一系列的操作方法,如append/insert/pop/remove/sort等等,元組只有則很少,只有count/index等計數和取下標的方法
而字典類型則是用於數據存儲,類似資料庫里的表。
數據運算
一共分為七種,分別是算術運算,關係運算(比較),賦值運算,邏輯運算,位運算,成員運算,身份運算。
目前初學來看需要註意的不是很多,主要有一下幾點:
1.算術運算里,除號/和其他語言區別開,不是取商而是精確除,取商則是兩個除號//(地板除)
2.冪運算是兩個乘號表示**,且python里無自增和自減。
3.邏輯運算只有與或非,無異或運算。
4.成員運算,即in和not in,只能檢查是否有鍵,而不能查找是否有某個值,返回的是布爾值。
5.身份運算,is和is not,用來檢測兩個邊路是/不是同一個變數,返回的是布爾值。
控制邏輯
1.分支運算
格式為if/elif/else,後面加冒號,無switch,elif就是else if的縮寫代替。如if 條件表達式:/ elif 條件表達式:/ else: else為可選。
2.迴圈控制
格式為for XX in 某數據結構(序列)
XXXXX (類似C#),該迴圈也可添加else。
else:
另外一種為while 條件表達式:
XXXX
else:(可選)
對於break,continue這類的迴圈控制命令,多了個pass,但是沒什麼卵用,通常用於占位
3.補充一下python的輸入輸出
一般為input和print方法,例如
age = input(“請輸入年齡”)
print(“你出入的年齡是:{0}”,format(age)
最後補充一下pyhon的其他一點知識
定義函數:def 函數名(): 其中參數有多種,關鍵字參數,預設參數,可變參數等
關鍵字參數就是把參數名直接寫上。如def test(name,age): test(name="lucy",age=18),而且可以不考慮參數位置,比如age放在name之前
預設參數就是定義時就賦予了一個值,使用時可寫可不寫,但是要註意的是,預設參數一定要放在最後,比如def test(name,age = 18):
可變參數約定俗成的用*args和**kwargs來寫,前者合成一個元組,後者則是字典,也叫包裹傳遞?
def func(*args) :
func(a,b,c,d,e) abcde都會被放進一個元組裡,字典同理。但是要關鍵字參數引用的時候只能用**kwargs,如def fuc(**kwargs) func(name = "XXX",age = 18)
可變參數的反過來用法叫解包裹參數
元組:
def func(name,age):
print(name,age)
args = ("zhangsan",19)
func(*args)
字典:
def func(name,age):
print(name,age)
kwargs = {"name":"zhangsan","age":19}
func(**kwargs)
關於上面這幾種參數類型的混合使用就留給以後再研究吧。
第一篇就這麼多吧,也算是紀念一下。
有錯誤和不足之處望見諒。