通俗理解鴨子型別是幹什麼的
定義大家都看過了,我說點容易理解的,我預設大家都是學過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 = 1
y = 1.1
z = "hello"
x是int型,y是float型,z是char型,這是你知道的。但是,你並沒有告訴編譯器啊,編譯器知道嗎?
知道!怎麼知道的?
鴨子型別來了,x = 1,因為1長得像int型(特徵),所以x是int型變數。
y = 1.1,因為1.1長得像float型(特徵),所以y是float型變數。
z = “hello”,因為"hello"長得像str型(特徵),所以z是str型變數。
所以,省事兒!
相關文章
- 熱備與冷備分別是什麼意思?怎麼通俗理解?
- Python中的鴨子型別Python型別
- 什麼是MIME型別型別
- Python 語言中的 “鴨子型別”Python型別
- 什麼是eval()?eval是用來幹什麼的?
- nginx 是什麼,能幹什麼?Nginx
- Java是什麼?主要是幹什麼的?Java
- javascript值型別是什麼JavaScript型別
- Web前端是什麼?主要是幹什麼的Web前端
- 什麼是Docker?Docker可以幹什麼?Docker
- web assembly是什麼,能幹什麼Web
- dns汙染是誰幹的,什麼是dns汙染,它和DNS劫持有什麼區別DNS
- npm 是幹什麼的?(非教程)NPM
- Java是用來幹什麼的?Java
- CRM系統是幹什麼的?
- 絕緣粒是幹什麼的
- Python:多型、協議和鴨子型別Python多型協議型別
- 動態語言與鴨子型別型別
- mysql浮點型別是什麼MySql型別
- 通俗易懂的解釋:什麼是APIAPI
- 軟體測試是幹什麼的
- 如何通俗理解信創國產化是什麼意思?有哪些系統?有什麼意義?
- 面試官:說說什麼是泛型的型別擦除?面試泛型型別
- Python是什麼意思?Python幹什麼用的?Python
- Python 中的鴨子型別和猴子補丁Python型別
- JS 的 new 到底是幹什麼的?JS
- 資料型別是什麼?Python的資料型別又有哪些?資料型別Python
- 你是什麼型別的自由職業者?型別
- 【Python入門】12.物件導向程式設計之 三大特徵:封裝、繼承和多型 & 鴨子型別是什麼?...Python物件程式設計特徵封裝繼承多型型別
- 什麼是Python型別轉換?主要包含什麼?Python型別
- 區塊鏈是什麼通俗解釋區塊鏈
- 如何通俗解釋Docker是什麼_1Docker
- 什麼是微服務,它要幹啥微服務
- git的遠端分支是幹啥的,和本地的有什麼區別?Git
- 大資料開發是幹什麼的?大資料
- 大資料具體是幹什麼的大資料
- 阿里雲到底是幹什麼的阿里
- 爬蟲工程師是幹什麼的爬蟲工程師