python 基礎(chǔ)(三)

python 運算(布爾值,自增,比較,邏輯)
python 流程控制
python 推導(dǎo)式
深度拷貝

python運算
    布爾值:
        True    非0的數(shù)字,非空的字符串,列表,元素,字典
        False   0 "" () [] {} None
    自增運算:
        var int i 
        i = 0 ,i < 10
        i++
        i += 1
        #其他語言出現(xiàn)的循環(huán)

    邏輯運算
        布爾值可以用邏輯運算符and(且);or(or);not(非)來運算
            and(與),所有條件符合才為True
                    >>> True and True
                    True
                    >>> True and False
                    False
                    >>> False and False
                    False
            or(或)運算,只要其中有一個為True都為True
                    >>> True or False
                    True
                    >>> True or True
                    True
                    >>> False or False
                    False
            not(非)運算
                    >>> not True
                    False
                    >>> not False
            
>>> username = 'shuai'
>>> password = '123'
>>> username == 'shuai' and password == '123'
True

                    True
            空值;
                空值為None
                None不能理解為0;0是有意義的,None是一個特殊的空值
            變量;
                變量必須是大小寫字母,數(shù)字和_的組合

自增運算
    其他語言的自增運算
        var int i 
            i = 0
            i++     等同后面的i = i + 1
        printf(i)

    在python中
        i = 10
        i += 1      等同 i = i + 1
        i += 2      等同 i = i + 2
        i -= 1      等同 i = i - 1
        i *= 1      等同 i = i * 1
        i /= 1      等同 i = i / 1

比較(關(guān)系)運算符
    python中的比較運算符如下表
    
    == 
    檢查兩個操作數(shù)的值是否相等,如果是則條件 變?yōu)檎妗?
    如a=3,b=3則( a == b) 為 True. 
    
    != 
    檢查兩個操作數(shù)的值是否相等,如果值不相等, 則條件變?yōu)檎妗?
    如a=1,b=3則(a != b) 為 True. 
     
    <>  只在python2中存在,python中已經(jīng)取消了
    檢查兩個操作數(shù)的值是否相等,如果值不相等, 
    則條件變?yōu)檎?。Python和在Pascal等特有方式,java和c沒有,在Python3中廢棄了 
    如a=1,b=3則(a <> b) 為 True。 這個類似亍 != 運算符 
    
    > 
    檢查左操作數(shù)的值是否大亍右操作數(shù)的值,如 果是,則條件成立。 
    如a=7,b=3則(a > b) 為 True. 
    
    < 
    檢查左操作數(shù)的值是否小亍右操作數(shù)的值,如 果是,則條件成立。 
    如a=7,b=3則(a < b) 為 False. 
    
    >= 
    檢查左操作數(shù)的值是否大亍戒等亍右操作數(shù)的 值,如果是,則條件成立。 
    如a=3,b=3則(a >= b) 為 True. 
    
    <= 
    檢查左操作數(shù)的值是否小亍戒等亍右操作數(shù)的 值,如果是,則條件成立。 
    如a=3,b=3則(a <= b) 為 True. 

比較運算
    >>> 1 > 0
    True
    >>> 1 < 0
    False
    >>> 1 == 1.0
    True
    >>> 1 >= 1.0
    True
    >>> 1 <= 1.0
    True
    >>> 1 != 1.0
    False
    >>> 1 <> 1.0
    SyntaxError: invalid syntax
    >>> 1 is 1.0
    False
    >>> print(id(1),id(1.0))
    140728753611408 2998816717992
    >>> 1 is 1
    True

邏輯運算符
    and 
    x and y 
    布爾"不" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 
    那如果 x 總為 False 呢? 
    
    or
     x or y 
    布爾"或" - 如果 x 是 True,它返回 True,否 則它返回 y 的計算值。 
    那如果 x 總為 True 呢? 
    
    not
     not x 
    布爾"非" - 如果 x 為 True,返回 False 。如 果 x 為 False,它返回 True。 
        
        >>> True or False and False
        True
            如果先算or就會輸出:False,所以and > or
        >>> not False and False
        False
            如果先not就會輸出True
        >>> not False or True
        True
            如果先or就會輸出False
        >>> True or False
        True
        >>> False or True
        True
運算順序 not  and  or   非且或

python 流程控制
        流程控制 個別的指令(或是陳述,子程序)運行或求值的順序
        python代碼正常情況下執(zhí)行的順序是從左到右,從上到下的,但也有不是這樣的
        語句A--->>語句B----->>語句C

    if 判斷語句
    for循環(huán)語句
    while 循環(huán)語句
    python是靠冒號和縮進(jìn)來確定代碼的歸屬的

if 判斷語句
    執(zhí)行順序
    if  elif  else

            a = float(input('輸入一個數(shù)字:'))
            if a == 1:
                print('shuai')
            elif a == 5 :
                print('ge')
            else:
                print('%d is not 5 and 1'%(a))

            輸入一個數(shù)字:10
            10 is not 5 and 1

if 判斷要注意的點
    注意判斷的范圍,判斷條件范圍大的要放在下面
            a = int(input('輸入:'))
            if a < 10:
                print('%d 小于10'%(a))
            elif a < 5:
                print('%d 小于5'%(a))
            else:
                print('%d 大于10'%(a))    注意%d 大于10'  中間不要,  %(a)


            輸入:8
            8 小于10

    區(qū)分if elif 和 if if 的區(qū)別

        判斷兩種可能,
            a = int(input('shuru:'))
            if a < 15:
                print(int(a),'< 15')
            elif a < 20:
                print(int(a),'< 20')
            else:
                print(none)
                

                shuru:19
                19 < 20

        判斷兩次,先判斷是否滿足a ,再判斷是否滿足B,
            >>> 
            '''
            a = 10
            if a < 15:
                print('a < 15')
            if a < 20:
                print('a < 20')
                
            a < 15
            a < 20
for循環(huán)語句
    其他語言
            for (var int i,i < 3,i++){
                print("nice")
            }           
    python 當(dāng)中采用的是for in結(jié)構(gòu)

    for in 
    #i是一個變量
    #‘a(chǎn)bcd’是可迭代對象
    #將‘a(chǎn)bcd’依次賦值給i每次賦值作為一次循環(huán)
    
            for i in 'abcd':
                print(i,end='\t')
                print('hello word')
                

                a   hello word
                b   hello word
                c   hello word
                d   hello word
                 
    嵌套循環(huán)
        外層循環(huán)一次
        內(nèi)層循環(huán)一遍
        for i in 'abcd':
             print(i)
             for j in range(2):
                print(j)
            

                a
                0
                1
                b
                0
                1
                c
                0
                1
                d
                0               
打印乘法口訣表
        for i in range(10):
            for m in range(1,i+1):
                sum = i*m
                if m < i:
                    print(m,'*',i,'=',sum,end='')
                else:
                    print(m,'*',i,'=',sum)

while循環(huán)語句
    while循環(huán),while循環(huán)和for循環(huán)不同,for循環(huán)是一個廣度遍歷,而while循環(huán)式一個深度遍歷
    while循環(huán),指當(dāng)滿足while的條件的時候,就一直循環(huán)執(zhí)行while的語句塊,直到不滿足
    a = 0
    while a < 10:
        print (a)
        a += 1
0
1
2
3
4
5
6
7
8
9


a = 0
while a < 10:
    print (a)
    a += 1
else:
    print('shutdown')



0
1
2
3
4
5
6
7
8
9
shutdown
>>>      


死循環(huán)會阻礙程序的運行
死循環(huán)多數(shù)用于圖形化,游戲等可視化的主循環(huán)
列如:
a = 0
while a < 100:
    print('down')


三種流程控制語句
    
    pass ,pass 
    寫在任何縮進(jìn)的語句塊部分,只是占位,什么事情都不做,只是未來滿足python的語法要求

for i in range(5):      #不加pass會報錯,
    if i == 2:
        pass
    print(i)

0
1
2
3
4

    break 跳出上一層循環(huán)
for i in range(5):
    if i == 2:
        break
    print(i)


0
1   


    continue跳出本次循環(huán)

for i in range(5):      #直接跳過了2這個循環(huán)
    if i == 2:
        continue
    print(i)


0
1
3
4
>>> 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容