1、變 量:變量是計算機內存中的一塊兒區域,變量可以存儲規定範圍內的值,而且值可以改變。
範 例: a a1 a_ a_1
變量命名:變量名有字母、數字、下劃線組成;
數字不能開頭,或 純數字;
不可以使用關鍵字;
#數字不可以開頭:SyntaxError: invalid syntax 語法錯誤;
#變量是一個標籤
>>> id(a) 7989040 #id()查看內存地址; #變量是對賦值的一個引用; #同樣的一個地址空間,可以有多個標籤; >>> b=1 >>> id(b) 7713592
2、python賦值
python賦值方式簡介 | |
增量賦值 | x=2 ; x+=2 |
多重賦值 | a=b=c=10 |
多元賦值 | x,str1 = 10,"test" |
3、python運算符
#運算符的優先級
單純的算術運算和數據法則是一致的。
a=2+4*4
賦值運算
數算運算符高與賦值運算
#計算器
#!/usr/bin/python a = int(raw_input("please input number1:")) b = int(raw_input("plwase input number2:")) print a+b print a-b print a*b print a%b #raw_input() 方法 #int() 定義數值類型,字符串無法相加
4、數據類型
#不需要事先申明,根據事物的特點
數字
整型int | 範圍:-2147 483 648 到 2147 483 647 |
>>> num1=123 >>> id(num1) 21892896 >>> type(num1) <type 'int'> | |
長整型long | 範圍:區分普通整數和長整數,需要在整數後加L或者小寫l |
>>> num1=2L >>> type(num1) <type 'long'> #存的值只有2 #建議使用大寫的L #人爲定義長整型 | |
浮點型 :(小數型)flote | 定義:需要加一個小數點 |
>>> x=3e+7 >>> type(x) <type 'float'> >>> a=1.0 >>> type(a) <type 'float'> | |
複數型complex | 定義:小寫字母j 表示定義一個複數類型 |
例:3.14j、8.32e-36j >>> num1=3.145j >>> type(num1) <type 'complex'> |
序列類型的數據
序列的兩個主要特點: | 索引操作符:從序列中抓取特定項目 切片操作符:獲取序列的一個切片,即一部分序列 |
字符串 string | 範例:使用引號定義的一組可以包含數字、字母,符號(非特殊系統符號)集合 a="abced" |
操作: >>> a[1] 'b' #索引,從0開始 >>> a[0]+a[1] 'ab' | |
元組 tuple | 範例:t=("name","kong","age","18") 定義單一元組 cc=("my name kong",) #注意要添加一個逗號 #定義空的元組由一對空的圓括號組成 |
操作:>>> t=("milo","30","male") >>> name,age,gender=t >>> name 'milo' 類似於>>> a,b,c=1,2,3 >>> a 1 >>> b 2 >>> a,b,c=(1,2,3) #注意添加小括號 >>> t=["name","age"] >>> t1=["kong","age"] >>> zip(t,t1) [('name', 'kong'), ('age', 'age')] #zip遍歷, 變爲元組,但沒有絕對的聯繫 | |
元組和列表十分相似,只不過元組和字符串一樣是不可變的,即不能修改元組。 元組通過圓括號中用逗號分隔的項目定義 元組通常用在使語句或用戶定義的函數能夠安全的採用一組值的時候,即被使用的元組值不會改變。 | |
列表list | 範例:>>> list1=["milo","30","male",] >> list1 ['milo', '30', 'male'] 二元列表 list1=["milo","30","['a','b',1]","male",] |
操作: >>> list1=["milo","30","male",] >>> list1 ['milo', '30', 'male'] >>> list1[0] 'milo' >>> list1[0]=("kong") >>> list1[0]="kong" >>> list1 ['kong', '30', 'male'] # 列表的重新賦值,取值和元組相同; # 單個值的定義不需要有逗號,也是列表; 添加: #藉助列表類型的方法 >>> list1 ['kon', '30', 'male', '12345678'] >>> list1.append('phone') >>> list1 ['kon', '30', 'male', '12345678', 'phone'] 刪除: list1.remove("12345678") #如果有多個,它會選擇第一個剔除 或者:list1.remove(list1[3]) #注意list1是一個變量 ,即要操作的列表名 ['kongjiagou', '1233e2e32'] >>> del(mail[0]) | |
list 是處理一組有序項目的數據結構,即你可以在一個列表中存儲一個序列的項目; 列表是可變類型的數據 ; 列表的組成:用[]表示列表,包含了多個以逗號隔開的數字,或者字符串; | |
序列的基本操作: | 1、len(): 求序列長度 2、 + :連接兩個序列 3、 * : 重複序列元素 "#"*50 4、in :判斷元素是否在序列中 5、max():返回最大值 6、min():返回最小值 7、cmp(tuple1,tuple2) 比較兩個序列值是否相同 |
字典 | 範例: 創建字典使用{} >>> dic={"name":"kong","age":"232"} >>> dic["name"] 'kong' 混合類型的定義 >>> dic1={1:'name','age':20,'d':'1232'} >>> dic1[1] 'name' |
操作:for循環遍歷: >>> dic1 {1: 'name', 'age': 20, 'd': '1232'} >>> for k in dic1: ... print k ... 1 age d >>> for k in dic1: ... dic1[k] ... 'name' 20 '1232' | |
字典是python中唯一的映射類型(哈希表#無序的) ; 字典對象是可變的,但是字典的鍵必須使用不可變對象,並且一個字典中可以使用不同類型的健值。 keys()或者values()返回鍵列表或者值列表; items()返回包含健值對的元組; #工廠方法dict()生成字典,但是它比較慢,效率低,另一種方式是fromkeys(),字典中的元素具有相同的值,默認爲none,最常用的還是{} #訪問字典的值:可以直接使用key訪問:key不存在會報錯,可以使用had_key()或者in 和not in判斷,但是has_key()方法即將廢棄。 | |
附:使用引號的區別
>>> str1="abcdefssfs" >>> 'c' in str1 True >>> str1="abcded" >>> 'a' in str1 True >>> a=100 >>> 'a' in str1 True >>> a in str1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'in <string>' requires string as left operand, not int #注意引號的使用,它是區分字符串和變量的方法
附:定義變量時,數字加引號和不添加引號的區別;
>>> a=123 >>> stra="123" >>> print a 123 >>> print stra 123 >>> a+stra Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for + : 'int' and 'str' >>> type(stra) <type 'str'> #類型爲字符串
附:單引號,雙引號,三重引號的區別;
>>> str1='hello word' >>> str2="hello good" >>> str3="I'm is kong" >>> type(str3) <type 'str'> #單引號和雙引號沒有任何區別,區分對待(例如:let's go) #如果更復雜可以使用轉義符號\(例如:>>> say="let's \"go\"" ) #控制字符串換行,需要使用轉義字符 換行\n >>> mail="hello \n my name is kong" >>> print mail hello my name is kong
附:""" 三重引號 的使用
>>> mail="""tom: ... i am jack ... good bay ... """ >>> mail 'tom:\n\ti am jack\n\tgood bay\n' >>> print mail tom: i am jack good bay