Python學習筆記

2021-06-18 11:45:40 字數 4454 閱讀 3852

之所以寫學習筆記,一是可以督促自己堅持學習;二是自己記憶力不好,做了筆記,以後忘記了,方便複習鞏固,所以,此筆記力求簡潔,便於以後速查。三是當作對自己表達能力的一種鍛鍊。

雖然自己目前工作中用到指令碼語言的機會不多,但是了解掌握一本指令碼語言還是很有必要的。

本學習筆記,是基於codecademy的python教程的,可以算是對它的翻譯和摘錄。

python是一門強大的,靈活的程式語言,可以用於網頁開發,桌面圖形使用者介面,建立遊戲等。python是高階的,解釋性的,物件導向的語言。

第一課  python 語法

1.1 變數宣告,非常簡單,就像自然語言一樣。如 a = 5,宣告乙個整形變數a,它的值是5。

1.2 資料型別:integer整型,floats浮點型,boolean布林型(true/false,python是大小寫敏感的),strings字串。

1.3 語句:python中語句是用空白符分隔的。對於函式,需要用4個空格來縮排**。

1.4 單行注釋: #開頭的行為注釋,會被直譯器忽略,不會影響**的執行。

1.5 多行注釋:當然可以每行都以#開頭來達到此目的,更簡便的方式是使用兩隊「三個雙引號」。例如: """you can write this in multiple lines""".

1.6 算術運算子:六個算術運算子, + - * /  **指數運算子 %模運算子

第二課 字串 strings

2.1 字串是另乙個有用的資料型別。字串常量是指用單引號('')或者雙引號("")括起來的內容。

2.2 轉義字元: 反斜槓\(backslash)   如 \'  ,  "i\'m a programmer\n".  

2.3 利用下標訪問每個字元如下圖,"python"包含六個字元,下標從0開始,"python"[1] 得到的是 'y'

+---+---+---+---+---+---+

| p  | y |  t  | h | o | n |

+---+---+---+---+---+---+

0   1    2    3    4    5

2.4 可以對字串操作的方法

len() 得到字串長度 , 如len("python")

str() 將內容轉換成string, 如str(3.14)  

lower() upper() 將字串中所有字元變成小寫/大寫字元,如 "python".lower()  "python".upper()

上面四個方法的操作方式不太一樣,因為lower()和upper()是string型別特有的方法,只能用於string型別,所以需要用.操作符;而len()和str()可以用於很多物件,不止string。

2.5 控制台輸出

print "string to console" 可以將字串顯示到控制台。

要列印多個字串可以用"+"號直接連線字串,對於字串與非字串要想連線起來,就需要將非字串型別顯式轉換為字串,這裡要用到前面提到的str()方法。

字串一旦建立號,它的內容是不能改變的,如果想輸出變化的內容怎麼辦呢?字串格式化(string formatting)能夠滿足這個需求。

字串格式化使用%符號,如 print "my name is %s, i live in %s" % (my_name, my_city)

需要使用者輸入內容時,用variable_name = raw_input('prompt')   

判斷乙個string是否只包含字母,用isalpha()   

第三課  條件判斷和流程控制

3.1 比較運算子1. equal to (==)   2. not equal to (!=)  3. less than (<)  4. less than or equal to (<=)   5. greater than (>)  6. greater than or equal to (>=)

3.2 邏輯運算子1. and   2. or   3.not   優先順序  not > and > or

3.3 條件語句需要注意的是和函式體的縮排一樣,這裡的條件語句體要四個空格縮排

if expression:

do something

elif other expression:

do something

else:

do something

第四課  函式

函式是程式中一段用來執行某項特定任務的可以重複使用的**

4.1 函式的好處

1.不同的函式處理不同的任務,可以更好地組織**,如果**中有錯誤,易於找到和修復bug。

2.減少**的冗餘,增加復用性。

3.物件(objects)可以有自己的函式/方法。

4.d.r.y(dont repeat yourself) 幫助我們更容易地避免重複自己。

5.遞迴是乙個強大的工具,它允許多次執行同一段**甚至是呼叫自己。有些程式設計問題必須用遞迴才能解決。函式使實現遞迴成為可能。

4.2 函式的構成

函式有三部分構成

1.函式頭:包括 def關鍵字,函式名字,引數列表和冒號。

2.可選的文件字串(docstring):有三重引號包括,可以有多行的用來描述函式功能的注釋。

3.函式體:函式執行的**塊。像if/elif/else語句一樣,函式體需要四個空格縮排。

下面是乙個簡單函式的例子:

def spam():

"""print eggs! to console"""

print "eggs!"

4.3 變長引數(splat)

當不知道使用者將傳給函式多少個引數的時候,要用到變長引數,語法就是在引數名字前加乙個*號。

4.4 模組(module)

乙個模組是乙個包含你可以使用的變數和函式定義的檔案。當需要用到某個模組中的變數或者函式時,就需要import相應的模組 。

1.普通匯入:如import module1,這樣當使用module1中的函式func時需要使用點號分隔符,如module1.func。

2.函式匯入:允許只匯入某個模組中的某些特定的變數或者函式。語法如下:from module import function

3.萬能匯入:語法 from module import *

4.5 內建函式

1.max():引數可以是任意個數的,返回這些引數中的最大值。

2.min():返回一系列引數中的最小值。

3.abs():接收乙個引數,返回它的絕對值。

4.type():返回引數的型別資訊。

如:print type(42)       ==>  

print type(4.2)      ==>  

print type('spam')   ==>  

print type()   ==>  

print type((1,2))    ==>  

第五課 列表和字典

列表相關的函式

index()my_list.index("str") 返回"str"出現的第乙個下標  

insert()my_list.insert(3, "str") 在my_list列表第3個下標位置插入"str",將之前下標位置為3及之後的元素依次後移一位。

remove()my_list.remove(value) 將移除my_list第乙個出現的value。

如果想對列表中的每乙個元素做一些操作,可以利用for迴圈: 

for variable in list_name:(注意此處的":"號)

#do something

字典和列表類似,不過訪問字典中的值是通過查詢鍵(key)而非下標(index)。鍵(key)可以是字串或者數字。和列表一樣,字典也是可變的,這意味著字典在建立之後還是可以被修改的。這樣的優點之一是在列表建立之後,我們可以用如下形式向字典中新增鍵/值對: dict_name[new_key] = new_value

空字典定義: empty_dicgt ={}

從字典中移除乙個專案: deldict_name[key_name]

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...