python遞加 python的運算子

2021-10-18 15:58:00 字數 2676 閱讀 2404

python當中沒有自增和自減的概念

算術運算子:

+  加

-  減

*  乘

/  除

% 取餘

// 整除

** 平方

賦值運算子:就是給變數賦值的

=  賦值  a = 1  --- 把數字1賦值給乙個變數a

+=  加等於  a += 1 和 a = a + 1 時一樣

比較(關係)運算子:最終會產生乙個bool值

== 等於

<= 小於或者等於

>= 大於或者等於

!= 不等於

例:b += b >= 1  -- b = b + b >= 1  --- b = b + true --- b = b + 1 --- b = 2

「a」 > "b" --- false   ord("a") = 97     ord("b") = 98 --- 97 > 98 --- false  ord("a")表示求出「a」的asscii的編碼

「abc」 < "abd" --- true  --- 兩個字串會對應字元的asscll編碼進行比較,只要碰到第乙個不一樣的就返回結果。

[1,2,3] > [2,3,4] -- false --- 和兩個字串比較相類似,也是對應位置上的數字進行比較

除此之外,元組和set集合也可以比較,但是set集合比較大小沒有什麼意義,因為set是無序的。

但是dict不能這樣比較   > -- 會報錯

邏輯運算子:操作的是bool型別

and 且   true and true --- true

or 或     true or false --- false

not 非   not false --- true   not not false --- false

1 and 1 --- true and true --- true --- 1  1 and 1 的最終結果為1

int和float:0為false,其他為true

str型別:空字串為false,其他為true

list,set,dict,tuple:為空的時候是false,其他情況為true

1 or 2 --- 返回1 因為1為true, or 後面的值不管是什麼整體都返回true,所以直接順手就把1給你返回了,or後面的這個值不會管

0 and "" --- 返回0 因為0為false,不管and後面是什麼整體都返回false,所以不會看and後面的,直接返回0

1 and 2 --- 返回2 ,因為1為true,true and 判斷不出來,所以要看後面的,後面的為2,也為true,順手把2直接返回

0 or "" --- 返回"" ,因為0為false,false or判斷不出來,所以要看後面的,後面的為"",也為false,順手直接把""返回

成員運算子:判斷乙個元素是否另外一組元素裡面,返回值為bool型別

not in 不在

in 在

a = 1

b = 6

a in [1,2,3,4,5] --- true

b in [1,2,3,4,5] --- false

a not in [1,2,3,4,5] --- false

b not in [1,2,3,4,5] --- true

對str,tuple,set都適用

"h" in "hello" --- true

如果是字典:

b = 'a'

b in --- false

b = 1

b in --- false

b ='c'

b in --- true

判斷乙個元素是不是在字典中,判斷的是key而不是value

身份運算子:返回結果為bool型別

is not

is1 == 1.0 --- true

1 is 1.0 --- false

a =

b =

a == b --- true   因為set集合是無序的

a is b --- false  因為a和b的記憶體位址是不一樣的

c = (1,2,3)

d = (2,1,3)

c == d --- true 元組是有序的

c is d --- false 因為c和d的記憶體位址是不一樣的

擴充套件:物件的三個特徵:值(value),身份(is)和型別(type)

值用==判斷  身份用is判斷  型別用isintance判斷

為什麼判斷型別要用isinstace而不是type呢? --- 因為ytype並不能判斷乙個變數的子類屬於哪種型別,而isinstance可以

判斷乙個變數是否屬於乙個型別 --- isinstance(變數名,型別)

a = 1

isinstance(a,int) --- true

isinstance的另外一種用法:

isinstance(a,(int,str,float)) --- true

第乙個引數是變數名,第二個引數是乙個元組,這個元組裡面可以裝任意多個,表示a如果是元組裡面的任何乙個型別,都將返回true

位運算子:把這個數當作二進位制數進行運算

& 按位與 --- 同1為1,否則為0

| 按位或 --- 同0為0,否則為1

^ 按位異或

~ 按位取反

<< 左移

>> 右移

python遞加 python的集合

ptyhon中集合時無序的,所以不能像序列那樣通過下標去取值,集合是去重的 set集合 表示set集合 len 3 求出乙個集合的長度 1 in true 判斷乙個元素是否在集合當中 1 not in false 判斷乙個元素是否在不再乙個集合當中 求i兩個集合的差集 求兩個集合的交集 把兩個集合合...

100題 第十二題(特殊的遞加)

一,題目 求1 2 n,要求不能使用乘除法 for while if else switch case等關鍵字以及條件判斷語句 a?b c 二,分析 迴圈只是讓相同的 執行n遍而已,我們完全可以不用for和while達到這個效果。比如定義乙個類,我們new一含有n個這種型別元素的陣列 那麼該類的建構...

Python(四)python的注釋

一 python單行注釋符號 python中單行注釋採用 開頭二 批量 多行注釋符號 多行注釋是用三引號 包含的,例如 三 python中文注釋方法 如果檔案裡有非ascii字元,需要在第一行或第二行指定編碼宣告。把chinesetest.py檔案的編碼重新改為ansi,並加上編碼宣告 一定要在第一...