python不支持_为什么 Python 不支持函数重载?而其他语言大都支持?
唉,覺得真的沒必要,在python下邊咋談都覺得有理啦。用慣了,覺得怎么玩都o(jì)k。
而且有或者沒有,不是從是不是能實(shí)現(xiàn)最終的功能上來講,而是使用的時(shí)候,看起來在某方面是不是更便利或者更容易理解或者是更不容易出錯(cuò)。
為什么那么多語言用?肯定有他的便利的地方。你要非說,python有缺省參數(shù),那其它很多語言也有阿,也沒有就說不支持重載阿。那你說,強(qiáng)類型是不是有好處,那肯定有好不好,就拿同名方法,不同類型參數(shù)來說,如果參數(shù)類型不同,你怎么在方法中寫,才能處理不同的情況?肯定你要判斷吧,你就算接受參數(shù)的時(shí)候來者不拒,你真的以為你程序內(nèi)部就來者不拒阿,隨便來什么你程序都跑的起來啊,醒醒吧,而且這和把參數(shù)設(shè)置成object,然后在方法里邊逐一判斷有啥區(qū)別。。。強(qiáng)類型會(huì)把這種判斷放到不同的同名方法里,python之類的語言會(huì)放到同一個(gè)方法內(nèi)部,有的人覺得,不同方法里邊,使用起來明朗和安全(比如你沒有聲明double的使用,那就別xx的給我一個(gè)double,死一邊去,編譯丫都通不過),有的人覺得,放在同一個(gè)方法里邊沒有約束用的爽,這有啥爭論的。
另外再說那個(gè)不同數(shù)量的參數(shù),噢,你覺得有缺省參數(shù),用**就解決所有了,但問題是,如同開始所說,當(dāng)然可以實(shí)現(xiàn)(如果功能不能實(shí)現(xiàn),早都沒人用了),只是有的語言,認(rèn)為你這樣實(shí)現(xiàn)有風(fēng)險(xiǎn),比如你怎么管控一個(gè)xx把你寫的參數(shù)隨便胡亂輸入,如果單純強(qiáng)調(diào)‘能實(shí)現(xiàn),所以就沒必要有’,那我覺得就有點(diǎn)偏激,那大家都用object[]作參數(shù),什么都解決啦,問題是這樣做,不容易理解阿,所以有些語言強(qiáng)調(diào)風(fēng)險(xiǎn),有些語言強(qiáng)調(diào)便利,沒啥爭論不休的。
而且語言都在發(fā)展,要不出那么多版本干什么,相互之間也在學(xué)習(xí)和借鑒,python作為一個(gè)便利著稱的語言,可能在實(shí)現(xiàn)這些功能上面本身就不得天獨(dú)厚好么,何必非要在各個(gè)層面都爭個(gè)贏呢。。。-_-!
總結(jié)
以上是生活随笔為你收集整理的python不支持_为什么 Python 不支持函数重载?而其他语言大都支持?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 按键映射_第三章 中文注释及按键相关
- 下一篇: 从数据类型 nvarchar 转换为 n