動態語言與靜態語言
靜態語言
宣告了變數型別之後,變數的型別不能再改變,編譯時會進行此類檢查動態語言
不用事先宣告變數型別,隨時可以賦值為其他型別算數運算子因此在程式設計時,有些變數的型別沒有宣告,使用時會比較難判斷
python屬於動態語言
+
,-
,*
,/
,//
,%取模
,**冪運算
減法:主要用於數值的計算,有一些浮點數計算時,不能準確計算
>>
>3-
12>>
>
1.1-
0.90.20000000000000007
加法:可以用於數值的相加,也可以用於字串的相加
>>
>
'a'+
'b''ab'
>>
>1+
23乘法:可以進行數值相乘,也可以複製字串
>>
>3*
39>>
>
'abc'*3
'abcabcabc'
除法:/
,//,在python2中,/和//都是整除
/也叫自然除法,如果不能整除,會返回浮點數值
>>
>10/
33.3333333333333335
>>
>3/
13.0
##python3使用自然除法的時候總是得到浮點數
//也叫地板除法,不能整除的會進行取整,使用向小取整的方式
>>
>9//
24##精確結果為4.5,使用向小取整法,因此結果為4
>>
>-3
//2-2
##精確結果為-1.5,使用向小取整法,得到結果為-2
>>
>
20//
4.05.0
##算式中包含浮點數時,按照浮點數的精度來表示結果
python3數學函式
1
.pow()
:求冪,pow(3
,10)=
590492.
abs(
):求絕對值,abs(-
3.0)
=3.03.
round()
:四捨五入,round
(1.777)=
24.int()
:取整,直接取整數部分,int
(3.999)=
3#不進行任何和其他操作,直接擷取整數部分5.
float()
:轉換成浮點數,float(1
)=1.06
.oct()
:十進位制轉換為八進位制,oct(10
)=0o127.
hex(
):十進位制轉化為十六進製制,hex(10
)=0xa8
.bin()
:十進位制轉換為二進位制,bin(10
)=0b1010
位運算子
&:位與
,見名知意,就是把數值轉換成二進位制然後逐位進行與運算
>>
>
100&
9696
# 01100000
# 01100100
# --------
# 01100000 #都為1時才能計算成1
|:位或
,把數值轉換成二進位制然後逐位進行或運算
>>
>7|
815# 0111
# 1000
# ----
# 1111 #有1就得1,都為0才得0
>>
>1|
33# 01
# 11
# --
# 11
^:異或
,將數值轉換為二進位制後進行異或運算
>>
>3^
811# 0011
# 1000
# ----
# 1011 #同位不同就得1,同位相同就得0
<<:左移
,將數值轉換為二進位制後,進行左移,可用於計算
>>
>
3<<
3#此表示式表示的是3*2**3(3乘以2的3次方,即3*8),
24>>
>
2<<
9#2乘以2的9次方
1024
#左移n位表示的是將數值乘以2的n次方
>>:右移
,將數值轉換為二進位制後,進行右移,可用於部分計算
>>
>
2>>
1#表示的是2除以2的1次方(2/2=1)
1>>
>
2>>
2#這個不能使用以上的規則表達
0# 10
# -->右移兩位 將2的高位往右移2兩位則所有的位就變成0了
# 00
由於位運算只會得出整數,因此如果需要進行精確的浮點數除法時,不要使用位運算^_^
比較運算子
==:恒等
,用於比較兩邊的值是否相等
#(1)可用於同種資料結構之間的對比,返回布林值
#(2)也可用於不同資料結構之間的對比,返回布林值
#(3)不能用於未宣告的變數之間的對比,會報錯
#(4)在進行引用型別判斷時,比較的只是內容,不能確保兩個物件是相同的,若需比較,可使用is比較或者使用id檢視物件的位址
>>
>3==
3true
>>
>
'a'==
'a'true
>>
>1==
'1'false
#數值1和字串1不相等,返回邏輯假
!=:不等
,用於比較兩邊是否不等
# 規則和==基本相似
>>
>2!=
2false
>>
>2!=
3true
>>
>2!=
'2'true
>>
>2!=
'a'true
>=
,用於對比兩邊的大小,也可用於對比表示式的結果大小
>>
>
'1==1'
>=
'1!=1'
true
##左邊表示式結果為真,因此數值為1,右邊表示式邏輯為假,因此數值為0
>>
>
'ba'
>=
'aa'
true
>>
>
22>=
'a'##不能進行不同種類之間的大小比較
<=
,與》=運算規則相同
>
,同上
<
,同上
等於號
,等於號在python中用於賦值,因此不是運算子
鏈式比較:
類似於1<3>2
#鏈式比較在python中使用較少,
#對於此模擬較可以拆解成多個比較表示式
>>
>
2<
1<
5false
#可以拆解為1>2 and 1<5
邏輯運算子
邏輯運算子也是短路運算子,python中所有的資料物件要麼是true要麼是false,可以直接在布林測試的表示式中使用
與:and
,或:or
,非:not
>>
>
1and
'abcd'
and0
#可以寫成0 and 1 and 'abcd'這樣整個表示式就短路了,可以直接得出結果,減少計算量
false
>>
>
'a'and
'dsdsadsa'
'dsdsadsa'
#根據短路原則,因為是與運算,至少要計算到後面時才可以決定真假了,因此返回值為後面的字串
>>
>
'a'or
'dsdsadsa'
'a'#根據短路原則,最少可以直接根據第乙個表示式得出整個邏輯表示式的值
python系列一 python基礎
python識別符號 在python中識別符號只能使用 數字,字母 而且識別符號只能以下劃線和字母開頭,數字不能作為識別符號開頭 在python中識別符號是區分大小寫的,也就是說arr和arr是不同的識別符號 在python中雙下劃線開頭加雙下劃線結尾的識別符號代表python的特殊方法,如 ini...
python大一基礎題 Python 基礎練習題
python 基礎練習題 以下是我在學習python編寫的一些簡單的練習題,題目答案為本人編寫可能不完全正確只供參考 題目一 列印乙個如下的圖形 for i in range 2,3 for z in range 3 abs i print end for j in range 2 abs i 1 ...
python學習筆記(一) python基礎
前言 前段時間看了一些關於python的學習 主要是廖雪峰總結的python學習 記錄了一些在學習中認為比較重要的知識點,分享出來,自己再熟悉一遍,也希望能幫助到正在學習python的人,一起進步。1 學習python之前要先知道python編碼格式 編寫python檔案需在編輯器中選擇utf 8編...