python基礎(一) python3運算子

2021-10-01 12:16:28 字數 4523 閱讀 4655

動態語言與靜態語言

靜態語言

宣告了變數型別之後,變數的型別不能再改變,編譯時會進行此類檢查

動態語言

不用事先宣告變數型別,隨時可以賦值為其他型別

因此在程式設計時,有些變數的型別沒有宣告,使用時會比較難判斷

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編...