Python最基礎的東西

今天試了一下Jupyter notebook的markdown另存為md文件,然後直接導入到知乎中,真好用,而且根本不用再費力排版。所有python最基礎的知識的學習過程也都在下面文檔中了。


數據類型基礎知識:

#字元串nameStr=SimonmoneyStr=很窮#字元串合併print(1.用+連接字元串結果:, nameStr+moneyStr)#格式化字元串#格式化寫法,先寫%再寫s,%s。如果寫反了,會出現ValueErrorstr1=2.My name is %s, and my wife is %s % (Simon, beautiful)print(str1)#整形years=31print(r"3.Im", years, years old)#浮點型數值height=1.88print(4.My height is, height, m)#列表list[],可變,可重複classmates = [張三, 李四, 王二狗]#列表長度classmatesLen = len(classmates)print(5.列表長度--同學數:, classmatesLen)#在列表末尾添加元素classmates.append(錢五)print(新來一個同學之後:, classmates)#刪除元素del classmates[-1]print(新來的同學又走了:, classmates)#使用下標索引查詢:從左開始是0,從右開始是-1classmate1 = classmates[2]print(第三個同學是:, classmate1)#使用下標直接修改元素print(張三改名之前:, classmates[0])classmates[0] = 張一print(張三改名之後:, classmates[0])#集合set,可變,不重複wine = set()#使用update增加元素,傳入一個列表[]wine.update([貴州茅台, 五糧液, 洋河股份,古井貢酒, 口子窖, 瀘州老窖])print(6.A股酒仙集合:, wine)#使用discard刪除集合元素,一次只能刪除一個元素wine.discard(瀘州老窖)print(A股白酒TOP5:, wine)#查詢元素是否在集合中LZLJbool=瀘州老窖 in wineif LZLJbool == True: print(瀘州老窖在集合中)print(瀘州老窖不在集合中,已經跌出TOP5)#字典dictionary{},鍵key不能改,使用數字、字元串、元組;值value可以改register = {001:張三, 002:李四, 003:王二狗, 004:錢五}score = {001:[張三, 一年三班, 89, 93, 47, ], 002:[李四, 一年一班, 95, 98, 89, ], 003:[王二狗, 一年二班, 83, 65, 70, ], 004:[錢五, 一年三班, 66, 61, 69, 及格]}#向字典增加元素score[005] = [Cherry,一年一班, 70, 79, 80, ]print(7.考試成績單:, score)#刪除字典元素del score[005]print( 哇哇哇Cherry回國了:, score)#查詢元素score_ZS = score[001]print( 張三的成績:, score_ZS)#修改元素值valueprint( 張三成績修改之前:, score[001])score[001] = [張三, 一年三班, 89, 93, 97, ]print( 張三成績修改之後:, score[001])#布爾類型True和Falseappearance = handsomeh in appearance#H in appearance#空值Noneweight = Noneif weight == None: print(8.weight是空值)else: print(8.weight不是空值)#用三引號 定義多行字元串print(r9.hello,
world!)#用三引號定義多行,
又回車一行。一共空2行
print(10.hello,
world!)1.+連接字元串結果: Simon很窮2.My name is Simon, and my wife is beautiful3.Im 31 years old4.My height is 1.88 m5.列表長度--同學數: 3新來一個同學之後: [張三, 李四, 王二狗, 錢五]新來的同學又走了: [張三, 李四, 王二狗]第三個同學是: 王二狗張三改名之前: 張三張三改名之後: 張一6.A股酒仙集合: {瀘州老窖, 洋河股份, 口子窖, 五糧液, 古井貢酒, 貴州茅台}A股白酒TOP5 {洋河股份, 口子窖, 五糧液, 古井貢酒, 貴州茅台}瀘州老窖不在集合中,已經跌出TOP57.考試成績單: {001: [張三, 一年三班, 89, 93, 47, ], 002: [李四, 一年一班, 95, 98, 89, ], 003: [王二狗, 一年二班, 83, 65, 70, ], 004: [錢五, 一年三班, 66, 61, 69, 及格], 005: [Cherry, 一年一班, 70, 79, 80, ]} 哇哇哇Cherry回國了: {001: [張三, 一年三班, 89, 93, 47, ], 002: [李四, 一年一班, 95, 98, 89, ], 003: [王二狗, 一年二班, 83, 65, 70, ], 004: [錢五, 一年三班, 66, 61, 69, 及格]} 張三的成績: [張三, 一年三班, 89, 93, 47, ] 張三成績修改之前: [張三, 一年三班, 89, 93, 47, ] 張三成績修改之後: [張三, 一年三班, 89, 93, 97, ]8.weight是空值9.hello, nworld!10.hello, world!

條件判斷:

#if...elif...else多條件判斷moneyNum = int(input(請輸入你一天的工資:))if moneyNum < 0: print(你個敗家孩子!不賺錢還花錢!)elif moneyNum <= 30: print(Soooo sad!你個窮鬼!你的月薪才, 30*moneyNum)elif moneyNum <= 50: print(A littel poor, your salary is just, 30*moneyNum)elif moneyNum <=100: print(What a pitty! 你的月薪剛過低保線:, 30*moneyNum)elif moneyNum <=150: print(Emmmm 你的工資能吃的起肉了:, 30*moneyNum)elif moneyNum <=300: print(Good! 你的工資能買房了:, 30*moneyNum)else: print(恭喜!你已經是個有錢人!工資達到:, 30*moneyNum)請輸入你一天的工資:99What a pitty! 你的月薪剛過低保線: 2970

循環:

#for...in...循環,遍歷序列的每一個元素ageList = [去年你9歲, 今年你10歲, 明年你11歲]for i in range(3): print(ageList[i])去年你9今年你10明年你11#將字典grade每一個評價的優良中及格,修改為abcd,再改成大寫的ABCDgrade = {}grade[張三] = zhangsangrade[李四] = lisigrade[王二狗] = wang2gougrade[錢五] = qianwugrade#遍歷每個鍵值對for key, value in grade.items(): #新增一個變數存儲大寫的value,此處的value只能是數字和字元串,不能是列表list,否則會報錯:list沒有upper屬性 value_Upper = value.upper() #注意下面的寫法:每一次循環,都將value變為大寫,賦給對應的key grade[key] = value_Upperprint(grade){張三: ZHANGSAN, 李四: LISI, 王二狗: WANG2GOU, 錢五: QIANWU}#continue跳出本次循環,用於排除不要的元素for key, value in grade.items(): #排除王二狗 if key == 王二狗: continue else: print(當前學生姓名:, key, 當前學生英文名:, value)當前學生姓名: 張三 當前學生英文名: ZHANGSAN當前學生姓名: 李四 當前學生英文名: LISI當前學生姓名: 錢五 當前學生英文名: QIANWU#break退出整個循環體,用於找到特定的元素for key, value in grade.items(): if key == 王二狗: print(王二狗找到啦!中文名:, key, English name:, value) break print(這不是王二狗,這是:, key, value)這不是王二狗,這是: 張三 ZHANGSAN這不是王二狗,這是: 李四 LISI王二狗找到啦!中文名: 王二狗 English name: WANG2GOU

函數:

這是一個多行注釋下面我們來定義一個函數這個函數就是求矩形面積的def rect_square(a,b): s = a*b return s#下面來調用這個函數a=5b=10S = rect_square(a,b)print(矩形的面積為:, S)矩形的面積為: 50#不可變數據類型:數字,字元串,元組def changeInt(x): x += 1 return xa = 0#先輸出a的原始值print(a的值為:, a)#把a當做參數傳入函數b=changeInt(x=a)#只是把0傳給了函數參數x,變數a的指向並未改變,所以仍輸出0print(a的值為:, a)#如果定義函數不寫return,則返回Noneprint(b的值為:, b)a的值為: 0a的值為: 0b的值為: 1#可變數據類型:列表testList = [1,2,3,4,5]def changelist(list): list = list.append(6) return list#輸出testList的原值print(testList:, testList)#將testList傳入函數changelist(testList)#輸出改變後的值print(testList:, testList)testList [1, 2, 3, 4, 5]testList [1, 2, 3, 4, 5, 6]#局部變數&全局變數#全局變數,可以在函數內部和外部調用abc = 1changeInt(abc)print(abc)#局部變數,僅能在函數內部調用。在外部調用,會報錯:未定義。def study(): kk=55print(kk)1---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-10-1dd0200f41dd> in <module>() 7 def study(): 8 kk=55----> 9 print(kk)NameError: name kk is not defined

模塊:

#引入內置模塊import sys#模塊中的函數、屬性sys_pathList = sys.path#sys.path屬性為一個列表的路徑值print(我的Python路徑為:
, sys_pathList)我的Python路徑為: [, C:\Users\surface\Anaconda3\envs\py3\python36.zip, C:\Users\surface\Anaconda3\envs\py3\DLLs, C:\Users\surface\Anaconda3\envs\py3\lib, C:\Users\surface\Anaconda3\envs\py3, C:\Users\surface\Anaconda3\envs\py3\lib\site-packages, C:\Users\surface\Anaconda3\envs\py3\lib\site-packages\win32, C:\Users\surface\Anaconda3\envs\py3\lib\site-packages\win32\lib, C:\Users\surface\Anaconda3\envs\py3\lib\site-packages\Pythonwin, C:\Users\surface\Anaconda3\envs\py3\lib\site-packages\IPython\extensions, C:\Users\surface\.ipython]#導入pandas模塊,並導入excel數據import pandas as pd#定義文件名字元串,可以不寫這句。excelnameStr = C:cucmingScore of students.xlsx#如果不寫上句,則下句這麼寫:stu_score = pd.read_excel(C:cucmingScore of students.xlsx, Sheet1)stu_score = pd.read_excel(excelnameStr, Sheet1)print(stu_score)type(stu_score)ID name math english science0 1 張三 67 88 731 2 李四 78 69 992 3 王二狗 73 91 793 4 錢五 92 80 89pandas.core.frame.DataFrame

數據結構:

#隊列queue:先入先出#導入collections包的deque(雙隊列)from collections import deque#定義隊列:銀行叫號系統bank_Deque = deque([1,2,3,4,5])#新來一位顧客取號:入隊bank_Deque.append(6)print(入隊後的狀態:, bank_Deque)#第一位顧客辦完離店:出隊bank_Deque.popleft()print(出隊後的狀態:, bank_Deque)入隊後的狀態: deque([1, 2, 3, 4, 5, 6])出隊後的狀態: deque([2, 3, 4, 5, 6])#棧stack:後入先出#類似於瀏覽器的「後退」按鈕back_Deque = deque([Home, First webpage, 2nd web page, 3rd webpage])#先進行入棧操作,即點擊4th webpageback_Deque.append(4th webpage)print(back_Deque)#點擊「後退」,4th webpage先出棧back_Deque.pop()print(back_Deque)deque([Home, First webpage, 2nd web page, 3rd webpage, 4th webpage])deque([Home, First webpage, 2nd web page, 3rd webpage])#排序字典#導入collections包的OrderedDictfrom collections import OrderedDict#與輸入key的順序一致studentOrdic = OrderedDict({貴州茅台:600519, 五糧液:000858, 洋河股份:002304, 口子窖:603589})studentOrdicOrderedDict([(貴州茅台, 600519), (五糧液, 000858), (洋河股份, 002304), (口子窖, 603589)])#計數器counterfrom collections import Countertest_str = Counter("I am so handsome that everyone like me")print(type(test_str))#統計字母e出現的次數print(字母e出現的次數為:, test_str[e], times)#出現次數最多的5個字元print(test_str.most_common(5))print(test_str)<class collections.Counter>字母e出現的次數為: 6 times[( , 7), (e, 6), (a, 3), (m, 3), (o, 3)]Counter({ : 7, e: 6, a: 3, m: 3, o: 3, s: 2, h: 2, n: 2, t: 2, I: 1, d: 1, v: 1, r: 1, y: 1, l: 1, i: 1, k: 1})

推薦閱讀:

翻糖蛋糕是什麼,基礎知識入門,了解一下?大明星們都喜歡翻糖蛋糕哦

TAG:Python入門 | 基礎知識 |