python學習日記(二)
今天上午學習了第四講,有很多可以說出口的收穫,自己也想了挺多的,在做課後題的時候通過查資料也有了不少靈感。
1.while迴圈的小用法:while的用法和c中類似,只不過後面也不用括號,但是要用冒號,要注意的是
a.while後為真時,若不新增其他控制語句,將進入死迴圈,如下,會一直列印“進入迴圈”,按下ctrl+c可以強制退出 while 'C':
print('進入迴圈')
print('退出迴圈')
b.while後為假時,將不執行while模組裡的語句,如下三種情況均為假,也只有這三種情況為假,將只出現“退出迴圈” while ''或者0或者False:
print('進入迴圈')
print('退出迴圈')
2.python3中一行可以書寫多個語句,但是要用分號隔開(不過感覺很醜,還是老老實實換行的好),例如: >>> print('I love you');print('very much!')
同時,也可以將一行語句換成多行書寫,可以加反斜槓也可以加括號,例如: >>>3>4 and \ 1<2
>>> ( 3 > 4 and
1 < 2 )
這和我之前的認知有點相悖,上次才說python裡面沒有分號和括號,通過換行和縮排來控制。但是我自己試了試又加括號又有分號的,結果失敗了,看來還是老老實實用人家推薦的書寫方式比較好emmm
3.好了接下來是重頭戲!很多之前學過c的朋友們都知道,在c裡面表達邏輯與和或用的是&&和||,而python換成了and和or,那麼這兩個有什麼區別呢?
相同的方面:它們都是短路求值,即在已經確定一方滿足要求的情況下,不會再去管剩下方的感受。
不同點:c中返回的是邏輯值,即t0、1,而python返回的是實際值,即實際參與比較的其中一方,例如:
c中printf("%d,%d\n,1&&3,0&&1);得到的返回值為1,0
python中>>>1 and 3 得到3,>>>0 and 1得到0
這又牽扯出非常玄妙的,python中的邏輯運算
python中的and運算將返回第一個為假的值,如果全為真則返回最後一個值;
python中的ro運算返回第一個為真的值,全為假則返回最後一個值。
看起來很繞,其實用起來也很繞,繞老繞去雖然今天勉強懂了,說不定到明天又不知道咋回事,還是得溫故常新。等我真正能弄懂其中玄妙了,就來這裡出一篇專門解釋的部落格吧。
4.關於python中ASCII碼和數字互相轉化的,要將數字轉化成ASCII用:chr(數字),反之為orb('字母'),就可以看見了。
5.python中end=的用法:例如print(“#”,end=" \n"),預設換行,print(“#”,end=" ")則在迴圈中不換行。