下麵還有一堆學習資料。
陳哲意識到,這個書蟲上傳的東西估計一時半會兒看不完。
這種閱讀量說是活書庫也不為過,陳哲都有點懷疑對方是不是跑了個軟體把所有公開的教材都下載進來了。
退出檔案下載介麵,陳哲也順帶著退出了聊天,把手機重新隱匿起來。
聽完必修的幾節課,陳哲見到其他的課程不扣學分,就順著樓梯離開了學校。
長島商學院,真實麵目不過是一座寫字樓,校方管理倒也不嚴。 ->.
陳哲並不怎麼把這東西當成真正的大學來看待,是讓他進入這所學校也多半是因為這裡可以當跳板。
畢竟陳哲早就不是高中的年紀,如果再年輕幾歲來美利堅的話,說不準還能當北美高中生,可現在這個年齡過來,就隻好走先社羣大學再正常大學的歪路。
2025年末的美利堅,斬殺線一事被嘮成典型,自打老馬的政府效率部解散之後,FBI和國稅局便是西大唯二還算有點效率的部門。
陳哲走到街頭的時候,幾乎直接被警車在人行道上相撞,好在最後有驚無險。
伴隨著陳哲回到公寓,他的手裡也就多出了一疊列印檔案。
……
「傑姆尼,你這是要走?」
陳哲望著背了個不知是什麼雜牌貝斯的傑姆尼,有點疑惑地詢問道。
「是的,我們的樂隊過幾天就開始第一次地下演出,今天我得去排練。」
傑姆尼喝下一口Red Bull,微醺一般翻著白眼,擺了擺手,就穿著一身破破爛爛的破洞夾克,鑰匙叮噹作響,離開了公寓。
窗外已經完全黑了。
晚上七點。
「這公寓租的夠值,室友還是個夜不歸宿的主子。」
陳哲有點沒繃住,他盯著那扇被傑姆尼摔上的門看了兩秒,收回目光:「那麼,該開始網課了。」
要知道在美利堅這地方,公寓和出租屋根本不是一個價格。
公寓的價格可以低到與地下室相比,因為在這裡毫無隱私可言,你有很多個室友。而較為舒適的出租屋比較注意隱私,這就導致了一個月的租金有可能達到幾千美元之多。
而在這種平價公寓裡,想要維持生活就隻需要八百美元就夠了,
客廳安靜下來,隔壁印度菜的咖哩味準時飄過來,混著老木頭和灰塵的氣息,在這間逼仄的屋子裡慢慢發酵。
陳哲把那疊列印檔案放在茶幾上,在沙發上坐下。
他把電腦翻開,看著自己paypal帳單上的數目,離父母的打款還有一段時間。
存款:$1247。
房租:$800,下週一交。
水電煤氣:$85。
今天是2025年11月20號。
算上每一天的飯錢,存款的1247美元其實是不夠的,畢竟去掉了合租和水電煤氣的費用就隻剩下362刀,每一天的飯錢又怎麼可能隻花費三十刀左右。
剩下的錢要撐到下個月發工資,快餐店那點現金收入,加上家教每週四十,滿打滿算能湊個一千二三。
「要是能去應聘工作,我倒是也想應聘,可惜就可惜在我是個學生,就算能得到那5萬美元的後端程式設計師offer也幹不了。」
陳哲若有所思,劈裡啪啦地在個人主頁的簡介裡寫上畢業麵試信投不過、unpaid實習幹了四個月諸類種種令人相信的事實。
隨後,他開始錄製他的第一期網課視訊。
陳哲把列印出來的那疊檔案放在膝蓋上,最上麵一張正是《Python Crash Course》第一章的節選。紙是學校機房順的,邊角還帶著裝訂孔,列印質量一般,有些單詞的字母e和a糊成一團,但湊合能看。
他調整了一下膝上型電腦的角度,讓攝像頭對準自己,又看了眼螢幕右上角的預覽框——畫麵裡是個二十出頭的亞洲男生,背景是廉價公寓發黃的牆壁和半截窗簾,燈光不算明亮,但至少人臉是清楚的。
「就這樣吧。」
陳哲點了錄製鍵,看著秒數開始跳動,開口說話。
「如果你點進這個視訊,大概是想學Python,但不知道該從哪開始。書店裡的大部頭太厚,網上的教程要麼太淺要麼太跳,或者你就是單純不想花錢買課。」他頓了頓,舉起手裡那疊列印紙晃了晃,「巧了,我也是。」
螢幕右上角的自己看起來還算自然。
「我手裡這本《Python Crash Course》,Eric Matthes寫的,算是Python入門裡比較經典的一本。但我沒買正版,因為我付不起四十刀。」陳哲把紙放下,語氣平平的像是在陳述事實,「這疊紙是我在學校印表機蹭的,如果你覺得這樣不好,你現在就可以關視訊,去亞馬遜下單。」
他掃了眼秒數,剛過一分鐘。
「好,留下來的人,我們開始。」
陳哲把列印紙翻到第一頁,第一章的標題是「Getting Started」,下麵列著安裝Python、第一個程式、變數和簡單資料型別。
「安裝Python這部分我就不廢話了,官網下載安裝包,下一步下一步,記得勾選『Add Python to PATH』,這是唯一需要注意的。Mac和Linux自帶Python,開啟終端輸入python --version看一眼版本,不是太老就行。」
他說得很快,像是早就知道這些步驟對真正的小白來說其實沒那麼簡單,但他沒打算在安裝上浪費太多時間。
「裝好了?行,我們開個文字編輯器,別用Word,用記事本或者VS Code都行,沒有就去下個VS Code,免費。」
陳哲把列印紙翻到第二個小節,上麵印著第一個示例程式:print(「Hello Python world!「)
他把這段程式碼抄進編輯器裡——抄的過程中故意放慢了速度,讓觀眾能看清每一個字元——然後儲存成hello.py,開啟終端執行。
螢幕上跳出那行字的時候,陳哲指著螢幕說:「看到了嗎?就這行。你寫的第一行程式碼,讓電腦聽你的話說了句hello。是不是沒什麼了不起的?」
他往後靠了靠,沙發發出輕微的吱呀聲。
「但你知道嗎,所有那些你天天用的App,Instagram、Spotify、Uber,它們的第一行程式碼也都是這樣的。你剛才做的事,和那些年薪十幾萬的程式設計師做的第一件事,沒有任何區別。」
陳哲翻了翻列印紙,目光掃過變數那一節。
「接下來是變數。這玩意兒你一聽可能覺得抽象,什麼變數常量資料型別,但其實很簡單。」他拿起筆在列印紙的空白處寫了行字,舉到鏡頭前,「message ='Hello Python world',print(message)。看到了嗎?message就是個盒子,你把'Hello Python world'這串字放進去,然後print的時候就從盒子裡拿出來用。」
他重新執行了一遍,螢幕上依然是那行hello。
「你可以換個盒子,比如message ='Hello World',再print一次,它就變了。變數就是能變的量,盒子裡裝的東西能換。」
陳哲又翻了翻紙,翻到字串那一節。
「接下來是字串,聽著高大上,其實就是一堆字串在一起,英文叫string,你記成『串』就行。單引號雙引號都行,但別混著用。」他邊說邊寫,「name ='ada lovelace',然後print(name.title()),title()這個方法會把每個單詞首字母大寫。」
螢幕上輸出了Ada Lovelace。
「看到了?這叫方法,後麵跟對小括號,意思是讓Python去做一件事。什麼事?把首字母變大寫。你用點號把name和title()連起來,意思就是對name這個變數做title()這件事。」
陳哲抬頭看了眼鏡頭,又低頭看列印紙。
「再往下是拚接,用加號就行。first_name ='ada',last_name ='lovelace',full_name = first_name '' last_name,print(full_name),你得到ada lovelace。中間加了個空格,用引號括起來的那個空格。」
他演示了一遍,螢幕上出現預期的輸出。
「你可能會想,這有什麼用?我學這個幹嘛?」陳哲把列印紙翻過一頁,上麵密密麻麻印著練習題的程式碼示例,「用處就是,你現在能寫個程式,問使用者名稱字,然後跟人家打招呼了。」
他快速敲了幾行:
```
name = input(「What's your name?「)
print(「Hello,「 name.title() 「!「)
```
執行,在提示符後輸入自己的名字,螢幕上跳出Hello, Chen Zhe!
「看到了?你剛寫了個能跟人互動的程式。雖然簡單,但這是個完整的程式:有輸入,有處理,有輸出。你學的這些零碎的東西,組合起來就能幹點正經事。」
陳哲看了眼時間,已經過去十一分鐘。他翻了翻剩下的列印紙,後麵還有列表、if語句、字典,但今天肯定講不完。
「好,第一期差不多到這兒。今天我們做了三件事:寫了第一行程式碼,學會了變數,用字串跟人打了個招呼。下期我們講列表,那玩意兒能裝一堆東西,到時候你就能寫點更有用的程式了。」
他伸手準備關錄製,又想起什麼似的收回手。
「哦對了,這疊列印紙我會一直用。不是因為買不起書,是因為我確實買不起書。」陳哲扯了扯嘴角,算是個笑,「但書的內容是一樣的,你不嫌棄的話,跟著學就行。就這樣,下期見。」
他點了停止錄製,方纔長出一口氣來。