1、“&”和“and”有本質區(qū)別渤弛,屬于不同類型的運行符號。& 是位運算她肯;and 是邏輯運算佳头。
2、首先是&:該運輸符屬于字符串的連接運算符晴氨,例如康嘉,“w“&”c“結果為字符串”wc“。
3籽前、and屬于邏輯運算符亭珍,表示邏輯與運算,其規(guī)則是有假取假,全真為真。例如远搪,true and false結果為false惧眠,true and true結果為true晶密。
>>> a = 1
>>> b = 2
>>> #1 的二進制是 1,2的二進制是 10
>>> a&b
0
>>> a and b
2
注:a,b分別是整數1和2,以二進制表示分別為:01,10粱侣。
&運算結果的二進制為:00,即十進制的 0(按位邏輯運算)蓖宦。
再如 :2&3齐婴,二進制表示為 10&11,所以結果是 10稠茂,即十進制的 2柠偶。
1 是真,2是真(整數0是否)主慰,所以 1 and 2 是真嚣州, 0 and 2 是否
擴展資料
Python的設計哲學是“優(yōu)雅”、“明確”共螺、“簡單”。因此情竹,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發(fā)者中通常是難以忍受的藐不。Python開發(fā)者的哲學是“用一種方法,最好是只有一種方法來做一件事”。
在設計Python語言時雏蛮,如果面臨多種選擇涎嚼,Python開發(fā)者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法挑秉。
由于這種設計觀念的差異法梯,Python源代碼通常被認為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開發(fā)犀概。這些準則被稱為Python格言立哑。在Python解釋器內運行import this可以獲得完整的列表。
Python開發(fā)人員盡量避開不成熟或者不重要的優(yōu)化姻灶。一些針對非重要部位的加快運行速度的補丁通常不會被合并到Python內铛绰。所以很多人認為Python很慢。
不過产喉,根據二八定律捂掰,大多數程序對速度要求不高。在某些對運行速度要求很高的情況曾沈,Python設計師傾向于使用JIT技術这嚣,或者用使用C/C++語言改寫這部分程序∪悖可用的JIT技術是PyPy姐帚。
Python是完全面向對象的語言。函數敛腌、模塊卧土、數字、字符串都是對象像樊。并且完全支持繼承尤莺、重載、派生生棍、多繼承颤霎,有益于增強源代碼的復用性。
Python支持重載運算符和動態(tài)類型涂滴。相對于Lisp這種傳統(tǒng)的函數式編程語言友酱,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具柔纵。
雖然Python可能被粗略地分類為“腳本語言”(script language)缔杉,但實際上一些大規(guī)模軟件開發(fā)計劃例如Zope、Mnet及BitTorrent搁料,Google也廣泛地使用它或详。
Python的支持者較喜歡稱它為一種高級動態(tài)編程語言系羞,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript霸琴、VBScript等只能處理簡單任務的編程語言椒振,并不能與Python相提并論。
Python本身被設計為可擴充的梧乘。并非所有的特性和功能都集成到語言核心澎迎。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言选调、C++夹供、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內学歧。
因此罩引,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝枝笨。在Google內部的很多項目袁铐,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調用相應的模塊横浑。
《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講剔桨,不過,2004 年徙融,Python 已在Google 內部使用洒缀,Google 召募許多 Python 高手,但在這之前就已決定使用Python欺冀,
他們的目的是 Python where we can, C++ where we must树绩,在操控硬件的場合使用 C++,在快速開發(fā)時候使用 Python隐轩〗确梗”