1. 程式人生 > >python入門知識點(上)

python入門知識點(上)

1.硬體系統:

              主機部分:

                     1.中央處理器(CPU): 電腦的大腦

                            運算器: 數值計算和邏輯判斷

                            控制器: 可以電腦中的各個部件協同工作

                           

                     2.內部儲存器:

                            隨機儲存器:記憶體條

                                   使用電訊號表示資料;

                                   特點:

                                          1.讀寫資料速度快

                                          2.臨時儲存資料

                                         

                            只讀儲存器

                           

              外設部分:

                     輸入裝置:

                            鍵盤

                            滑鼠

                            攝像頭

                           

                     輸出裝置:

                            顯示器

                            音箱

                            印表機

                           

                     外部儲存器:

                            U盤

                            硬碟:

                                   使用磁表示資料.

                                   特點:

                                          1.讀寫資料的速度慢

                                          2.永久儲存資料

                            行動硬碟

 

軟體系統

              計算機只有硬體,沒有軟體,這臺計算機就是一個裸機.

      

       1.作業系統:

             是一個大型軟體,是一個最基本最重要的軟體,它可以管理硬體和支援其它軟體的執行.

             

              作用:

                     (1).控制硬體,支援其它軟體的執行

                     (2).給使用者提供了3種使用硬體的方式:

                            圖形介面

                            命令列視窗

                            系統介面

                           

2.裝置驅動程式

             

管理硬體.

              作業系統是通過驅動程式來管理硬體的. 

      

3.編譯器(語言處理程式):

      

              用來把程式設計師開發的程式 翻譯 成 機器指令的.

              計算機底層使用001010之類的數字序列來儲存資料.計算機只認識01010這樣的資料(機器指令,二進位制資料,位元組資料)

      

4.計算機程式執行的過程

 

       print("hello")

      

5.程式語言

 

       C,C++,Java,GO,C#,Python

       程式語言:

              是一種人與計算機之間進行交流的語言.

 

6.python的認識

 

       python的特點:

              1.功能強大

              2.擴充套件性強

              3.語法簡單易學

              4.免費開源

 

7.註釋

       註釋:    

              用於解釋說明程式的文字.

             

       作用:

              用於解釋說明程式,讓別人能夠看懂你的程式.

             

       註釋不會被執行,只是用來給開發人員看的.

             

       分類:

              1.單行註釋

                     註釋的文字只能寫成一行

                     格式:

                            # 解釋的文字

                           

                            可以新增在程式碼的上面或者右邊.

                           

                     快捷鍵:  Ctrl + /

                    

              2.多行註釋

                     註釋的文字只能寫成多行

                     格式:

                            '''

                            解釋的文字

                            解釋的文字

                            解釋的文字

                            解釋的文字

                           

                            '''

                           

                            """

                            解釋的文字

                            解釋的文字

                            解釋的文字

                            解釋的文字

                            """  

                           

       什麼時候添加註釋?

              1.程式碼的邏輯比較複雜難懂

              2.核心程式碼

在python的語法規範中推薦使用的方式:

# -*- coding:utf-8 -*-

 

8.變數的概念

       計算機執行程式的目的是 :為了處理資料.

             

       計算機程式處理的資料往往是外界提供的.自己把資料臨時儲存起來,然後再處理.

 

       在程式中如何臨時儲存資料?

      

              使用 變數 臨時儲存資料.

             

       從本質上講,變數是儲存中的一塊區域.

             

9.定義變數及其使用

 

       在記憶體中開闢一塊區域儲存資料.

      

       定義格式:

      

              變數名 = 數值

             

       通過變數名來使用.

 

10.變數的型別(資料型別)

 

 

11. 關鍵字

 

       識別符號:

              給變數,函式,類,檔案取的名字.

             

       識別符號的命名規則:

      

              1.必須遵守的規則

                     識別符號由字母、下劃線和數字三種組成,且數字不能開頭.

                    

                     而且不能是關鍵字.

                    

              2.開發的習慣

             

                     見名知意

                            a = 10

                            age = 10

                            name = "張三"

      

       關鍵字:

      

              在python語言中已經賦予了特殊的含義,已經被python語言使用了的單詞.

         

              檢視關鍵字:

                     1.匯入工具包:keyword

                            import keyword

                     2.呼叫工具包中的功能,獲得關鍵字列表:

                            print(keyword.kwlist)

 

11.變數的型別

 

       基本的資料型別:

      

              數字型別:

                     整數:int :1 2 3

                     小數:float :3.14 -2.5

             

                     布林型別:bool

                            比較特殊,只有兩個值:True和False,非零的數字表示True,0表示False

                    

              字串型別:str

                     使用雙引號或者單引號引住的任何資料,都叫做字串.

                     "hello" 'world' "10" "" " " "5" "&>"

                    

       高階的資料型別:

              字串

              列表

              元組

              字典

              set集合

 

11.不同型別資料間的運算

      

/ 除號

       % 取餘,取模

 

       #兩個整數相除

       print(10 / 2) # 5.0

       print(10 / 3) # 3.3333333333333335

 

 

       # 取餘: 如果這個資料餘上2 結果為0,那麼這個數一定是一個偶數

       print(3 % 2)

       print(10 % 2)

       print("1.2")

 

       # 字串與整數不能相加:TypeError: must be str, not int

       # print("hello"+2)

 

       # 字串與整數相乘:會把字串拼接n次,這個n是整數

       print("hello"*3)

 

       # 字串與字串相加:這裡的+號,是字串連線符

       print("hello" + "world" + "python")

 

12.輸出

 

       呼叫直譯器自帶的print()函式,把資料輸出到控制檯.

       如果輸出的字串中包含了變數的值,需要在字串中使用格式化操作符來佔位.

       格式化操作符:

              字串:%s

              整數:%d    %nd

              小數:%f    %.2f

             

              不確定變數的型別時,使用%s.

             

       如果輸出的字串中包含了多個變數的值,需要在%後面使用小括號括住多個變數,變數之間使用逗號隔開,注意變數的順序與格式化操作符的順序一一對應.

 

13.輸入

 

       從鍵盤上錄入一個數據,並且得到這個資料.

       需要呼叫直譯器提供的一個函式input("提示語"):

              這個函式可以讓你在鍵盤上錄入一個數據,並且得到這個資料.

       這個函式比較特殊:

              不管在鍵盤上錄入的資料是什麼型別的,這個函式得到的就一個字串型別的資料.

 

14.資料型別轉換

 

       目標資料型別(資料)

      

       例如:

              a = "10"

              int(a)

              把字串a 轉成int型別的數字.

             

              b = 10 # int型別

              # 把數字b轉成字串型別的

              str(b)

 

15.認識Bug

 

       Bug是指程式中出現的不正常的情況:

              1.程式出錯

              2.程式執行的結果不是預期的結果

             

       出現bug的原因:

              1.因為手誤

              2.對技術的理解不夠深入

 

16 .Debug除錯程式

 

除錯程式: 檢視程式執行的過程,找到出現bug的原因,並且修改錯誤.

      

       Debug除錯(斷點除錯):

       斷點:在程式中加上的一個標記;

       斷點除錯:

              在程式中加上斷點,通過檢視程式執行的過程,找到出現bug的原因,並且修改錯誤.

             

       Debug程式時,程式碼執行到斷點的那一行,就會停住.

       停在這一行,意思是說即將執行這一行但是還沒有執行.

 

17.關係運算符

 

       > ,< ,== ,!=

       >= ,<=

      

       作用:用來比較兩個資料之間的關係的.

       比較的結果一定是一個布林型別的值,要麼是True,要麼是False.

 

18.if語句的第一種格式

 

       python語言中的流程控制語句:

              1.順序語句

             

                     print("A")

                     print("C")

                     print("D")

                     print("B")

                    

              2.條件分支語句

             

                     if語句有三種格式:

                            第一種格式:

                                   if 關係表示式:

                                       語句體

                                                       

                            語句體:可以是一行程式碼,也可以是多行程式碼

             

                    

              3.迴圈語句

 

19.if語句的第二種方式

 

       格式:

      

              if 關係表示式:

                     語句體1

              else:

                     語句體2

                    

              ....

20.邏輯運算子

 

21.if語句的第三種格式

格式:

              if 關係表示式1:

                     語句體1

              elif 關係表示式2:

                     語句體2

              ... # 表示省略了0個或者多個elif語句

              else:

                     語句體n+1

                    

       執行流程:

              1.先執行關係表示式1,看其結果True還是False;

              2.如果為True,就執行語句體1;

              3.如果為False,就執行關係表示式2,看其結果True還是False;

              4.如果為True,就執行語句體2;

              5.如果為False,就執行下一個關係表示式,看其結果True還是False;

              6.如果以上所有關係表示式的結果都是False,就執行語句體n+1;

 

22. if語句的巢狀的使用

       在if語句的格式中在寫一個if語句格式.

       格式:

      

              if 關係表示式1:

                     語句體1

                    

                     if 關係表示式2:

                            語句體2

                     else:

                            語句體3

                    

              else:

                     語句體4

                    

       執行流程:

              1.先執行關係表示式1,看其結果True還是False;

              2.如果為True,就執行語句體1,然後執行關係表示式2,看其結果True還是False;

              3.如果為True,就執行語句體2;

              4.否則就執行 語句體3;

              5.如果關係表示式1的結果為False,就執行語句體4;

 

23. 複合賦值運算子

 

       +=: 使用左右兩邊的資料相加,得到一個結果,然後把結果賦值左邊的變數.

       a = 5

       a -= 1 # a = a-1

 

24. 運算子的優先順序

 

       算術運算子

       關係運算符

       邏輯運算子

      

       優先順序從上往下,由高變低.

      

       and or 的優先順序是一樣的.

       如果想修改表示式的運算順序,可以通過新增小括號的方式來修改.

      

       not 的優先順序是最低

      

 

25. while迴圈語句格式和執行流程

 

       迴圈語句:

              重複的執行指定的程式碼塊;

             

       while迴圈語句;

       for迴圈語句;

      

       while迴圈語句的格式:

      

              初始化語句①

              while 條件語句②:

                     迴圈體語句③

                     條件控制語句④

                    

                    

       執行流程:

              ①②③④ - ②③④ - ②③④-...,當②的結果為False,就結束整個while迴圈

 

26.while迴圈練習題-求0-100之間偶數的累加和

 

#encoding=utf-8

 

i = 1

sum = 0

while i <= 100:

    if i % 2 == 0:

        sum = sum + i

    i+=1

 

print("1~100的累積和為:%d" % sum)

 

27.break和continue的用法:

 

       break:終斷,結束的意思

       continue:繼續的,跳過本次迴圈,繼續下一次迴圈;

       這兩個關鍵字只能用在迴圈語句中,單獨使用沒有意義.

 

28. while巢狀迴圈

 

       格式:

      

              初始化語句①

              while 條件判斷語句②:

                     迴圈體語句③

                    

                     初始化語句

                     while 條件判斷語句:

                            迴圈體語句

                            條件控制語句

                           

                           

                     條件控制語句④

 

29.轉義字元

 

       \n : 換行符

       \ 是轉義字元,可以改變某一個字元的功能.

 

30. 容器的概述

容器是用來儲存多個數據.

       可以查詢容器的中某一個數據,和所有資料.

       可以向容器中新增資料,修改資料,刪除資料.

      

       常見的容器:

              字串

              列表

              元組

              字典

              set集合

             

       這幾種容器都是資料型別,與前面講的int,float,bool類似;

       int,float,bool型別的變數裡面只能儲存一個數據;

       容器型別的變數中可以儲存多個數據.

 

31. 字串的概述

       使用雙引號或者單引號引住的內容叫做字串.

       字串中可以儲存多個字元.

      

       字串中的每個字元都叫做一個元素;

       每個元素都有自己的編號,這個編號也叫做索引,角標,下標.

       索引是從0開始的,第一個元素的的索引是0,往後依次加1,

       最後一個元素的索引是 "元素的個數-1".

      

       操作字串字串時可以通過索引操作字串,比如,根據索引得到裡面某一個字元,或者得到某幾個字元等.

 

32. 字串的定義和輸出

       使用雙引號或者單引號引住的內容叫做字串.

      

       列印字串變數,打印出來的是字串的內容.

      

       "he'aa'llo"  'he"aa"llo'

      

       定義格式:

      

              變數名 = "字串內容"

                    

       s = "hello"

       print(s)

      

       我的名字是xxx

       name = "zhangsan"

       print("我的名字是" + name )

 

33.字串的查詢,for迴圈遍歷和替換的方法

 

       根據索引查詢字元.

       s = "hello python"

       s[3]

      

       s.find(str)    表示“str”在“s”中第一次出現的索引。(找不到不會報錯)

       s.index(str)     表示“str”在“s”中第一次出現的索引。(找不到會報錯)

       s.rfind(str)     表示“str”在“s”中最後一次出現的索引。

s.rindex(str)   表示“str”在“s”中最後一次出現的索引。

      

s.count(str)    表示“str”在“s”中出現的次數。

       s.replace(odlstr,newstr,count)  表示用新字串替換舊字串,count表示替換次數。

       s.split(str)       表示用str分割。

       s.strip()          表示刪除字串兩端的空白字元。

      

       s.isalpha()      表示判斷字串是否都是字母。

       s.isdigit()        表示判斷字串是否都是數字

       s.isdecimal()   表示判斷字串是否都是字母

       s.alnum()       表示判斷字串是否只有數字或者字母。

      

s.isupper()      表示判斷字串是否全為大寫字母。

       s.islower()      表示判斷字串是否全為小寫字母。

      

       s.startswith()  表示判斷字串是否以()開頭。

       s.endswith()   表示判斷字串是否以()結尾。

      

       s.upper()        所有字母改為大寫字母。

       s.lower()        所有字母改為小寫字母。

 

34.字串的切片

 

       就是擷取字串

      

       切片的語法:

              字串[開始索引:結束索引]

             

              從開始索引的字元開始擷取,以直接渠道結束索引的字元,包括開始索引的字元,但是不包括結束索引的字元.

 

35.字串的步長

 

       字串[開始索引:結束索引:步長]

 

36.列表的定義及使用

 

       列表:也是一個容器,是用來儲存多個數據的,每個資料可以是任何型別的.

       可以向列表中新增資料,刪除資料,修改資料,查詢資料.列表中的每個資料都叫做元素.

       元素都有自己的編號,也叫做索引,角標,下標.

      

       格式:

              list1 = [10,30,50]

 

37.列表新增和刪除元素的方法

      

       list[1] = 30  表索引為“1”的元素。

       list.append(資料)  新增一個元素。

       list.remove(元素)  刪除一個元素。

       list.pop(索引)        刪除指定索引的元素。

       list.pop()               刪除最後一個元素。

       List[0] = 20  → 表示列表索引為0的元素改為20.    list1 = [20,30,50]

 

38. 列表的巢狀

列表中的元素也可以是一個列表.

 

39. 元組的的定義和使用

 

       元組也是一個容器,與列表類似,可以把它看做一個不能用於修改的列表,也就是元組只能查詢.

       定義元組的格式:

              元組名 = (元素1,元素2,元素,...)

              元素可以是任何型別的.

 

40. 字典的概述

       字典用兩列儲存資料,儲存的資料是一對一對的,每對資料都是一個鍵(key)和一值(value)組成的,叫做鍵值對,要想查詢值,必須通過鍵 查詢.

       根據鍵得查詢值的效率非常高.

       字典中的key不能重複,value可以重複.

 

41.字典的定義格式

 

       字典名 = {key1:value1,key2:value2,...}

      

       value可以是任何型別的資料.

       key通常是整數或者字串型別的.

      

      

42.字典的查詢,修改和刪除鍵值對的方法

 

       查詢value:

              字典名[key]:如果key不存在,會報錯

              字典名.get(key) :如果key不存在,不會報錯

             

       新增新的鍵值對:可以在字典中不存在

              字典名[key] = value

             

       修改value:必須保證key存在

              字典名[key] = value

             

       刪除鍵值對:

              字典名.pop(key)

             

              del 字典名[key]

             

              del 列表名[索引]

             

 

43.字典遍歷鍵值對的兩種方式

 

方式一:

              1.先得到所有的key;

              2.遍歷key,通過key得到value;

       Keys =字典名.keys()

       For key in keys:

              Value = 字典名.get(key)

       Print(“key = %s,value = %s” % (key,value))

      

方式二:

  1. 得到所有鍵值對:

Items = 字典名.items()

  1. 遍歷鍵值對,得到key和value

For key,value in items:

Print(key + “=” + value)

 

44. set集合的定義和使用

       set集合與列表非常類似,但是它裡面不能儲存重複的資料.set集合中沒有索引這個概念.

      

       定義格式:

      

              set集合的名字 = {元素1,元素2,元素3,...}

 

45. set集合的查詢,修改和刪除元素的方法

set.add()        新增元素

set.update(set2)    把set2中set1裡沒有的元素加進去

set.remove(“hello”)       刪除“hello“這個元素”

 

46. 列表、元組、set之間的類轉換

 

       列表轉元組:tuple1 = tuple(list1)

       元組轉列表:list2 = list(tuple1)

       列表轉set集合:set1 = set(list1)如果列表中有重複元素,set集合會自動刪除重複的元素。

      

47.容器的總結

 

       字串:

              字串中儲存的是字元.每個字元都是一個元素.

              不能被修改.長度是固定的.

       列表:

              列表的內容可以修改;

              是按照新增資料的順序來儲存資料的.

              列表的長度是可以改變的.

              元素可以是任何型別的.

              使用[ ]定義.

       元組:

              是一個只能用於查詢的列表.

              使用( )定義.

       字典:

              使用鍵值對來儲存資料.沒有索引,只能通過key得到value.

              使用兩列儲存資料.

              字典通過key查詢value的效率比較高.

              使用{}定義.

       set:

              與列表類似,都是用一列儲存資料的.與列表最大的區別是,不能儲存重複的資料.

              使用{ }定義.  

 

48. 函式的概述

 

       """

      把程式碼中重複的程式碼單獨抽取出來,作為一個獨立的程式碼看,然後在需要的地方呼叫它.

       這個程式碼叫做函式.

       函式的好處:

              1.可以讓程式碼結構變的更加簡潔清晰.

              2.提高程式碼的重複使用率.

              3.可以提高開發效率.

 

49. 函式的定義及呼叫

       def 函式名():定義

              程式碼………

              程式碼………

       函式名()呼叫

 

50. 函式的呼叫過程

 

定義函式的格式:

              def 函式名():

                     函式體

 

 

              函式體就是一個程式碼塊,可以是一行或者多行程式碼.

 

 

       如果只是定義了函式,但是沒有呼叫函式,函式裡面的程式碼是不會被執行的.

 

 

       呼叫函式的格式:

              函式名()

函式呼叫的過程:

              程式碼執行到這一行,就是在記憶體中記住這個函式,

              等以後呼叫函式時,直譯器會來到這記憶體中找到這個函式,

              找到這個函式後,就會執行函式裡面的程式碼.找不到就報錯