Python學習(一)
主要參考廖雪峰微博教程
首先在Welcome to Python.org下載python進行安裝,需要在安裝時點擊同時設置路徑的選項,否則DOS命令會無法執行。
列印Hello World
print(hello world)
然後保存為py結尾的文件放在python的安裝目錄下(比如我是放在F盤下),並在DOS上輸入命令
f:python hw.py
運行代碼就可以得到hello world
python輸入利用print函數輸出字元串時,將字元串放在雙引號裡面print(,),逗號在print命令中會議空格的形式輸出。利用print進行計算時,不要加雙引號
python中還可以可以利用input()函數進行輸入,至於print與input的區別,可以自行理會。
##print函數輸出字元串時,將字元串放在引號裡面print(,),特別的,##因為""與等價,所以當句子中包含時,整個句子需要用""print("I hope you live a life youre proud of,","If you find that youre not,","I hope you have the strength to start all over again.")##利用print進行計算時,不要加雙引號print("100+200=",100+200)##利用input函數進行輸入name=input()Kikiname##運用input()以及print()函數運行小程序print(Hello,name)
利用python建一個小程序,
print(Please enter your name)name=input()print(Welcome !)print(name)##將文件保存為.py結尾的文件,然後在CMD中調用該文件(例如我保存在hw.py下)python hw.py##此時輸入名字,即可以得到不同的結果##一個有意思的小case,我們可以研究一下eval函數print(please enter your number)number=input()result=eval("number+number")print(result)
python可以直接處理的數據類型有:整數、浮點數(進行了四捨五入,沒有整數精確)、布爾值、字元串、列表、字典以及自定義數據類型等。特別,字元串中與「」等價
##在python IDE中輸入print(Im OK!)##會報錯print("Im OK!)##不會報錯##當句子中包含""時,可以用轉義符進行轉義print("Im "OK"!")
python中
表示換行(...也有同樣的功效,...表示需要換行的內容), 表示製表,\表示轉義,默認對r對內的內容不轉義
#現在我們可以將不再用兩個print()寫出來了# print(Please enter your name)# name=input()# print(Welcome !)# print(name)print(Please enter your name)name=input()print(Welcome !
,name)##print(Thanks!
for what youve done for me)print(Thanks!for what youve done for me)##嘗試rprint(\Im proud of you\
,If you do so)print(r\Im proud of you\
,If you do so)print(r\Im proud of you\,
,If you do so)##嘗試布爾值運算age=input()if eval(age)>18: print(adult)else: print(teenager)#保存為.py結尾的代碼(我保存在hw.py中,以前的代碼註銷即可),並在CMD中運行,可以得到一個布爾值運算的小程序python hw.py
python 中變數必須是數字、字母以及_的組合,且數字不能作為開頭
##python中的運算符print( 符號, 作用, 備註,
/, 除法運算, -,
//, 取地運算, -,
%, 求余運算, -,
=, 賦值, 區別R,
)
python字元與編碼,python中字元串用str形式存儲,在內存中以unicode表示,如果要在網路上傳或者保存到磁碟上,就需要把str換成bytes,python文件應該始終堅持對UTF-8 編碼對str與bytes的互換,因此一般在文件開頭需要注釋:
#!/user/bin/env python3
#-*-coding:UTF-8-*-
特別的聲明UTF-8編碼並不一定保證.py結尾的文件就是UTF-8編碼的,因此需要確保IDE在UTF-8 without BOM 編碼
ord()#獲取整數表示chr()#轉化為對應中文表示.encode()#可以編譯以str對應的unicode,需要注意的是encode與decode都無法將str編譯為ASCII編碼.decode()#可以編譯以unicode編碼的str,如果出現小錯誤時,可以調節參數errors=ignore來忽略城市.encode(UTF-8)(城市.encode(UTF-8)).decode(UTF-8)len()#可以計算str中包含的位元組數
python中固定化字元串的輸出與C語言一致,用%實現,%號自身需要%來轉義,注意此時轉義符會報錯。
python中另一種固定化字元串的辦法是利用.format()函數,該函數需要一次註明{0},{1}...等需要替換的地方
#具體佔位符以及替換內容print( 佔位符, 替換內容,
%d, 整數,
%f, 浮點數,
%s, 字元串,
%x, 十六進位整數,
)hello,%s,your bank account have received %f$ at %s%(kiko,10000,13:15)hello,%s,your bank account have received %.3f$ at %s%(kiko,10000,13:15)#%.3f表示取三位有效數字hello,%s,your queue number is %03d at %s,Thanks for your coming!%(kiko,12,13:15)#%03d表示0佔位print( the MoM is %.3f %%%(5)) hello,{0},your bank account have received {1:.3f}$ at {2}.format(kiko,10000,13:15)
列表與元組,列表有序的集合,特別的list可以包含list,可以刪除或增加,len()函數可以查看列表的元素個數,列表索引從0開始,因而查看最後一個元素,需要listname[n-1]
listname.append()在最後追加元素
listname.insert(place,variable)在列表插入元素
listname.pop(place)在列表中刪除元素
colleague=[john,tina,tracy,grace]#創建列表colleague[0]#與R語言寫法一致colleague[3]colleague[-1]#可以查看最後一個元素colleague.append(cathy)colleague.insert(1,adam)#一次僅能插入一條記錄colleague.pop(1)a=[1,2,3]colleague.insert(1,a)colleague[1][2]#可以取到3
元組與list相似,但是元組一旦初始化後便不可修改,因此一般會儘可能的使用元組使代碼更加安全,元組的不變指的是元組中的每個元素指向不變而不是list中的元素不變
t=()#定義空元組t=(1,)#定義一個元組t=(1)#定義1這個數字t=[apple,banana,[rose,lily]]t[2][0]=cornt[2][1]=rice
python條件判斷,if..else,if...elif..elif...else對齊,print兩個tab見距離,否則報錯
#if-else語句gender=input()if eval(gender)==1:#嚴格等於號 print(male)else: print(female)#if-elif語句city=input()if eval(city)==1: print(east coast)elif eval(city)==2: print(west coast)else: print(mid-continental)#也可以用int()來代替eval()#計算BMI指標height=float(input(height=))weight=float(input(weight=))bmi=weight/height**2if bmi<18.5: print(lower)elif bmi>=18.5 and bmi<25: print(normal)elif bmi>=25 and bmi<28: print(overweight)elif bmi>=28 and bmi<32: print(obese)else: print(severe overfat)
python循環的循環體主要有兩種,一個是for..in...,另一個是While
python中中斷循環有break語句,while...if...break...
continue語句 while...in...continue
死循環可以用ctrl+c退出
#for...in循環體s=0for i in range(101): s=s+i i=i+1print(s)#計算0到100的等差數列之和s=0i=0while i<100: i=i+1 s=s+iprint(s)#print()寫在循環體內與循環體外有差異i=0while i<20: print(i) if i>10: break i=i+1#此處與break對齊的話,循環失效!!#列印1:11i=0while i<20: print(i) i=i+1 if i>10: break#列印1:10,變數條件是寫在break前還是break後i=0while i<20: i=i+1 if i%2==0: continue print(i)#列印奇數,跳過所有的偶數
python字典(其他語言中稱之為map),使用k-v存儲。便於查詢,dict中一個K是不可變對象,只能對應一個V,多個對應會僅保存最後一個,一個K必須有一個V否則會報錯
d={michael:95,bob:75,tracy:85}d[tracy]d.get(thmoas)#判斷是否存儲Vthomas in d #判斷是否存儲Vd.pop(bob)#刪除bob記錄d={1,2,3}#V均為空值d={1,[2,3]}#報錯,key變成list不滿足hash類型
python中set的與dict類似,但是不存儲value,set中沒有重複的key,set必須以list為基礎。
set可以看做無序、無重複元素的集合,因而兩個set可以做集合運算
s=set([1,2,3])#重複元素在set中被自動過濾s.add(4)#增加元素s.remove(4)#刪除元素s2=set([2,3,4])s&s2#交集運算s|s2#並集運算d={1,[2,3]}#報錯,key變成list不滿足hash類型
推薦閱讀:
※數據分析基本過程
※R語言實戰—02-創建數據集
※沫小姐學數據分析之Python入門篇
※R語言實戰第八章:回歸
TAG:數據分析 |