好,所以剛剛的問題總要有個辦法解決嘛, 解決之道就是我們要使用 newline character。
這是什麼東西啊?你知道 A 啊,B 啊,1 啊,2 啊,這些東西
是所謂的 character 嘛,我們稱為字元,就是一個一個的字啦,
那麼事實上,在電腦的世界裡面呢,還有很多的 character 是我們看不到的。
比如說換行這個東西就看不到。
我今天,如果我真的 換行,事實上呢,在電腦上裡面,它們在存東西的時候,並不會真的所謂的
呃,讓它的檔案的結構產生什麼具體的變化。
它實際上是在一個存,呃,原始的檔案裡面呢,它會記載說,哦,這裡有一個要換行的動作。
所以它會記一個換行字元。
那麼換行字元在我們打鍵盤的時候,一般來說就是 輸入 Enter 嘛,我們就會看到一個換行。
但實際上呢,電腦裡面 somehow 有一個,呃,有一個符號是表示換行字元。
那我們今天如果是希望我們在字串裡面 要換行,就要使用換行符號,所以做法大概是像這樣。
我啊,我要在電腦裡面呢知道 怎麼樣去找出那個換行字元的
encoding, 也就是編碼,我要知道換行字元被編碼成什麽。
然後呢,我所謂的跳到下一行, 就用所謂的印出一個換行字元的動作來做。
好,那怎麼做呢?大概是這樣。
我啊,要使用 \n 這個符號。
這個符號呢,在 Python 以及蠻多的其他程序語言裡面, 就表示換行符號。
好,如果我輸入這樣子的一串字,然後 在中間加入
\n,看到的結果就是它會換行,那我們稍微試一下。
我呢,來複製貼上這一段話, 然後呢,在這裡試著執行它。
好,我要執行它,我呢就來貼上它。
當我這樣子做了以後呢,就可以看到確實換行了,對吧? 它並不是真的在螢幕上印出
\,然後印出 n,而是它換行了。
那就表示 \n 這個符號確實就是換行字元。
我透過這個換行字元,把它插在字串裡面, 就等於是在告訴電腦說,欸,這裡給我換行。
大概是這麼一回事。
好的,所以這個 \n 就是換行字元啦。
你光打一個 \ 當然不行,你光打一個 n 當然不行。
\n 中間空格也不行,它就是要連在一起,它才是一個換行字元。
那麼呢,有許多的類似的這種東西, 是基本上你必須要使用一個
\ 在前面來指定的,那麼它們統稱為 Escape sequence 跳脫字元。
那到底爲什麽叫這個名字,我也不是很清楚啦。
但總之啊、 總之呢,它們可以讓你可以處理一些特殊字元。
比如說,換行字元,這個有了。
或者是比如說 Tab, 大家如果有時候用這個 Word 的話呢,你可能會按你的鍵盤左手邊的那個
Tab, 哦,它會幫你可以把字排地比較整齊一點。
好,那又或者是呢,如果你想要在螢幕上印出 一條斜線,那你直接打一個斜線當然不行,因為
一個斜線它會 assume 你後面要接某一個特定的符號 來表示一個字元。
好,所以我們要印出一條斜線,事實上是要打雙斜線才行。
又或者呢,我想要在螢幕上印出 single quotation 或是 double quotation mark,
我也是要在前面加斜線,它才不會把那個 quotation 視為是字串的開頭或結尾。
那我們試一下。
比如說像這樣啊,好,我想要來 print,我想要 print 什麽呢?
我今天如果想要 print,呃我,
我說,比如說,我要這樣的話: 我如果說
Hi,如果我這樣印的話呢,肯定會出事。
因為它會跟我說,你這個怎麼這個,呃,雙引號配來配去的很奇怪。
我真正應該要做的事情應該是,我要在這裡,打上 這個斜線,那麼它就可以在印出東西來的時候呢,
確實地印出這個雙引號。
那 如果我想要的東西是所謂的斜線,光這樣也不行, 也是怪怪的嘛。
它就會變成沒有右邊的雙引號了,就要印出兩個斜線, 這樣才能夠做到這件事情。
那 by the way,因為 單引號跟雙引號可以混著用,但是只要成對就好了。
所以如果你混著用的話,它事實上可以讓你 在某些時候省掉那條斜線,例如像這樣。
你不要單包單或者是雙包雙,你單包雙或是雙包單的話呢, 它就會自動地覺得那是一個要在字串裡的引號啦。
不過這個其實也不是很重要,這是供大家參考。
好,所以呢這個例子,換行字元或者是這個 Escape sequence,大家之後當然會用到。
不過現在介紹的重點是給大家,你慢慢地得要了解,電腦運作的原理到底是什麽。
比如說,換行字元,就是一個電腦運作的原理的一部分。
好,所有的東西在電腦裡面都是有編碼的。
所以呢,要讓它發生,要讓它被印出來,要輸入它,就是要找到相對應的編碼。
好,大概是這麼一回事。
好,那麼呢, 如果大家有興趣的話,再把這些
statement 都拿去 試試看,會看到各式各樣不同的效果。
那大家去自己試試看就好啦! 然後呢,string 這種東西,也就是用單引號或雙引號包起來的東西,
字串處理呢,在這門課的中間,我們會特別地請盧老師來做介紹。
Python 這個語言哪,它的字串處理的能力是特別強的。
那有很多原因,不知道。
但總之在現在這個時代是很有用的,因為你如果 希望你可以做一些自然語言處理啊,做一些文字探勘啊,
從大量的文字資料里面去找出一些資訊,
或者是判讀一些什麽,你勢必要處理文字,勢必要處理字串。
所以呢,這個東西值得多花幾個禮拜,或者是多花幾個 special topic 來講。
那盧老師是這方面的專家,所以我們就靠他啦!好,大概是這個樣子。
好,那你可以這個跟文字 玩,你當然可以跟數字玩。
那跟數字玩呢,你就可以做基本的加減乘除。
所以呢,我們事實上, 在這門課裡面,絕大部份的時間都要請大家做 computation。
大家回憶一下,我們這課名叫什麽,叫做 Programming for business computing。
好,我們要做的事情就是要在這門課裡面, 寫程式,來做一些我商業上需要做的運算。
所以做運算當然是重要的。
那麼呢,我們 起碼,最簡單的呢,就是有這些加減乘除啦。
所以我們如果使用這些 operator 的話,就可以做到加減乘除的效果。
好,剛才已經試過一些了,比如說 3 加 8, 你就會得到 11。
4- 2 * 5 呢, 2 乘以 5 是 10 嘛,4 減 10 是- 6,所以它自動地會幫你先乘除后加減。
你可以用括號來做出這個先後的效果。
所以比如說,這樣寫的話,就會變成 10。
那麼這裡有一些有趣的東西。
我們有一些,呃,如果你沒學過的話,看不懂的東西。
首先是兩個星號,兩個星號是什麽呢?在 Python
裡面, 這個就是平方的意思。
那兩個斜線又是什麽呢? 呃,除法這件事情啊,它有兩種,一種叫做
floating-point division,一種叫做 floor division。
floating-point 是所謂的浮點數,那簡單點理解為小數就好了。
我們之後的課程會再比較詳細,一點點地介紹爲什麽它要叫浮點數。
好,點在浮動,浮點數,那反正就是小數啦!所以呢, 用一條斜線來除,5
除以 2 會變成 2.5,是這麼一回事。
但是呢,如果你今天用兩條斜線來除的話呢, 它會給你什麽?它會自動地捨去
小數的部份,所以 5 除以除以 2 就會變成 2。
因為就是取 floor 嘛,取 floor ,把它取到最大的不超過的整數。
那麼呢,在這裡就是 2 了。
所以這樣叫做 floor division。
那之所以會特別為 floor division 設計一個這個運算字, 當然是因為它很常用。
那現在也講不太出來,總之這門課里你會發現 經常我們要做除法的時候呢,就是要留下那個商,
然後把餘數或者是小數的部份去掉,那麼有了 這個 floor division 了以後,你就可以很方便地做到這件事情。
而不用自己在那邊數,韓信點兵,在那邊數啊數啊的,這樣子,所以這個挺重要的。
那當然,平方這個東西也經常會用到。
欸,對不起,不是平方啦,次方。
所以你可以寫, 3 * * 5,3 的5 次方就出來啦。
那如剛剛所說的,括號可以用來決定你運算的順序。
好,那麼呢,有了基本的字串,有了基本的這個數學運算了以後,就可以做很多事了。
那再加上你的 print,基本上你已經可以玩蠻多事情的啦! 好。