標籤:
Python特點(略,網上找到一大堆,不過本人覺得要用過後才能總結他的特點)
一、基本概念
1、python中的數有四種類型:整數、長整數、浮點數、複數
整數,如1
長整數 比較大的整數
浮點數 如2.31,3E-2
複數 如1+2j、1.1+2.2j(PS:
形如 的數稱為複數(complex number),其中規定i為虛數單位,且 (a,b是任意實數)我們將複數 中的實數a稱為複數z的實部(real part)記作Rez=a實數b稱為複數z的虛部(imaginary part)記作 Imz=b.
)
2、字串(字元的序列)
python中單引號與雙引號完全相同,比如 var str="123" 與 var str = ‘123‘是等價的。
使用三引號(‘‘‘或者“”“)可以指定一個多行字串。
轉義符:‘\‘。
自然字串,通過在字串前面加R或者r。如 r"Hello World \n"則\n會被認為是字串的一部分,而不是換行轉義符。
python允許處理unicode字串,加首碼U或者u,如 u"Hello World"。
字串是不可變的。(類似於java字串常量池,記憶體的最佳化)
按照字面意義進行級聯,如"This""is""a""pig"會被自動轉換成This is a pig。
3、標識符的規則
第一個字元必須是字母或者底線‘_‘,不能是數字。
標識符對大小寫敏感。
4、對象
python程式中萬物皆對象。
5、邏輯行與物理行
物理行是我們編寫程式時能看到的文本行,而邏輯行則是python看到的。
python用分號標識一個邏輯行的結束,但是實際中一般每個物理行唯寫一個邏輯行,這樣避免使用分號。
多個物理行中可以寫一個邏輯行,如下:
s = "Peter is a dog"
上面的\被稱為“明確的行串連”,又如:
print "Peter"
6、縮排
空白在python是非常重要的,行首的空白是最重要的,又稱為縮排。行首的空白(空格和定位字元)用來決定邏輯行的縮排層次,從而決定語句
分組。這意味著同一層次的語句必須有相同的縮排,每一組這樣的語句稱為一個塊。(PS:不要混合使用空格和定位字元來縮排,因為在跨越不同的平台時無法正常工作)
二、運算子與運算式
1. 運算子與其用法
運算子 |
名稱 |
說明 |
例子 |
+ |
加 |
兩個對象相加 |
3 + 5得到8。‘a‘ + ‘b‘得到‘ab‘。 |
- |
減 |
得到負數或是一個數減去另一個數 |
-5.2得到一個負數。50 - 24得到26。 |
* |
乘 |
兩個數相乘或是返回一個被重複若干次的字串 |
2 * 3得到6。‘la‘ * 3得到‘lalala‘。 |
** |
冪 |
返回x的y次冪 |
3 ** 4得到81(即3 * 3 * 3 * 3) |
/ |
除 |
x除以y |
4/3得到1(整數的除法得到整數結果)。4.0/3或4/3.0得到1.3333333333333333 |
// |
取整除 |
返回商的整數部分 |
4 // 3.0得到1.0 |
% |
模數 |
返回除法的餘數 |
8%3得到2。-25.5%2.25得到1.5 |
<< |
左移 |
把一個數的位元向左移一定數目(每個數在記憶體中都表示為位元或位元字,即0和1) |
2 << 2得到8。——2按位元表示為10 |
>> |
右移 |
把一個數的位元向右移一定數目 |
11 >> 1得到5。——11按位元表示為1011,向右移動1位元後得到101,即十進位的5。 |
& |
按位與 |
數的按位與 |
5 & 3得到1。 |
| |
按位或 |
數的按位或 |
5 | 3得到7。 |
^ |
按位異或 |
數的按位異或 |
5 ^ 3得到6 |
~ |
按位翻轉 |
x的按位翻轉是-(x+1) |
~5得到6。 |
< |
小於 |
返回x是否小於y。所有比較子返回1表示真,返回0表示假。這分別與特殊的變數True和False等價。注意,這些變數名的大寫。 |
5 < 3返回0(即False)而3 < 5返回1(即True)。比較可以被任意串連:3 < 5 < 7返回True。 |
> |
大於 |
返回x是否大於y |
5 > 3返回True。如果兩個運算元都是數字,它們首先被轉換為一個共同的類型。否則,它總是返回False。 |
<= |
小於等於 |
返回x是否小於等於y |
x = 3; y = 6; x <= y返回True。 |
>= |
大於等於 |
返回x是否大於等於y |
x = 4; y = 3; x >= y返回True。 |
== |
等於 |
比較對象是否相等 |
x = 2; y = 2; x == y返回True。x = ‘str‘; y = ‘stR‘; x == y返回False。x = ‘str‘; y = ‘str‘; x == y返回True。 |
!= |
不等於 |
比較兩個對象是否不相等 |
x = 2; y = 3; x != y返回True。 |
not |
布爾“非” |
如果x為True,返回False。如果x為False,它返回True。 |
x = True; not y返回False。 |
and |
布爾“與” |
如果x為False,x and y返回False,否則它返回y的計算值。 |
x = False; y = True; x and y,由於x是False,返回False。在這裡,Python不會計算y,因為它知道這個運算式的值肯定是False(因為x是False)。這個現象稱為短路計算。 |
or |
布爾“或” |
如果x是True,它返回True,否則它返回y的計算值。 |
x = True; y = False; x or y返回True。短路計算在這裡也適用。 |
2. 運算子優先順序(從低到高)
運算子 |
描述 |
lambda |
Lambda運算式 |
or |
布爾“或” |
and |
布爾“與” |
not x |
布爾“非” |
in,not in |
成員測試 |
is,is not |
同一性測試 |
<,<=,>,>=,!=,== |
比較 |
| |
按位或 |
^ |
按位異或 |
& |
按位與 |
<<,>> |
移位 |
+,- |
加法與減法 |
*,/,% |
乘法、除法與取餘 |
+x,-x |
加號或減號 |
~x |
按位翻轉 |
** |
指數 |
x.attribute |
屬性參考 |
x[index] |
下標 |
x[index:index] |
定址段 |
f(arguments...) |
函數調用 |
(experession,...) |
綁定或元組顯示 |
[expression,...] |
列表顯示 |
{key:datum,...} |
字典顯示 |
‘expression,...‘ |
字串轉換
|
Python基礎學習(一)