小白自學python的第一週

m0_51685210發表於2020-10-21
	大一在學c的同時學習一下python,機器人的夢想???
	這裡得感謝@風變程式設計



一、print函式、input函式和變數

在學習程式語言之前,先用一張圖解決一下計算機的工作原理
eg:在這裡插入圖片描述

在這裡插入圖片描述
剛才,雖然只是輸入了一個簡單的print,但在背後,這段Python程式碼卻幫我們做了這樣的一些事情:(0)我們向計算機發出指令:“列印‘520’”;(1)Python把這行程式碼編譯成計算機能聽懂的機器語言;(2)計算機做出相應的執行;(3)最後把列印結果呈現在我們面前。

?開始學習print
print()函式的用法有以下幾種:單槍匹馬——不帶引號、搭配單引號、搭配雙引號、搭配三引號。在這裡插入圖片描述
相應地,在括號內沒有引號的情況下,我們應該往括號內放入計算機能夠“理解”的內容,如:數字或數學運算。此時,print函式會讓計算機嘗試去“讀懂”括號裡的內容,並列印最終的結果。因此,當計算機讀懂資料數字後,就列印這個資料。當讀懂數字運算後,則列印得到運算結果。
計算機的腦回路比較特別:只能理解數字,卻讀不懂文字。因為數字和數學運算是標準化、有固定格式的,而文字卻能夠千變萬化,如果你直接讓計算機print(我愛你),它會一臉懵並大聲報錯:“這三個字啥意思,你沒有定義清楚,不懂誒……”,然後給你一個大大的bug。
同樣的,在正式敲程式碼之前,必須切換成英文輸入狀態,保證print()函式的括號是用【英文括號】,不然會報錯?。【切換英文輸入的Tips:Mac系統請按command+空格鍵切換中英文輸入,Windows系統請按ctrl+shift鍵切換中英文輸入】

當括號內有引號的時候,就相當於告訴計算機——你不需要執行多餘的操作,我輸入什麼,你就列印什麼。
在這裡插入圖片描述
在print()函式內不僅能使用單引號,還能使用雙引號,兩者的效果沒什麼區別,都能讓你列印出一行文字。【注意⚠️:雙引號是英文輸入法下的雙引號,而不是兩個單引號!】
除了三引號以外,我們還能用轉義字元\n來實現換行,?是常見的一些轉義字元在這裡插入圖片描述
計算機能夠讀懂的資料除了數字或數學運算外,還有變數。
變數的賦值?
在這裡插入圖片描述
除了簡單的a=%d之外,我們還可以利用input函式實現人機互動,但是input有一個要注意的地方?
對於input()函式來說,不管我們輸入的回答是什麼,不管你輸入的是整數1234,還是字串『隱形斗篷是我最想擁有的魔法』,input()函式的輸入值(蒐集到的回答),永遠會被【強制性】地轉換為【字串】型別。(Python3固定規則)
在這裡插入圖片描述

二、資料型別與轉換

python裡的資料主要有三種?
在這裡插入圖片描述

在計算浮點數時,計算機會把十進位制的浮點數轉化為二進位制,在這個過程中,計算機難免會出現誤差,eg:
在這裡插入圖片描述
在0.85的尾巴上多了一個1,這是因為,Python計算浮點數時,會先把0.55和0.3轉化成二進位制數。在這裡插入圖片描述
Python裡的整數、浮點數和數學意義的整數、小數是一樣的,它最重要的作用是與運算子號結合,進行數學計算。python裡常見的運算子有?
在這裡插入圖片描述
python裡的運算順序是和現實世界一樣的,從左往右,括號先,乘除先。
那字串的運算是什麼樣的?
在這裡插入圖片描述
在這裡插入圖片描述
輸出是這樣的:

在這裡插入圖片描述
但是在進行字元拼接的時候,有一點需要注意
⚠️’+‘的拼接只適用於同型別的資料,例如:str+str✅ str+int✖️
當面對更為複雜的命令時,我們無法確定某個變數是用什麼資料型別寫的,這時候type()函式應運而生。
在這裡插入圖片描述
在這裡插入圖片描述
那如果想把int轉換成str型別的資料的時候我們怎麼辦呢?
here comes 資料轉換magic
在這裡插入圖片描述

這裡有一點需要⚠️:str型別的浮點數是不能轉化為整數型別的,需要先把字串型別的浮點數轉換成float型別,然後才能利用int()抹零取整。
eg:int(‘113.3’)= 113✖️
‘113.3’==》 float(‘113.3’)=〉int(float(‘113.3’))
用一張圖總結一下在這裡插入圖片描述

三、條件判斷與巢狀

在python裡面常見的條件判斷是if?
在這裡插入圖片描述
和其它程式設計語言(如 Java、C 語言)採用大括號{}分隔程式碼塊不同,Python 採用程式碼縮排和冒號( : )來區分程式碼塊之間的層次。一般來說,相鄰層級一般以四個縮排即一個tab鍵來區分。eg:在這裡插入圖片描述

四、列表、元組和字典

在這裡插入圖片描述
就我而言,元組在python裡面是比較少出現的,它跟列表(list)的最大區別就是它的不可更改性,列表的元素是可以刪減的,而元組(tuple)的元素是不可更改的,包括他們的順序和值。當然,元組是用括號定義的,這個才是最大的區別哈哈。eg:(1,2,3,4,5)在這裡插入圖片描述
列表函式的呼叫格式一般是list.函式(object’要附加的元素’)或者【site‘要修改的元素在列表中的位置即偏移量’】
這裡有一點,就是列表的順序是從左往右,從0開始,最左端的位置是0,而從末尾開始數的話,最右端的元素也可以用-1來表示,從右往左依次是-1,-2,-3.。。。。。
列表的順序有這麼一句話我挺喜歡的,就是請新增圖片描述
什麼意思呢,舉個?吧
在這裡插入圖片描述
可以看到,冒號左邊是空的,所以要一直取到偏移量為0的小明,冒號右邊的是2,所以要從偏移量0一直取到1(因為2是在右邊的,所以不取2)
如果是print(students【0:】)那麼輸出的就是小明,小紅,小剛(因為0是在左邊的,所以0所在的小明也要取)
字典的樣子是?
在這裡插入圖片描述
在這裡插入圖片描述

字典和列表有3個地方是一樣的:1.有名稱;2.要用=賦值;3.用逗號作為元素間的分隔符
而不一樣的有兩處:1.列表外層用的是中括號[ ],字典的外層是大括號{ };
2.列表中的元素是自成一體的,而字典的元素是由一個個鍵值對構成的,用英文冒號連線。如’小明’:95,其中我們把’小明’叫鍵(key),95叫值(value)。這樣唯一的鍵和對應的值形成的組合,我們就叫做【鍵值對】。從字典中提取對應的值的用法。和列表相似的是要用[ ],不過因為字典沒有偏移量,所以在中括號中應該寫鍵的名稱,即字典名[字典的鍵]。這裡需要強調的是,字典中的鍵具備唯一性,而值可重複。如果不小心宣告瞭兩個以’小明’為鍵的【鍵值對】,後出現的【鍵值對】會覆蓋前面的【鍵值對】。在這裡插入圖片描述
字典和列表最常見的增刪減方式比較相似?
在這裡插入圖片描述

相關文章