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,並加上編碼宣告 一定要在第一...