python學習(2)--變量與表達式
1.與java和c語言相通,python中也分為四種運算符:
(1)算數運算符(如:+、-、*、/);
學過java或者C的朋友,對加減乘除這種普通的算數運算符再了解不過了,在這裡我們介紹下需要注意的幾點。
<1>3/2與3.0/2的差別,在java或者C語言中,3/2=1,3.0/2=1.5,這是因為精确度的不同,兩個整數相除時隻是精确到整數部分,而兩個相除的數中如果存在浮點類型,結果會是精确度較高的浮點類型。在python2.4中,以上兩個表達式結果與java和C的結果是一樣的。但是python3.4對這種情況做出了改進,以下是python3.4的代碼:
<b>[python]</b> view plain copy
print(3/2)
print(3.0/2)
運算結果如下
:

由結果可以看出在python3.4中3/2=1.5,這是與python2.4不同的地方,希望引起大家的注意
但是如果想擷取3/2的整數部分又怎麼辦呢?python為我們提供了整除運算//,比如3//2,python會隻取整數部分。代碼如下:
print(3//2)
print(5.6/2)
print(5.6//2)
結果如下
:
可以看到3//2=1;5.6//2=2.0;都隻取到了整數部分,這就是python的整除運算.
<2>求幂運算**,比如3**2,就是求3的平方,這是java和C語言中都沒有的,不過用起來會更加友善。代碼如下:
#求幂運算
print(2**3)
print(3**3)
運作結果
2**3=8;3**3=27.
<3>除此之外python還為我們提供了取餘運算,這與java與C都是一樣的,就是取兩個整數相除的餘數。
(2)指派運算符(如:=、+=、*=、/=、%=);
python的指派運算與java和C也是一樣的,如a+=3,即a=a+3;類似a*=3,即a=a*3;a/=3,即a=a/3;a%=3,即a=a%3;
(3)關系運算符(如:>、>=、==、<=);
關系運算符在java與C語言中用的也很常見,比如3>2會傳回一個布爾類型的值true,隻需要注意一點3與3.0的比較:
在java中的代碼:
<b>[java]</b> view plain copy
public class test {
public static void main(String[] args) {
// TODO 自動生成的方法存根
System.out.println(3==3.0);
}
}
運作結果如下
在python中的代碼:
print(3==3.0);
嘿嘿,其實在python和java中,3和3.0雖然資料類型不同,但比較的隻是值是否大小一樣,所
以傳回的都是true.
(4)邏輯運算符(如:and、or、not);
雖然java和python在邏輯運算符的表達形式上有所差異,但所要表達的思想是相通的;比如:and就相當于java中的&&,or相當于java中的||,not相當于java中的取非!。
代碼如下:
print(3>4 and 4<5)
print(3>4 or 4<5)
print(not 3>4)
結果如下:
可以看到3>5 and 4<5傳回false;3>4 or 4<5傳回true;not 3>4傳回 true.