iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
Python

從概念到應用:Python實戰開發學習之旅系列 第 4

[Day3] 程式語言的容器魔術箱 - 變數

  • 分享至 

  • xImage
  •  

序幕

今天我想介紹的是變數
變數是寫程式當中非常重要的東西
它的概念可簡單也可以很難
但我的教學方式一樣是希望大家透過思考的方式
而非所有定義都要瞭解才實作

本日重點

  • Part1 - 變數的定義
  • part2 - 命名規則
  • part3 - python變數小技巧

變數的定義

變數雖然是所有程式語言有的東西
但不同的程式語言也會造就不同的定義
大家可以先看下面的說明
感受一下

變數的定義

在程式設計中,變數是用來儲存數據的容器。變數可以被賦值不同的型別,並且可以隨時修改或調用。

Python 中的變數定義

在 Python 中,變數不需要顯式聲明其類型,變數的類型由其所賦的值自動推斷。在其他強型別的程式語言會在宣告變數時就先定義
變數的名稱可以指向任何對象(例如,整數、浮點數、字串、列表等),並且可以動態改變類型。使用變數時,只需要通過賦值操作來定義它。

從程式定義來說明 : 大家可以看到下面這張圖來拆解
step1. 等號左邊表示你要取的變數名字。
step2. 中間代表賦值得操作符號
step3. 各種資料或是陳述句(比大小或簡單邏輯運算)

依照定義我想表示
"我家" 這個容器裡面有 "爸爸","媽媽","我"
https://ithelp.ithome.com.tw/upload/images/20240918/20121052LvDiQbhHgB.png

思考插敘
原本我想讓大家看的範例是
house = "豪宅"
但不這麼做的原因是
因為在程式語言中的等號並非數學的左右值相等

在強調一次是賦予或是容納的概念

在給大家一個圖來想像
https://ithelp.ithome.com.tw/upload/images/20240918/20121052IalQYUKE6h.png
這邊是把變數當成一房子,也就是一個容器
我們就是左邊的程式工程師
呼叫這些動物進到房子裡面
這些動物就可以用List來表示["貓","狗","長頸鹿"]

思考插敘
這邊可以給大家思考一下為什麼會使用變數
我的意思是你如果都知道是["貓","狗","長頸鹿"]這些是你的資料。
那直接print顯示給大家看或是回傳使用就好了!?

這邊想告訴大家的是
變數可以依照名詞來想像,它是不固定的值
也就是你的資料源可能是excel、網路每天更新的資料、資料庫資料

那麼你在讀取完後要放哪邊!?
怎麼"預先"寫好程式來做操作呢?

沒錯~!!這種感覺就很像是程式設計師預判了這邊會有未知數
我先預留空間擺資料的概念

當然也會有一些是訂好的常數來使用!? 比如說 pi =3.14

命名規則

程式設計常見的命名方式

這邊我想先先介紹一下程式設計師常見的命名方式

  • 駝峰命名法(Camel Case):多個單詞組成變數名稱時,第一個單詞小寫,後面的單詞首字母大寫。例如 myHause。

分享~這邊在定義function的時候有些工程師會是goHomePage,前面動詞後面名詞的習慣喔~!!

  • 蛇形命名法(Snake Case):多個單詞之間用下劃線分隔,所有字母小寫。例如 my_variable_name。
    Python 蠻常使用這種方式使用的。

至於要怎麼定義,主要還是看團隊PM或是老闆的規定。只要不違反作業系統的命名規則有牴觸比如說-或是特殊符號

python命名規則

接者就要進到我們python蟒蛇麼命名規則拉~!

  1. 變數名稱必須以字母(a-z, A-Z)或下劃線 _ 開頭,不能以數字開頭(1million,這種是不行的)。
    2.變數名稱只能包含字母、數字和下劃線。例如 (good2024year、happy_2024_year)
    3.變數名稱區分大小寫,例如 var 和 Var 是不同的變數。
    4.建議使用有意義的名稱來描述變數所儲存的數據,以增強程式的可讀性。
    不建議取A,B 這種變數....這樣會搞死你的團隊後輩或維護你code的夥伴XDD
    如果這個變數代表認證就可以取certificate之類的。有時候越長的變數但越明確表達越好~!!

小技巧

這邊是python的變數使用小技巧
可以跟大家分想常見的小技巧~

1.賦值 : 這也是最基本的,python會依照工程師定義來給予這個變數的值(可以各種資料型別)。


year = 2024

myHause = "信義豪宅"

family = ["father", "mother", "Roni"]


python跟 javascript都是動態類型。
有想深度瞭解的朋友可以看看其他程式語言的變數定義跟python的差別。

2.重新賦值: 也是很重要的觀念!! 程式裡面並非相同數值,而是賦予

x = 10  # 初始賦值
print(x)  # 輸出 10

x = "Hello"  # 重新賦值,變數類型從整數變為字串
print(x)  # 輸出 Hello

x = 3.14  

大家可以在這邊看到我們可以把初始的值從數字,重新賦予hello字串
它就被改變了呢!!

3.變數交換
顧名思義就是直接交換變數
超好用的~

a = 5
b = 10

# 使用 Python 的交換語法
a, b = b, a

print(a)  # 輸出 10
print(b)  # 輸出 5

這邊先賣關子,但以後如果有演算法或是一些邏輯互換的例子
就可以帶大家詳細看這邊。

4.變數的作用域

變數的作用域(Scope)
變數的作用域決定了變數在程式中的可訪問範圍。變數可以是全域變數或區域變數。
區域變數:在函數內部定義的變數,只能在該函數內部使用。
全域變數:在函數外部定義的變數,可以在全局範圍內訪問。

x = 100  # 全域變數

def func():
    y = 50  # 區域變數
    print(y)

func()  # 輸出 50
print(x)  # 輸出 100
# print(y)  # 這裡會報錯,因為 y 是區域變數

這個還沒提到,不過可以先寫一下讓大家當範本參考
以後在交流程控制或function的時候會再複習一下~!

總結

今天學習到了
變數的基本概念跟應用場景
大部分的使用情況都是
我們程式設計師

Step1定義好變數: 告訴電腦請配置一快記憶體空間給我
Step2撰寫邏輯或應用
Step3讀取外部資料塞入變數
Step4依照我們寫的邏輯來運行

可以依照這個方向去想像變數的用途
只要學會了變數我們就可以大膽的用外部資料來運算操作搂~!!

有時候也不一定是外部資料,而是要進行程式的日常工作呢~!!笑笑XDD


上一篇
[Day2] Python的基礎型別概念
系列文
從概念到應用:Python實戰開發學習之旅4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言