1. 程式人生 > 其它 >2021-2022-1 20211426 《資訊保安專業導論》第八週學習總結

2021-2022-1 20211426 《資訊保安專業導論》第八週學習總結

作業資訊

作業模板:https://www.cnblogs.com/rocedu/p/9577842.html#JXJC

作業要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06

教材學習內容總結

python

第九章:

其介紹了類和物件,物件也被稱為例項。

我們可以定義類:

class car(obiect):

類體

pass

這裡也就提到了類變數,類方法,例項變數,例項方法,而類與例項的區別在於例項為個體特有,而類為共有。

對於構造它們,我們都要用到__init__()其方法不好用語言展開說明,可見下圖實踐:

封裝性,是面向物件重要的基本特徵之一。私有變數便是為了防止外部呼叫被封裝的內部資料。

使變數變為私有變數的方法是在其前面畫上__,而私有方法的封裝也是在其前加__,利用屬性方式可以簡化外部呼叫者訪問被封裝變數。

之後,便是繼承性,也屬於面向物件的重要基本特徵之一,繼承,即父類傳給子類,呼叫父類構造方法。

如圖:

多型性,同屬面向物件的基本特性之一。其可與繼承聯絡起來,實踐如圖:

第十章

主要介紹異常處理方面的內容。

其介紹了除零異常,即任意整數都不能除以0,為了防止程式出現錯誤,我們可以

藉助try-except語句來進行異常捕獲,這個語句與之前學過的while語句,if語句類似,都可疊加,即多個except程式碼塊,如果嫌麻煩,也可以直接進行多重異常捕獲

就不用多敲幾遍except,這個語句還可進行巢狀。

finally程式碼塊跟在try-except後面釋放資原始碼。

對於異常,我們也可以自己對其進行自定義異常類,來實現我們的要求,更加簡便化工作。

最後內,對於except巢狀,最好先梳理好流程,不然會很容易發生錯誤。

電腦科學概論第九章

面向物件———物件:問題背景中具有意義的事物或實體。

物件類:描述一組類似的物件,即具有相同屬性。

類中包含欄位即類的屬性,而方法則使處理物件中資料值的指定演算法。

設計方法——首先進行頭腦風暴(集體行為),後生成一份暫時的類列表,在確定核心,進行過濾,接著就是類分配,即責任被實現為子程式

其中涉及到python第九章內容封裝,

最終為責任演算法。

翻譯過程——編譯器:把用高階語言編寫的程式翻譯為機器碼的程式。需要通過編譯器的語言最常見的就是C語言,C++了

直譯器:輸入用高階語言編寫的程式,指導計算機執行每個語句指定的動作的程式,自帶直譯器,即解釋型語言則是python

第二代高階語言分為兩種,一種為編譯,一種為解釋。

標準機器語言:位元組碼(編譯java原始碼使用的標準機器語言)

程式設計語言範型——命令式:面向過程,物件的範型

宣告式:函式式模型,邏輯模型

布林表示式:即一個識別符號序列,求得結果為true或false

資料型別:已經瞭解過了,簡述一下,即整數,實數,字元,布林型,字串

輸入輸出結構:

控制結構:

巢狀邏輯:選擇語句可以被巢狀在迴圈結構,迴圈結構可以被巢狀在選擇語句中,它們也可以在子程式中被巢狀。

非同步處理:即不與計算機中的其他操作同時發生。

面向物件的程式用以下結構刻畫:

封裝:實施資訊隱蔽的語言特性,用類結構實現

繼承:允許一個類繼承另一個類的屬性和行為的語言特性

多型:語言具備的消除同名操作的歧義的能力

  • 教材學習中的問題和解決過程
  • 問題一:編譯型和解釋型語言,那個更加實用呢
  • 解決:上網查的各有優劣,但我更傾向於解釋型

    1、 編譯型語言最大的優勢之一就是其執行速度。用C/C++編寫的程式執行速度要比用Java編寫的相同程式快30%-70%。

    2、編譯型程式比解釋型程式消耗的記憶體更少。

    3、不利的一面——編譯器比直譯器要難寫得多。

  • 4、由於鬆散的安全性和平臺依賴性,編譯型語言不太適合開發因特網或者基於Web的應用。
  • 1、解釋型語言提供了極佳的除錯支援。一名Java程式設計師只需要幾分鐘就可以定位並修復一個“空指標異常”,因為Java執行環境不僅指明瞭異常的性質,而且給出了異常發生位置具體的行號和函式呼叫順序(著名的堆疊跟蹤資訊)。這樣的便利是編譯型語言所無法提供的。

    2、另一個優勢是直譯器比編譯器容易實現

    3、解釋型語言最大的優勢之一是其平臺獨立性

    4、解釋型語言也可以保證高度的安全性——這是網際網路應用迫切需要的

    5、中間語言程式碼的大小比編譯型可執行程式碼小很多

  • 問題二:巢狀有數量限制嗎?如果巢狀過多是否會影響運算效率?
  • 解決:上網查詢,巢狀是有限制的,如無論使用什麼條件限定,if函式以前最多是7層,現在可以達到64層。
  • 而至於第二個問題,我檢視部落格園後,得知這樣一個觀點:
  • 其不是一定的,是有影響因素的。
  • 1)不同平臺對結構體和全域性變數的訪問不同;

    2)編譯器優化能夠對這些資料訪問輕輕鬆鬆的優化。

  • 程式碼除錯中的問題和解決過程

  • 對於連結串列的插入,有點不解,對於next的概念不清
  • 經過上網查詢,得知a->next實際上相當於a的指向,並非是節點。
  • 上週考試錯題總結

  • A record is a named heterogeneous collection of items in which individual items are accessed by position.
  • 記錄是一個命名的異構項集合,其中各個項按位置進行訪問。錯誤
  • An array is a named homogeneous collection of items in which individual items are accessed by an index.
  • 陣列是項的命名同構集合,其中單個項由索引訪問。正確
  • 學習進度條

  • 程式碼行數(新增/累積)部落格量(新增/累積)學習時間(新增/累積)重要成長
    目標 5000行 30篇 400小時
    第一週 50/50 2/2 8/8 安裝Linux
    第二週 80/100 3/4 16/20 學習python
    第三週 150/200 1/5 20/36 開始python編碼
    第四周 300/600 4/6 22/56 用程式碼託管
    第五週 300/900 4/10 20/78 學習python程式流程控制
    第六週 600/1200 1/14 10/98 學習使用機器語言與組合語言
    第七週 640/1800 3/15 15/108 學習定義函式以及運用函式
    第八週 600/2440 2/18 18/123 學習連結串列的插入和刪除
    • 計劃學習時間:30小時

    • 實際學習時間:20小時

      改進情況:開始多接觸程式設計型別。

      參考資料

    • [機算計科學概論]
    • 看漫畫學python