標籤:電腦 python 運算式 invalid
1、變 量:變數是電腦記憶體中的一塊兒地區,變數可以儲存規定範圍內的值,而且值可以改變。
變數命名:變數名有字母、數字、底線組成;
數字不能開頭,或 純數字;
不可以使用關鍵字;
範 例: a a1 a_ a_1 變數的賦值: a = 1 範 例:>>> a=2 >>> a 2
#數字不可以開頭:SyntaxError: invalid syntax 語法錯誤;
2、變數是一個標籤
>>> id(a)7989040>>> a=121221>>> id(a)7989136
#id()查看記憶體位址;#變數是對賦值的一個引用;#同樣的一個地址空間,可以有多個標籤;>>> b=1>>> c=1>>> id(b)7713592>>> id(c)7713592
3、賦值運算
pthon 運算子包括 賦值運算|算術運算|關係運算|邏輯運算;
運算式是將不同資料(包括變數、函數)用運算子號按一定規則連結起來的一種式子;
算術運算子 :
+ 加 - 減 * 乘 / 實數除 // 整數除法 % 求餘 ** 求冪運算
範例: >>> 1+12>>>4-13>>>3/21>>>3.0/21.5>>> 3//21>>> 3.0//21.0
>>> b = 3 ** 3 #賦值運算>>> b27>>> print b27>>> b -2 25>>> a-=50 #賦值給自己>>> a50
關係運算子
#判斷的作用>>> 1<2True>>> 1>2False>>> 3>5False>>> 3!=5 #注意!=順序True
邏輯運算子
and 邏輯與 # 兩個條件同時為真,返回true
or 邏輯或 # 兩個條件同時失敗,返回false
not 邏輯否 # 判斷結果取反
>>> 1>2False>>> not 1>2True>>> not 6<2 or 4<2 True
#運算子的優先順序
單純的算術運算和資料法則是一致的。
a=2+4*4
賦值運算
數算運算子高與賦值運算
#計算機
#!/usr/bin/pythona = int(raw_input("please input number1:"))b = int(raw_input("plwase input number2:"))print a+bprint a-bprint a*bprint 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
例如:0.0 、 12.0、-18.8、3e+7>>> x=3e+7>>> type(x)<type ‘float‘>>>> y=0.0>>> type(y)<type ‘float‘>>>> a=1.0>>> type(a)<type ‘float‘>#如果想要變為浮點型,只需要加一個小數點
複數型:complex |python 對複數提供內嵌支援,這是其他大部分軟體所沒有的
例:3.14j、8.32e-36j>>> num1=3.145j>>> type(num1)<type ‘complex‘>>>> #小寫字母j 表示定義一個複數類型 ;此處的e=10
#######################123 和 “123”#########################################
>>> a=123>>> stra="123">>> print a123>>> print stra123>>> a+straTraceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘>>> type(stra)<type ‘str‘>
#######################################################################
字串 string
#使用引號定義的一組可以包含數字、字母,符號(非特殊系統符號)的集合
#三重引號 docsting
>>> 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 mailhello my name is kong
#""" 三重引號
>>> mail="""tom:... i am jack... good bay... """>>> mail‘tom:\n\ti am jack\n\tgood bay\n‘>>> print mailtom: i am jack good bay>>>
################在python 中字串、列表、元組 稱作序列類型的資料#######################
字串:
範例:>>> a="abced">>> a[0]‘a‘>>> a[1]‘b‘>>> a[0]+a[1]‘ab‘
#+ 兩個字串的拼接
#起始索引從0開始 ,但是這樣只能取一個
#切片
>>> a[:2]‘ab‘>>> a[4:]‘e‘
元組 tuple :
元組和列表十分相似,只不過元組和字串一樣是不可變的,即不能修改元組。
元組通過圓括弧中用逗號分隔的項目定義
元組通常用在使語句或使用者定義的函數能夠安全的採用一組值的時候,即被使用的元組的值不會改變。
元組建立範例:
一般元組
>>> t=("name","kong","age","18")>>> t[1]‘kong‘>>> 定義單一元組>>> cc=("my name kong",)>>> cc[3]#注意要添加一個逗號#定義空的元組由一對空的圓括弧組成
元組的操作
元組和字串類型一樣屬於序列類型,可通過索引和切片操作。
額外的操作:定義一個變數,拆分元組(定義變數的模式)
>>> t=("milo","30","male")>>> name,age,gender=t>>> name‘milo‘類似於>>> a,b,c=1,2,3>>> a1>>> b2>>> a,b,c=(1,2,3) 注意添加小括弧>>> t=["name","age"]>>> t1=["kong","age"]>>> zip(t,t1)[(‘name‘, ‘kong‘), (‘age‘, ‘age‘)]#zip遍曆, 變為元組,但沒有絕對的聯絡
列表【】
#list 是處理一組有序項目的資料結構,即你可以在一個列表中儲存一個序列的項目
列表是可變類型的資料
列表的組成:用[]表示列表,包含了多個以逗號隔開的數字,或者字串
空列表的定義:
>>> list1=[]>>> type(list1)<type ‘list‘>單個值得定義不需要有逗號,也是列表(元組需要有逗號)>>> list1=[2,3,4,]>>> list1[2, 3, 4]>>> list1=["milo","30","male",]>>> list1[0] # 取值和元組相同,唯一的區別是可以重新賦值‘milo‘
列表的操作:
>>> list1[‘kong‘, ‘30‘, ‘male‘]>>> id(list1)140548135398648>>> list1[0]="kon">>> id(list1)140548135398648注意#儲存空間未修改,但是元組是不可以的
添加:
#藉助清單類型的方法>>> 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])
序列的兩個主要特點:
索引操作符:從序列中抓取特定項目
切片操作符:擷取序列的一個切片,即一部分序列
序列的基本操作:
1、len(): 求序列長度
2、 + :串連兩個序列
3、 * : 重複序列元素 "#"*50
4、in :判斷元素是否在序列中
>>> str1="abcdefssfs">>> ‘c‘ in str1True#注意引號的使用,它是區分字串和變數的方法>>> str1="abcded">>> ‘a‘ in str1True>>> a=100>>> ‘a‘ in str1True>>> a in str1Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: ‘in <string>‘ requires string as left operand, not int>>>
5、max():返回最大值
6、min():返回最小值
7、cmp(tuple1,tuple2) 比較兩個序列值是否相同
#############################################################################################
字 典:
#儲存資料的方式,更方便
字典是python中唯一的映射類型(雜湊表#無序的)
字典對象是可變的,但是字典的鍵必須使用不可變對象,並且一個字典中可以使用不同類型的健值。
keys()或者values()返回鍵列表或者值列表
items()返回包含健值對的元組
建立字典使用{}
>>> dic={"name":"kong","age":"232"}>>> dic["name"]‘kong‘混合類型的定義>>> dic1={1:‘name‘,‘age‘:20,‘d‘:‘1232‘}>>> dic1[1]‘name‘
#Factory 方法dict()產生字典,但是它比較慢,效率低,另一種方式是fromkeys(),字典中的元素具有相同的值,預設為none,最常用的還是{}
#訪問字典的值:可以直接使用key訪問:key不存在會報錯,可以使用had_key()或者in 和not in判斷,但是has_key()方法即將廢棄。
for迴圈遍曆:
>>> >>> dic1{1: ‘name‘, ‘age‘: 20, ‘d‘: ‘1232‘}>>> for k in dic1:... print k... 1aged>>> for k in dic1:... dic1[k]... ‘name‘20‘1232‘
本文出自 “思想大於技術” 部落格,謝絕轉載!
python 基礎 學習1