iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
AI & Data

跟我一起在AI的世界裡打怪獸系列 第 12

Day12 基礎符文認識-Python的基本語法(上)

  • 分享至 

  • xImage
  •  

不論是法術也好,程式語言也好,基礎都超重要的。「了解基礎,才能理解更高深的變化」這句可不是說假的。

如果想在美國混的如魚得水,英文的熟練是條件之一。程式設計也一樣,如果最基本的概念沒有的話,那到後期是很難撐下去的喔!

今天就一起來打基礎吧!


接下來會講的內容很淺,但對完全新手而言可能會比較難理解一點,可以把這篇當成一個基礎字符的解釋,之後在實際寫程式遇到問題的時候再回來翻。

今天的學習目錄:

  1. Case Sensitivity-區分大小寫
  2. 保留字(Keyword)
  3. 輸出、變數設定、註解
  4. 運算子-數學、關係、邏輯、賦值

Case Sensitivity-區分大小寫

咦,這不是很正常的事嗎?為什麼要特別拿出來說呢?

不對哦,有些程式語言中是沒有區分大小寫的,比如一些Basic、SQL語言,而Python是會區分的那一種,所以變量good和GOOD在他的眼中是不一樣的。

保留字(Keyword)

保留字是在設定中已經被賦予特定意義的單詞,所以不能用來作為變數、函數、類別、模板以及其他物件的名稱。

他會隨著版本慢慢增改,我剛開始接觸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就不是了。

但一般還是建議避開這些字符作為變數啦,以免之後混淆,寫著寫著頭就昏了。

輸出、變數設定、註解

輸出-Print

我們非常老梗的玩一次Hello world吧!

print('Hello World')

有沒有人好奇為什麼每個程式都要用這句當作開始?我自己是蠻好奇的,所以寄去查了一下。

這起源於1972年,布萊恩·柯林漢(Brian Wilson Kernighan)撰寫了的一份檔案《A Tutorial Introduction to the Language B》。

這份檔案當時用B語言撰寫了這個「Hello World」的程式,後來C語言出現也沿用了,從此之後,大部分的程式語言第一句都用「Hello World」作為學習的開頭,除了可以用簡單的方法確認是否程式安裝正確,也有一些致敬的意味吧?

變數/變量(variable)

他是一個用來儲存資料的角色,把需要的資料儲存在裡面,就可以在之後拿出來用。

  • 命名規則:
  1. 開頭第一個字:只能用英文字母或下劃線" _ "(但盡量不要)。
  2. 第一個字母之後:可以用英文字母、下劃線、數字。
  3. 區分大小寫!
  4. 不可以用中文、標點符號、空格。

變數的設定很簡單,用 = 就可以了!

ABC=12
_D=0.2
efg123="12"

要注意的是,如果直接輸入數字,資料的型別會是數字,如果加上了"",那資料的型別就會是字符串喔!

下面我們來看看什麼是資料型別。

  • 資料型別:

每個變數都有各自的型別,也就是資料型態,它定義了這個變數可以用來儲存哪種格式的資料,並定義了相對應的操作。

內建的型別主要有以下幾種:

  • 數值型態:int(整數), float(浮點數-有小數點的數字), bool(布林值)
  • 字符串類型狀態:str(字串)
  • 容器型態:list(列表), tuple(元組), dict(字典)

通常變數打完之後,系統會自動設定變數的型別,要查看自己資料的型別,可以用下面這個方法:

type(你的變數名稱)

如果把上面的三個變數輸進去,得出來的結果會分別是int、float、str,可以自己設定變數後玩玩看哦!

  • 可以「變」:

既然它都叫變數了,那可以變應該也很好理解吧XD

簡單舉個栗子……例子:

a=123
print(a)

它給我的結果會是123。

但如果我這樣設定:

a=123
a=456
print(a)

這樣它給我的結果會是456。

也就是說,同樣名字的變數,後面的每一次變化,都會取代掉前面的。變數就像一個箱子,要裝新的東西進去,它就會先把之前裝的東西倒掉。

註解

註解Hen~重要!可以讓自己知道當初在寫這一段程式碼在寫什麼。如果是跟同學或同事一起寫程式碼,沒好好寫註解走在路上是會被蓋布袋的哦(笑)

註解很簡單,在開頭加一個#就好了,如果要多行一起註解,則可以用"""包起來:

# 我是註解

"""
我是多行註解
我可以包很多行!
"""

運算子-數學、關係、邏輯、賦值

所謂的「子」,就是「符號」的意思!

數學運算子 (Arithmetic Operator)

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次方

關係運算子(Comparison operator)

x < y   # X小於Y
x > y   # X大於Y
x <= y  # X小於等於Y
x >= y  # X大於等於Y
x == y  # X相等於Y
x != y  # X不相等於Y

邏輯運算子(Logical Operator)

a or b	 # A或B,其中一個條件成立就回傳True
a and b	 # A和B,兩個條件都成立才回傳True
not A	 # 非A,如果不是A,就回傳Ture,反之則回傳False

賦值運算子(Assignment Operators)

是數學運算子的衍伸,將運算的過程簡化

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裡面了。


上一篇
Day11 老打鐵的武器舖二刷-開始打造你自己的Python工具箱
下一篇
Day13 python語法(中)-導入函式庫
系列文
跟我一起在AI的世界裡打怪獸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言