不論是法術也好,程式語言也好,基礎都超重要的。「了解基礎,才能理解更高深的變化」這句可不是說假的。
如果想在美國混的如魚得水,英文的熟練是條件之一。程式設計也一樣,如果最基本的概念沒有的話,那到後期是很難撐下去的喔!
今天就一起來打基礎吧!
接下來會講的內容很淺,但對完全新手而言可能會比較難理解一點,可以把這篇當成一個基礎字符的解釋,之後在實際寫程式遇到問題的時候再回來翻。
今天的學習目錄:
咦,這不是很正常的事嗎?為什麼要特別拿出來說呢?
不對哦,有些程式語言中是沒有區分大小寫的,比如一些Basic、SQL語言,而Python是會區分的那一種,所以變量good和GOOD在他的眼中是不一樣的。
保留字是在設定中已經被賦予特定意義的單詞,所以不能用來作為變數、函數、類別、模板以及其他物件的名稱。
他會隨著版本慢慢增改,我剛開始接觸Python的時候他只有31個,現在已經變35個了。
在指令行輸入以下指令,就可以知道現在有哪些保留字了:
import keyword
keyword.kwlist
可以參考以下的表格(因為網頁語法關係,第一行會變粗體,沒特別的意思)
False | None | True | and | as | assert | async |
---|---|---|---|---|---|---|
await | break | class | continue | def | del | elif |
else | except | finally | for | from | global | if |
import | in | is | lambda | nonlocal | not | or |
pass | raise | return | try | while | with | yield |
還記得前面我們說過,Python是區分大小寫的嗎?保留字也不例外。所以,if是保留字,IF就不是了。
但一般還是建議避開這些字符作為變數啦,以免之後混淆,寫著寫著頭就昏了。
我們非常老梗的玩一次Hello world吧!
print('Hello World')
有沒有人好奇為什麼每個程式都要用這句當作開始?我自己是蠻好奇的,所以寄去查了一下。
這起源於1972年,布萊恩·柯林漢(Brian Wilson Kernighan)撰寫了的一份檔案《A Tutorial Introduction to the Language B》。
這份檔案當時用B語言撰寫了這個「Hello World」的程式,後來C語言出現也沿用了,從此之後,大部分的程式語言第一句都用「Hello World」作為學習的開頭,除了可以用簡單的方法確認是否程式安裝正確,也有一些致敬的意味吧?
他是一個用來儲存資料的角色,把需要的資料儲存在裡面,就可以在之後拿出來用。
變數的設定很簡單,用 = 就可以了!
ABC=12
_D=0.2
efg123="12"
要注意的是,如果直接輸入數字,資料的型別會是數字,如果加上了"",那資料的型別就會是字符串喔!
下面我們來看看什麼是資料型別。
每個變數都有各自的型別,也就是資料型態,它定義了這個變數可以用來儲存哪種格式的資料,並定義了相對應的操作。
內建的型別主要有以下幾種:
通常變數打完之後,系統會自動設定變數的型別,要查看自己資料的型別,可以用下面這個方法:
type(你的變數名稱)
如果把上面的三個變數輸進去,得出來的結果會分別是int、float、str,可以自己設定變數後玩玩看哦!
既然它都叫變數了,那可以變應該也很好理解吧XD
簡單舉個栗子……例子:
a=123
print(a)
它給我的結果會是123。
但如果我這樣設定:
a=123
a=456
print(a)
這樣它給我的結果會是456。
也就是說,同樣名字的變數,後面的每一次變化,都會取代掉前面的。變數就像一個箱子,要裝新的東西進去,它就會先把之前裝的東西倒掉。
註解Hen~重要!可以讓自己知道當初在寫這一段程式碼在寫什麼。如果是跟同學或同事一起寫程式碼,沒好好寫註解走在路上是會被蓋布袋的哦(笑)
註解很簡單,在開頭加一個#就好了,如果要多行一起註解,則可以用"""包起來:
# 我是註解
"""
我是多行註解
我可以包很多行!
"""
所謂的「子」,就是「符號」的意思!
x + y # X加Y
x - y # X減Y
x * y # X乘Y
x / y # X除以Y
x // y # X除以Y,只取整數解(丟掉後面的小數點)
x % y # X除以Y的餘數
x ** y # X的Y次方
x < y # X小於Y
x > y # X大於Y
x <= y # X小於等於Y
x >= y # X大於等於Y
x == y # X相等於Y
x != y # X不相等於Y
a or b # A或B,其中一個條件成立就回傳True
a and b # A和B,兩個條件都成立才回傳True
not A # 非A,如果不是A,就回傳Ture,反之則回傳False
是數學運算子的衍伸,將運算的過程簡化
a+=b # a=a+b
a-=b # a=a-b
a*=b # a=a*b
a/=b # a=a/b
a%=b # a=a%b
a**=b # a=a**b
a//=b # a=a//b
單純看上面的定義可能有點難理解,簡單做一個示例:
a=1
b=2
a+=b
如果我將上面的程式碼跑完,我再用print(a),結果會是什麼?
答案是3,因為它已經把a+b的結果儲存到a裡面了。