Python入門必備知識點
1、什麽是Python? 使用Pvthon的優缺點有哪些?
Python是壹種面向對象的解釋性的交互式語言,帶有對象、模塊、線程、異常和內存自動管理的機制。使用Python的優點有:簡單、易學、輕便可移植、可擴展、可讀性具有多種內建數據類型、開源等等。使用Python的缺點有:運行速度慢,代碼不能加密(解釋性語言,發布python應用只能發布源代碼,不像C發布編譯後的應用文件)
2、什麽是PEP 8?
PEP8是壹種編碼規範,是壹系列關於如何讓Python代碼更加具有可讀性的編碼建議。
3、什麽是序列化和反序列化?
序列化:將在內存中的變量轉為可存儲或傳輸的過程。應用JSON傳輸,序列化為統壹格式ison反序列化:與序列化的過程相反Pickle模塊允許我們將Python對象轉換成壹個string表示的信息,並且可以使用dump函數將其保存到壹個文件中去,這樣的過程稱為序列化。而使用文件中保存的對象信息重構Python對象的過程稱為反序列化。
4、Python是如何被解釋執行的?
Pvthon是壹種解釋型語言,它可以直接從源代碼運行程序。程序員編寫的源代碼首先轉變成壹種中間語言代碼,然後再被轉換成能夠直接執行的機器語言代碼。
5.Python是如何進行內存管理的?
Python內存空間是以Python私有堆的形式進行管理的。所有的Python對象和數據結構都存放在壹個私有堆中。解釋器可以訪問私有堆,而程序員不可以。將Pvthon堆空間中的內存分配給Pvthon對象的工作是由Python內存管理器完成的。而內核API則會提供給程序員壹些相關的工具來完成涉及到內存的編碼工作。
6.能夠找到程序中的bug進行靜態分析的工具有哪些?
Python還內置垃圾回收器,從而進行回收釋放內存到堆空間能夠找到程序中的bug進行靜態分析的工具有哪些?6、PyChecker是壹種能夠發現Python源代碼中的bug並對其中的代碼風格和復雜度進行警告的靜態分析工具。另外壹種工具是Pylint,它能夠驗證模塊是否滿足編碼標準。
7、什麽是Python裝飾器?
用來裝飾壹個函數從而使這個函數在不修改本身的函數定義外,動態產生額外的功能;裝飾函數的入參為需要被裝飾的函數。裝飾器本質上是壹個返回函數的高階函數壹個Python裝飾器是我們在符合Python語法的同時又方便地對函數做的壹些特定的修改。
8、列表、元組、集合、字典的區別是什麽?
列表:元素可變(任何數據類型),有序(可索引)append/insert/pop;元組:元素不可變但元素中的可變元素是可變的;有序(可索引);而且組可以被散列,例如作為字典的鍵。集合:無序(不可被索引)、互異字典:無序,鍵值對(key: value),key唯壹不可重復
9、怎樣理解字典和列表?
它們是壹種用來創建可變對象的語法結構,數據容器dic插入、查找速度比list快,不會隨key的增加而增加,但list會隨著元素的增加而增加(偏移量)
10、參數是如何通過值或者引用傳遞的?
python中確切說應該是“傳對象引用”的方式,引用對象傳遞。壹切皆對象,參數皆引用如果函數收到的是壹個可變對象(比如列表、字典)的引用,則可修改對象的原始值==相當於“引用傳遞”方式如果函數收到的是壹個不可變對象(比如數字、字符、元組),就不能直接修改原始對象指向的值==相當於“值傳遞”方式。