通俗理解鴨子型別是幹什麼的

2021-10-13 15:35:36 字數 624 閱讀 7307

定義大家都看過了,我說點容易理解的,我預設大家都是學過c語言的。

還記得c語言怎麼定義變數的不。

int x;

x =1

;float y;

y =1.1

;char z;

z ="hello"

;

對吧,編譯器知道你定義的x是int型,y是float型,z是char型,因為你告訴它了。所以當你給變數x賦值x= 「hello」;時,就會報錯,因為x是int型變數,你卻讓它等於字串。

再看一下python這些動態語言和小部分靜態語言是怎麼定義變數的。

x =

1y =

1.1z =

"hello"

x是int型,y是float型,z是字串,這是你知道的。但是,你並沒有告訴編譯器啊,編譯器知道嗎?

知道!怎麼知道的?

鴨子型別來了,x = 1,因為1長得像int型(特徵),所以x是int型變數。

y = 1.1,因為1.1長得像float型(特徵),所以y是float型變數。

z = 「hello」,因為"hello"長得像字串(特徵),所以z是字串型變數。

所以,省事兒!

FFT是幹什麼的

fft在演算法競賽中就有乙個用途 加速多項式乘法 暴言 簡單來說,形如 a0x0 a1x1 a2x2 anxna0x0 a1x1 a2x2 anxn 的代數表示式叫做多項式,可以記作f x a0x0 a1x1 a2x2 anxnf x a0x0 a1x1 a2x2 anxn,其中a0,a1,ana0...

npm是幹什麼的

網上的 npm 教程主要都在講怎麼安裝 配置和使用 npm 卻很少告訴新人 npm 是幹什麼的?為什麼要使用 npm?今天我就來講講這個話題。本文目標讀者是 不太了解 npm 的新人 老司機請繞道。社群共享 麻煩npm的思路大概是這樣的 這些可以被使用的 被叫做 包 package 這就是 npm名...

HttpContext是幹什麼的

httpcontext 類.包括說明和如何使用.於是,上網狂搜 有網路就是好啊.這是我補充的httpcontext 類 1.生存週期 從客戶端使用者點選並產生了乙個向伺服器傳送請求開始 伺服器處理完請求並生成返回到客戶端為止.注 針對每個不同使用者的請求,伺服器都會建立乙個新的httpcontext...