變量存儲在內存中的值。這就意味着在建立變量時會在內存中開闢一個空間。python
基於變量的數據類型,解釋器會分配指定內存,並決定什麼數據能夠被存儲在內存中。數據結構
所以,變量能夠指定不一樣的數據類型,這些變量能夠存儲整數,小數或字符。app
(1)變量的命名:函數
變量名的長度不受限制,但其中的字符必須是字母、數字、或者下劃線(_),而不能使用空格、連字符、標點符號、引號或其餘字符。spa
變量名的第一個字符不能是數字,而必須是字母或下劃線。code
Python區分大小寫。orm
不能將Python關鍵字用做變量名。對象
例如: a a1 _a排序
(2)變量的賦值:索引
是變量的聲明和定義的過程。
a = 123 In [1]: a = 123 In [2]: a Out[2]: 123 In [3]: id(a) Out[3]: 7891024 In [4]: a = 456 In [5]: id(a) Out[5]: 19127624
(3)運算符和表達式:
表達式:
將不一樣的數據(包括變量、函數)用運算符號按必定的規則鏈接起來的一種式子。
1)賦值運算符
In [68]: a = 3 In [69]: a Out[69]: 3 In [70]: a+=3 In [71]: a Out[71]: 6 In [72]: a-=4 In [73]: a Out[73]: 2 In [76]: a*=3 In [77]: a Out[77]: 6 In [78]: a/=2 In [79]: a Out[79]: 3 In [80]: a%=3 In [81]: a Out[81]: 0 In [82]:
2)算術運算符
In [82]: 1 + 2 Out[82]: 3 In [83]: 2 - 1 Out[83]: 1 In [84]: 2 * 2 Out[84]: 4 In [85]: 6 / 2 Out[85]: 3 In [86]: 6 % 2 Out[86]: 0 In [88]: 3.999999 / 2 Out[88]: 1.9999995 In [89]: 3.999999 // 2 Out[89]: 1.0 In [90]: 3 ** 2 Out[90]: 9
3)關係運算符:
In [91]: 1 > 2 Out[91]: False In [92]: 2 < 3 Out[92]: True In [93]: 2 >= 1 Out[93]: True In [94]: 3 <= 56 Out[94]: True In [95]: 3 == 3 Out[95]: True In [96]: 2 != 34 Out[96]: True In [97]:
4)邏輯運算符:
In [97]: 1 < 2 and 2 > 0 Out[97]: True In [98]: 1 == 1 and 2 < 1 Out[98]: False In [99]: 1 == 1 or 2 < 1 Out[99]: True In [100]: not 1 > 2 Out[100]: True
在內存中存儲的數據能夠有多種類型。
例如,一我的的年齡能夠用數字來存儲,他的名字能夠用字符來存儲。
Python 定義了一些標準類型,用於存儲各類類型的數據。
Python有五個標準的數據類型:
Python支持四種不一樣的數字類型:
整型
In [6]: a = 123 In [7]: type(a) Out[7]: int In [8]:
長整型
In [8]: a = 199999999999999999999999999999 In [9]: a Out[10]: 199999999999999999999999999999L In [11]: type(a) Out[12]: long In [13]:
浮點型
0.0, 12.0 -18.8 3e+7等 科學計數法是浮點型 In [11]: 3e+7 Out[11]: 30000000.0 In [12]: type(3e+7) Out[12]: float In [13]: 3.0/2 Out[13]: 1.5 In [14]: type(3.0/2) Out[14]: float In [15]:
複數型
python對複數提供內嵌支持,這是大部分軟件沒有的。 In [8]: a = 3.14j In [9]: a Out[9]: 3.14j In [10]: type(a) Out[10]: complex
字符串或串(String)是由數字、字母、下劃線組成的一串字符。
>>> str="hello fengxiaoqing!" >>> print(str*2) hello fengxiaoqing!hello fengxiaoqing! >>> print(str+" Very Good!") hello fengxiaoqing! Very Good!
In [12]: a = 'abc' In [13]: a Out[13]: 'abc' In [14]: type(a) Out[14]: str In [15]: 三重引號還能夠作註釋:. In [28]: a = 'hello\nworld' In [29]: a Out[29]: 'hello\nworld' In [30]: a = "hello\nworld" In [31]: a Out[31]: 'hello\nworld' In [39]: a = '''hello\nworld''' In [40]: a Out[40]: 'hello\nworld' In [41]: print a hello world In [42]: In [43]: type(a) Out[44]: str
序列索引:
In [42]: a = 'abcde' In [43]: a[0] Out[43]: 'a' In [44]: a[1] Out[44]: 'b' In [45]: a[-1] Out[45]: 'e' In [46]: a[-2] Out[46]: 'd'
序列切片:
In [42]: a = 'abcde' In [43]: a[0] Out[43]: 'a' In [44]: a[1] Out[44]: 'b' In [45]: a[-1] Out[45]: 'e' In [46]: a[-2] Out[46]: 'd' In [47]: a[0:2] Out[47]: 'ab' In [48]: a[0:4] Out[48]: 'abcd' In [49]: a[0:3] Out[49]: 'abc' In [50]: a[1:3] Out[50]: 'bc' In [56]: a[0] + a[1] Out[56]: 'ab' In [57]: a[:2] Out[57]: 'ab' In [58]: a[:] Out[58]: 'abcde' In [59]: a[:-1] Out[59]: 'abcd' In [60]: a[::-1] Out[60]: 'edcba' In [61]: a[::1] Out[61]: 'abcde' In [62]: a[:3:1] Out[62]: 'abc' In [63]: a[::2] Out[63]: 'ace' In [64]: a Out[64]: 'abcde' In [65]: a[-4::-2] Out[65]: 'b' In [66]: a[-4:-2] Out[66]: 'bc' In [67]: a[-2:-4:-1] Out[67]: 'dc' In [68]:
(1)find() 查找字符
>>> str="hello fengxiaoqing!" >>> str.find("o") 4
(2)replace() 替換字符
>>> str="hello fengxiaoqing!" >>> str.replace("h","H") 'Hello fengxiaoqing!'
(3)strip() 字符串過濾首尾空格
>>> str=" hello fengxiaoqing! " >>> str.strip() 'hello fengxiaoqing!'
(4)format()字符串格式化
>>> name="fengxiaoqing" >>> age=20 >>> sex="man" >>> "姓名:{0} ,年齡:{1},性別:{2}".format(name,age,sex) '姓名:fengxiaoqing ,年齡:20,性別:man'
(5)startswith() 以某字符開頭
>>> str="hello fengxiaoqing!" >>> str.startswith("helo") False >>> str.startswith("h") True
(6)endswith()以某字符結尾
>>> str="hello fengxiaoqing!" >>> str.endswith("qing!") True
(7)split()字符串分割
>>> str="hello fengxiaoqing!" >>> str.split(" ") ['hello', 'fengxiaoqing!'] >>> str.split("g") ['hello fen', 'xiaoqin', '!']
(8)join()字符串鏈接
>>> str.join("abc") 'ahello fengxiaoqing!bhello fengxiaoqing!c' >>> "+".join("abcde") 'a+b+c+d+e'
List(列表) 是 Python 中使用最頻繁的數據類型。
列表能夠完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至能夠包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的複合數據類型。
列表中值的切割也能夠用到變量 [頭下標:尾下標] ,就能夠截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標能夠爲空表示取到頭或尾。
加號 + 是列表鏈接運算符,星號 * 是重複操做。
舉例:
>>> list=[1,3,5,"a","b","c"] >>> list [1, 3, 5, 'a', 'b', 'c'] >>> type(list) <class 'list'>
(1)insert()插入
>>> list=[1,3,5,"a","b","c"] >>> list.insert(2,"88") >>> list [1, 3, '88', 5, 'a', 'b', 'c']
(2)remove()刪除
>>>list=[1,3,"88",5,"a","b","c"] >>>list.remove("88") >>>list [1, 3, 5, 'a', 'b', 'c']
(3)sort()排序
>>> list=[1,3,5,6,7,34,7,6734,77,3,34] >>> list.sort() >>> list [1, 3, 3, 5, 6, 7, 7, 34, 34, 77, 6734]
>>> list=["a","d","b","c"] >>> list.sort() >>> list ['a', 'b', 'c', 'd']
(4)reverse()反序
>>> list=[1,3,5,6,7,34,7,6734,77,3,34] >>> list.reverse() >>> list [34, 3, 77, 6734, 7, 34, 7, 6, 5, 3, 1]
>>> list=["a","d","b","c"] >>> list.reverse() >>> list ['c', 'b', 'd', 'a']
(5)append()從末尾添加一個元素
>>> list=[1,3,5,6,7,34,7,6734,77,3,34] >>> list.append(9999) >>> list [1, 3, 5, 6, 7, 34, 7, 6734, 77, 3, 34, 9999]
(6)pop()從末尾刪除一個元素
>>> list=[1,3,5,6,7,34,7,6734,77,3,34] >>> list.pop() 34 >>> list [1, 3, 5, 6, 7, 34, 7, 6734, 77, 3]
(7)conunt()統計列表中對象有數量
>>> list=[1,3,5,6,7,34,7,6734,77,3,34] >>> list.count(7) 2