Python語言基礎 學習筆記

Python是什麼類型的英語

答:動態強類型語言,靜態語言是指代碼在編譯的時候變量數據類型是確定的,動態語言是指運行後變量數據類型是確定。弱類型是指不同類型進行運算時候,會進行隱式轉換,而強類型偏向不容忍隱式類型轉換。如Python中 1 + ”1“會報錯,而在js中不會。

爲什麼使用Python語言

  1. 膠水語言、輪子多、應用廣泛
  2. 語言靈活、生產力高
  3. 性能問題、代碼維護問題(動態語言通病)、Python2/Python3兼顧問題

什麼是鴨子類型

  1. 關注點在對象的行爲,而不是對象的類型,更關注接口而非類型
  2. 比如file、StringIo、socket對象都支持read/write方法
  3. 再比如定義了__iter__魔法函數的對象可以使用for進行迭代

什麼是monkey patch

  1. 運行的時候替換
  2. 比如gevent庫需要修改內置的socketfrom gevent import monkey;monkey.patch_socket()
import socket

print('Before monkey patch')
print(socket.socket())       # <socket.socket>

from gevent import monkey
monkey.patch_socket()
print('After monkey patch')
print(socket.socket())       # <gevent._socket3.socket object>

# 自定義monkey patch
import time
print(time.time())

def _time():
    return 'time patch'

time.time = _time            # 1581252175.642231
print(time.time())           # time patch

什麼是自省

  1. 運行時判斷一個對象的類型的能力
  2. python一起皆對象 理解鏈接
  3. Inspect 模塊提供了更多獲取對象信息的函數
發佈了16 篇原創文章 · 獲贊 6 · 訪問量 2624
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章