小魚魚的 Python 學習筆記(第一周)

2021-10-08 12:20:38 字數 3755 閱讀 6311

前言:百無聊賴之下,小魚魚開始學習python , 並且嘗試做一定的輸出,整理和回顧所學知識。學習資源為慕課上北京理工大學嵩天老師極其團隊講授的課程,博文內容基本為上課所學的再現。

~~ 這是一條正經的分割線 ~~

第一部分:關於python的發展歷史

python譯為蟒蛇,開發者guido 是個電視劇集愛好者,他在相當長的一段時間在內追乙個名為 monty python 英國喜劇團體的系列電視劇集,聽說類似於中國的武林外傳,突然也想追一波(誤)。python是一種面向過程的語言,執行方式為解釋。這裡涉及到乙個編譯與解釋的區別問題,編譯是指先將**轉換成計算機能看懂的機器碼,執行程式就是執行機器碼,速度相對較快。而解釋是用直譯器把程式一行一行執行, 因為是執行時才把程式解析並執行,所以執行比較慢。

2.python語言有兩種程式設計方式互動式和檔案式。

互動式-在idle中對每個輸入語句即時執行結果,適合語法練習。

檔案式-在乙個源程式的檔案中,批量執行一組語句並執行結果,是程式設計的主要方式。

第三部分:第乙個python程式設計例項

1.問題描述:實現華氏度和攝氏度的相互轉換

2.理解需求:跟著老師的思路,一共有三種理解。當然,我的想法只停留在第一種。。

理解1 直接進行溫度的數值轉換

理解2 將溫度資訊發布的聲音或影象形式進行理解轉換,需要用程式去處理聲音或者影象

理解3 監控溫度資訊的發布渠道,實時獲取並轉換溫度值,可以用程式來自動監控或者扒取網上溫 度資訊發布渠道,並實時轉換。需要用到網路通訊、爬蟲等

初學者採取第一種理解即可,接下來分析問題。

3.問題分析:

首先需要明確轉換前後的溫度體系,通常攝氏度用字母c/c表示,華氏度用字母f/f表示。

其次對問題進行邊界劃分,根據ipo(input programing output)要求去重構問題。

輸入:帶攝氏或者華氏標誌的溫度值

處理:根據溫度百年之選擇合適的溫度演算法

輸出:帶華氏或者攝氏標誌的溫度值

接著豐富細節。對輸入輸出格式的設計,一種慣用的思維是將標誌放在溫度最後。比如28c,82f。

4.演算法設計:

根據定義,利用已知公式設計演算法

c=(f-32)/1.8

f=c*1.8+32

5.小tip: 思考可以變通模仿的細節,增強舉一反三的知識遷移能力。例如將標識放到溫度數值之前 c82 f28

將單一標誌改為多字母的 82ce,又比如計算問題的擴充套件,比如貨幣轉換長度轉換面積轉換等。問題不同但**相似。

第四部分:python程式語法元素分析

這部分主要講了程式格式框架,命名與保留字,資料型別,語句與函式,輸入輸出方式等。

1.程式框架:

高亮:python程式設計環境裡的色彩輔助體系,可以更改預設設定

縮排:表達程式的格式框架,代表**間的包含和層次關係,縮排是語法的一部分,縮排不正確程式可能會執行錯誤。且要求縮排長度一致,一般用4個空格或者1個tab.多層縮排就按倍數遞增。

注釋:輔助性文字,不被計算機執行,一般用於標記程式功能。python有兩種注釋方式,單行注釋以#開頭,其後為注釋內容。多行注釋以』』'開頭和結尾,中間是注釋內容。

2.命名與保留字

命名:變數用識別符號來表示,命名就是關聯識別符號的過程,比如tempstr就是變數名字。命名有一定的規則,只能是大小寫字母、數字、下劃線以及漢字(重新整理了之前的認知)等字元的組合。比如 python_great,、這是門python好課。需要注意的是大小寫敏感(可以區別不同變數),首字母不能是數字123python,不能與保留字重合。

保留字(關鍵字):共有33個,比如 if,elif,else,in. 同樣也是大小寫敏感的,也就是說不能用if 但可以用if。

3,資料型別:程式語言不允許存在歧義,所以需要定義資料的形式。

比如"123"表示文字字串123,123則表示數字123

又比如一串數字:10,011,101

整數型別10011101

字串型別:「10,011,101」

列表型別*:[10,011,101] 表示三個數字

字串型別:是指由一對單引號或者雙引號(無區別)表示的有序字串行。字串標號從0開始,可以對其中的字元進行索引python共有兩種索引體系,分別是正向遞增序號(從0開始)和反向遞增序號(從-1開始)。

索引:返回字串中的單個字元 《字串》 [m]

比如"請輸入帶有符號的溫度值:"[0] 或者 tempstr[-1]

切片:返回字串中的一段字串 《字串》 [m:n]

比如"請輸入帶有符號的溫度值:"[1:3]( 相當於取第一第二個字元但不取第三個)或者 tempstr [0:-1](相當於去掉最後乙個字元,反向索引中最後乙個字元標號為-1)*/

數字型別:整數,浮點數都屬於該類

整數對應數學中的整數,浮點數對應數學中的實數,帶有小數部分,有正負之分

列表型別:由0個或者多個資料組成的有序序列。用[ ]表示,中間的元素用逗號分隔,使用保留字in判斷乙個元素是否在列表中。

比如[『f』,『f』]就表示兩個元素』f』和』f』

比如tempstr[-1] in [『c』,『c』]判斷前者是否與列表中某個元素相同。返回值是true 0r false

4.語句與函式

賦值語句:由賦值符號構成的一行**

用來給變數賦予新的資料值,比如c=(eval(tempstr[0:-1])-32)/1.8,就是將右側運算結果賦值給變數c

同時用於將賦值語句右側的資料型別同時作用於變數,比如tempstr = input(" ") ,就是input()返回乙個字串,那麼tempstr也是字串。

分支語句:是由判斷條件決定程式執行方向的語句

python使用保留字if elif else構成條件判斷的分支語句,分支語句中每個保留字所在行最後存在乙個冒號,如果條件為true,則執行冒號後縮排語句,否則冒號及其以後的縮排語句將會被跳過。

**函式:**類似數學中的函式關係,是乙個根據輸入引數產生不同輸出的功能過程

比如input( ) print( )。使用方式: 函式名 (引數)比如:eval(tempstr[0:-1])

輸入輸出函式:

評估函式eval()(新知識get)

作用是去掉引數最外側引號(可單可雙)並且執行餘下語句的函式.

使用格式: eval(字串或者字串變數)

比如 >>>eval(「1」) ---- 1

>>>eval(「1+2」)----3(已經執行過加法運算了)

>>>eval(』「1+2」』)----『1+2』

>>>eval(「print(「helloworld」)」)----「helloworld」

也就是說eval能將字串形式變為數字形式,還能將任何以字串形式表示的資訊變成python語句並執行。

第四部分:單元小結

-縮排、注釋、命名、變數、保留字

-資料型別、字串、整數、浮點數、列表

-賦值語句、分支語句、函式

-三個具體函式 input() output() eval() 以及print()的格式化

魚c筆記 Python字典(一)

部分內容來自 python的字典和真正的英文本典比較,python的字典將單詞稱為key 鍵 單詞對應的含義稱為value 值 python的字典在很多地方也稱為hash 雜湊 有些地方也稱為關係陣列。字典是python唯一的對映型別。對映型別和序列型別的區別 序列型別以陣列的形式進行儲存,通過索引...

魚c筆記 Python工廠函式

在python2.2之前,類和型別是分開的。類是屬性和方法的封裝,型別就是像整型 浮點型和字串這些。但是在python2.2之後,作者試圖對這兩個東西進行統一。他的做法是把int,float,string,list,tuple等這些bif 內建函式 統統轉換為工廠函式。type len type d...

深度學習入門python版小魚書筆記1感知機

與門 def and x1,x2 w1,w2,theta 0.5,0.5,0.7 tmp x1 w1 x2 w2 if tmp theta return 0 elif tmp theta return 1 def and x1,x2 x np.array x1,x2 w np.array 0.5,0...