一、變量定義:變量是計算機內存中的一塊區域,存儲規定范圍內的值,值 可以改變,通俗的說變量就是給數據起個名字。
二、變量命名規則:
1. 變量名由字母、數字、下划線組成
2. 數字不能開頭
3. 不可以使用關鍵字, 舉例:a,a1,a_1
三、變量的賦值:
1. Python中的變量不需要聲明,變量的賦值就是變量聲明和 定義的過程;
2. 每個變量在使用前都必須賦值,變量賦值以后該變量才會 被創建;
3. 等號(=)用來給變量賦值,等號(=)運算符左邊是一個 變量名,等號(=)運算符右邊是存儲在變量中的值。 舉例:a=1
四、多個變量賦值:
Python允許同時為多個變量賦值。
例如:a = b = c = 1 也可以為多個對象指定多個變量。
例如:a2,b2,c2 = "zz",18,1
五、變量分類:
1. 不可變變量:數字、元組()、字符串 (值變的時候會指向一個新的地址)
2. 可變變量:列表[]、字典{} (值變,id不變)
六、標准數據類型:
Numbers(數字):整形、長整形(123L,超出int自動轉成 long)、浮點型、復數型(a=1j)
String(字符串):" " ' ' """ """
List(列表):[],值可變
Tuple(元組):(),值不可變
Dictionary(字典):{}
6.1、數字類型:Number
數字數據類型用於存儲數值。是不可改變的數據類型(不可變 變量),這意味着改變數字數據類型會分配一個新的對象。 當指定一個值時,Number對象就會被創建:num = 123 Python支持四種不同的數字類型:
1. int(有符號整型)
2. long(長整型[也可以代表八進制和十六進制])
3. float(浮點型)
4. complex(復數)
6.2、字符串:String
字符串(String)是由數字、字母、下划線組成的一串字符。
加號(+)是字符串連接運算符,星號(*)是重復操作。
6.3、字符串格式化:
Python 支持格式化字符串的輸出 。
最基本的用法是將一個值插入到一個有字符串格式符 %s 的字 符串中。
例如:
6.4、list:列表
列表可以完成大多數集合類的數據結構實現。 它支持字符,數字,字符串甚至可以包含列表(所謂嵌套)。
加號(+)是列表連接運算符,星號(*)是重復操作。
常見列表操作:
list.append(obj) 在列表末尾添加新的對象
list.insert(index, obj) 將對象插入列表
list.index(obj) 從列表中找出某個值第一個匹配項的索引位置
list.count(obj) 統計某個元素在列表中出現的次數
list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用 新列表擴展原來的列表)
del(list[index]) 刪除某個元素
list.remove(obj) 刪除第一個匹配的元素
list.pop(index) 移除列表中的一個元素(默認最后一個元素),並 且返回該元素的值
list.sort() 對原列表進行排序
list.reverse() 反向列表中元素
6.5、元祖:Tuple
元組用"()"標識,類似於List(列表),但是元組是不可變變量,元素不能二 次賦值,相當於只讀列表。
如下實例:
>>> list=[1,2,3]
>>> tuple=(4,5,6)
>>> list[0]=10
>>> list [10, 2, 3]
>>> tuple[0]=40
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
tuple[0]=40
TypeError: 'tuple' object does not support item assignment
6.6、dictionary:字典
字典由索引(key)和它對應的值(value)組成,字典是Python唯一的映射類型。
字典也被稱作關聯數組或哈希表。
keys() 返回鍵列表,values() 返回值列表,items() 返回鍵值對的元組,has_key(key) 返回是否含有該key。
兩個重要的點需要記住:
1.字典中的鍵必須獨一無二,但值則不必。創建時如果同一個鍵被賦值兩次,后一個值會被記住;
2. 鍵必須不可變,可以用數字,字符串或元組充當,但是不可以用列表。
創建字典的兩個方法:
1. 使用工廠方法dict()創建字典:
例:
2. 內建方法fromkeys(),字典中的元素具有相同的值,默認 為None
例:
查看遍歷字典
查看字典中的值:
1. dict[key]
2. dict.get(key,value)
兩種遍歷字典的方法:
1. for key in dict:
print key, dict[key]
2. for key, value in dict.items():
print key, value
增改刪字典:
dict[key]=value#無該key增加,有則更新該key對應的value
dict1.update(dict2) #更新dict2到dict1,無則添加,重復則覆蓋
dict.pop(key)#刪除指定的鍵值,返回對應的值
dict.clear() #清空字典
del dict #徹底刪除
7、json模塊
http://wthrcdn.etouch.cn/weather_mini?city=北京
通過城市名稱,獲得天氣數據
import json
json.dumps() #編碼,字典轉成字符串
json.loads() #解碼,字符串轉成字典
8、數據類型轉換
- 字典可轉換為字符串、元組、列表
方式str(dict)、tuple(dict)、list(dict)
- 元組轉換為字符串、列表
如:t=(1,2,3)
轉換成字符串:t.__str__()
轉換成列表:list(t)
- 列表轉換為字符串、元組
- 字符串轉換為元組、列表、字典
轉為元組和列表:
轉為字典:
9、序列操作
序列包括:字符串、列表、元組 序列的兩個特征是“索引”和“切片” 索引,根據index獲取特定元素 切片,獲取序列片段
序列操作應用:
最后舉個工作中用到的小例子,數據存在一個列表中,如:
list=['23.34%','30.88%','15.90%'] 需要取列表中的值與已知數據進行大小比較,為了方便比較, 想到先去掉最后的%,然后將字符串轉換成float,用切片很 容易實現: >>> list=['23.34%','30.88%','15.90%']
>>> float(list[0][:-1])
23.34
常見序列操作:
len() 求長度
+ 連接兩個序列
* 重復序列元素
in 判斷元素是否在序列中
max() 返回最大值
min() 返回最小值
cmp() 比較兩個序列