Python的創始人爲Guido van Rossum。1989年聖誕節期間,在阿姆斯特丹,Guido爲了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作爲ABC 語言的一種繼承。之因此選中Python(大蟒蛇的意思)做爲該編程語言的名字,是由於他是一個叫Monty Python的喜劇團體的愛好者。ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC 這種語言很是優美和強大,是專門爲非專業程序員設計的。可是ABC語言並無成功,究其緣由,Guido 認爲是其非開放形成的。Guido 決心在Python 中避免這一錯誤。同時,他還想實如今ABC 中閃現過但不曾實現的東西。就這樣,Python在Guido手中誕生了。能夠說,Python是從ABC發展起來,主要受到了Modula-3(另外一種至關優美且強大的語言,爲小型團體所設計的)的影響。而且結合了Unix shell和C的習慣。python
Python 已經成爲最受歡迎的程序設計語言之一。2011年1月,它被TIOBE編程語言排行榜評爲2010年度語言。自從2004年之後,python的使用率呈線性增加。linux
版本 | python2.x | python3.x |
編碼類型 | ASCII | utf-8 |
print""或者print()打印均可以正常輸出android print x, 末尾加逗號進行不換行程序員 |
只能print()這種形式打印,不然會出現SyntaxError類型錯誤正則表達式 print(x,end=' ')使用空格來進行不換行算法 |
|
input | input:輸出原生的數據類型,輸出什麼類型的值,就輸出什麼類型shell raw_input:所有以字符串形式輸出數據庫 |
3.x版本取消了raw_input方法,只能使用input方式提示輸入字符串,該方法和2.x版本的raw_input()相同編程 若是想要實現與2.x input()輸出原生數據類型值,可使用eval(input())python3.x |
不等於 | <> != | 去除<>只使用!= |
除法 | / 除法根據除法中的數據類型得出結果類型,整型得出整型,帶小數點就爲真除 // 整除,結果取整 % 取餘, |
/ 真除,得出真正結果 // 整除,結果取整 % 取餘, |
類 | 支持新式類和經典類,使用新式類時,類繼承順序會影響最終繼承的結果 |
必須使用新式類,解決了類之間繼承順序的問題 |
改變了順序操做符的行爲 |
x<y,當x和y類型不匹配返回隨即的 bool值 |
x<y,當x和y類型不匹配時拋出TypeError |
註解:還有不少的改變,我這裏只是列舉一下經常使用的,若有須要,請聯繫修改。
類型 | 例子 |
int 符號整型 | 如:1,12,13,-1...... , 在2.x版本中範圍在-2**31~2**31-1之間, 取值決定於操做系統,不會下於這個範圍 |
float浮點型 | 有小數點的,如;1.1 1.2 -1.2...... |
str字符串 | 如:「hello world」,"python","1".....,注意,字符串須要用引號,單雙引號均可以(「hello world」) 若是不用引號引發來,python就不能把這個值識別爲字符串而是識別爲一個變量值 |
bool布爾類型 | 只有兩個值,真:True 假:False ,任何非零的數據類型,結果都爲真,當結果爲int 0時,則爲假 |
long | 這個類型只存在2.x版本中,取值範圍無限大,取決於可用的虛擬內存 |
complex 複數 | 如:3.34j, 3.453e-7j...... |
元組tuple | 如: (「a」,"hell", "python", "2")元組中值是不能夠改變的 |
列表list | 如:["a","hello", "python", "2"]列表中的值是能夠改變的 |
字典dict | 如:{「name」:"LaiYing","age":25,"job「:」IT"}字典中的值也是能夠改變的 |
算術運算
如下例子 a=10 b=20
運算符 | 描述 | 示例 |
+ | 加法運算 | a+b得30 |
- | 減法運算 | a-b得-10 |
* | 乘法運算 | a*b得200 |
/ | 除法運算 | b/a得2 |
% | 取模,將%號左邊的值除以%號右邊的值而且 將獲得結果的餘數返回 |
10%5得0,10%3得1 20%得6 |
** | 冪,返回x的y次冪,就是返回多少次方 | 2**8得256 |
// | 取整除,返回x除以y的商的整數部分 | 9//2得4,9.0//2.0得4.0 |
比較運算
如下例子a=10 b=20
運算符 | 描述 | 示例 |
== | 判斷兩個對象是否相等 | (a==b)is not true |
!= | 判斷兩個對象是否不相等 | (a != b)is true |
<> 在3.x版本中已取消 | 判斷兩個對象是否不相等 | (a<>b)is true與!=運算符同樣 |
> | 大於,返回a是否大於b | (a>b)is not true |
< | 小於,返回a是否小於b | (a<b)is true |
>= | 大於等於,返回a是否大於等於b | (a>=b)is not true |
<= | 小於等於,返回a是否小於等於b | (a<=b)is true |
賦值運算
如下例子 a=10 b=20
運算符 | 描述 | 示例 |
= | 賦值,將右邊的值賦值給左邊的變量名 | c = a + b 將會把a+b的結果 賦值給c |
+= | 自加賦值,將+=左邊的值和+=右邊的值相加 而後在把結果賦值給+=左邊的值 |
c +=a 至關於c = c + a |
-= | 自減賦值 | c -= a 至關於 c = c - a |
*= | 自乘賦值 | c *= a 至關於 c = c * a |
/= | 自除賦值 | c /= a 至關於 c = c / a |
%= | 自取模賦值 | c %= a 至關於 c = c % a |
**= | 自求冪賦值 | c **=a 至關於 c = c ** a |
//= | 自取整賦值 | c //=a 至關於 c = c // a |
按位運算(二進制運算)
二進制位數 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
每位所表明的數字 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
好了,咱們剛剛知道了10進制如何轉2進制了,接下來咱們看看如何進行2個10進制數字的位運算
運算符 | 描述 | 示例 |
& | 與運算,這個二進制爲必須都在2組數中都爲真 結果才返回爲真 |
(a & b)得12,二進制位; 0000 1100 |
| | 或運算,這個二進制位只須要在其中一組數據中爲真即返回真 | (a | b)得61,二進制位; 0011 1101 |
^ | 異或運算,只有這個二進制位在兩組數據中不相同就返回真 | ( a ^ b )得49,二進制位; 0011 0001 |
<< | 左移運算,將a總體向左移2位 | a << 2得240,二進制位; 1111 0000 |
>> | 右移運算,將a總體向左移3位 | a >> 3得7,二進制位; 0000 0111
|
咱們來看看下面的運算過程
二進制位 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 結果 |
每位所表明的數字 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
60 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | |
13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | |
&與運算 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 12 |
|或運算 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 61 |
^異或運算 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 49 |
a<<2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 240 |
a >>3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 7 |
邏輯運算符
運算符 | 描述 | 示例 |
and | 且,必須左右兩個條件都爲真,假如一個爲假就爲假 | 1 and 0 ,1爲真,0爲假,其結果爲假 |
or | 或,只要一個爲真就爲真,不然就爲假 | 1 or 0,, 1 爲真就爲真,只要有一個條件爲真就不 繼續判斷後面的條件了 |
not | 非,取反 | |
內容參考網絡上資料,若有侵權請聯繫修改。