2024年9月17日 星期二

 Python 中的 enumerate 函數詳解

今天讓我們來聊聊 Python 中的『enumerate』這個函數,

enumerate 是 Python 中一個非常有用的內建函數,它允許我們在迭代序列(如串列、數組(元組)或字串)時,同時獲取串列元素的索引和值。這在需要追蹤元素位置的情況下特別方便,不需要手動管理索引變數。


enumerate 的基本語法:

enumerate(iterable, start=0)


參數說明:

  • iterable:一個可迭代對象,如列表、元組、字符串等。
  • start:指定索引的起始值,默認從 0 開始。



◎主要功能:

自動生成索引
使用 enumerate 函數,可以輕鬆地在迭代序列時,同時獲取每個元素的索引,無需額外的索引變量。

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")

輸出:

Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry


指定起始索引

通過設置 start 參數,可以改變索引的起始值。

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits, start=1):
print(f"Index: {index}, Fruit: {fruit}")

輸出:

Index: 1, Fruit: apple
Index: 2, Fruit: banana
Index: 3, Fruit: cherry


與其他函數結合使用

enumerate 可以與其他函數(如列表生成式、字典生成式等)結合使用,從而更加靈活地操作數據。

  • 列表生成式:
fruits = ["apple", "banana", "cherry"]
indexed_fruits = [(index, fruit) for index, fruit in enumerate(fruits)]
print(indexed_fruits)

輸出:

[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
  • 字典生成式:
fruits = ["apple", "banana", "cherry"]
fruit_dict = {index: fruit for index, fruit in enumerate(fruits, start=1)}
print(fruit_dict)

輸出:

{1: 'apple', 2: 'banana', 3: 'cherry'}


處理多維數據

enumerate 同樣可以用於多維列表或其他多維結構的迭代,並且可以嵌套使用來處理多層索引。

matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for i, row in enumerate(matrix):
for j, value in enumerate(row):
print(f"matrix[{i}][{j}] = {value}")

輸出:

matrix[0][0] = 1
matrix[0][1] = 2
matrix[0][2] = 3
matrix[1][0] = 4
matrix[1][1] = 5
matrix[1][2] = 6
matrix[2][0] = 7
matrix[2][1] = 8
matrix[2][2] = 9


◎enumerate 的應用時機:

  • 遍歷列表並同時跟蹤索引: 在需要處理列表中的元素時,經常需要同時知道元素的位置。enumerate 可以輕鬆實現這一點。
  • 數據分析和報表生成: 在處理數據時,常常需要輸出帶有序號的結果列表。enumerate 使這個過程更加簡單和直觀。
  • 多維數據的處理: 在迭代嵌套結構時,enumerate 可以幫助我們在多層迭代中跟蹤元素的多維索引。


◎總結

enumerate 是一個功能強大且易於使用的工具,它可以幫助我們在處理串列時更輕鬆地管理索引。如果在迭代過程中經常需要同時使用索引和元素,那麼使用 enumerate 是非常推薦的做法。

2024年8月31日 星期六

深入理解 Python 的 print() 函數

 深入理解 Python 的 print() 函數

Python 中的 print() 函數是一個非常常用的輸出函數,用於將結果輸出到控制台。雖然它看似簡單,但 print() 函數具有多種功能和選項,能夠滿足不同的輸出需求。本文將介紹 print() 函數的基本用法、主要參數及其常見應用。

基本用法

print() 是一個內建函數,可以直接使用來將資料內容輸出到控制台。基本語法格式如下:

print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

  • value1, value2, ...:要輸出的多個值,可以是不同類型的數據,如字串、數值、串列等。
  • sep:多個值之間的分隔符號,預設為空格 。
  • end:在輸出內容的最後要添加的符號,預設為換行符號 '\n'
  • file:輸出目標,預設為標準輸出(即控制台)。可以設置為其他文件或 IO 資料流。
  • flush:是否強制更新輸出緩衝區,預設為 False

  • 重點功能歸納

    1. 多個輸出值的處理

      print() 函數可以同時輸出多個變數或值,這些值之間使用 sep 參數定義的分隔符號隔開。
      print("Hello", "World", 2024)  # 輸出: Hello World 2024

    2. 修改行末尾文字符號

      預設情況下,print() 在輸出後會自動換行。可以通過設定 end 參數來改變這一行為。

      print("Hello", end="!")

      print("World")  # 輸出: Hello!World

    3. 自定分隔符號

      sep 參數允許指定多個輸出值之間的分隔符號。

      print("apple", "banana", "cherry", sep=", ")  # 輸出: apple, banana, cherry

    4. 輸出到文件

      print() 函數可以將輸出定向到文件,而不是預設的控制台。

      with open("output.txt", "w") as f:

          print("This is a test.", file=f)

    5. 緩衝區更新

      通常,print() 函數不會立即將內容列印出來,除非換行或緩衝區已滿。如果需要立即輸出,可以設定參數 flush=True

      import time

      print("Loading", end="", flush=True)

      for _ in range(5):

          time.sleep(1)

          print(".", end="", flush=True)


    範例說明

    以下是一些 print() 函數的應用範例:

    # 基本輸出

    print("Hello, Python!")


    # 同時輸出多個值

    a = 10

    b = 20

    print("a =", a, ", b =", b)  # 輸出: a = 10 , b = 20


    # 修改行末尾文字符號

    print("Counting down:", end=" ")

    for i in range(5, 0, -1):

        print(i, end=" ")

    print("Go!")


    # 自定分隔符號

    fruits = ["apple", "banana", "cherry"]

    print("Fruits:", ", ".join(fruits))


    # 輸出到文件

    with open("example_output.txt", "w") as file:

        print("This is written to a file.", file=file)


    結論

    print() 函數是 Python 中最基本且最常用的輸出工具之一。通過靈活使用它的參數,開發者可以輕鬆地設定輸出格式,並將輸出內容保存。熟練掌握 print() 的用法,能夠幫助我們在Python開發過程中進行有效的測試與數據展示。





    2023年12月5日 星期二

    Word基礎

     介面

    標籤操作

    • 標籤點2下可將標籤隱藏摺疊,再點2下可展開功能區。
    • 在折疊的標籤上按右鍵,點選『摺疊功能區』,可取消摺疊並展開功能區。

    介面色彩

    『檔案』>選項一般>Office佈景主題


    選取

    • 拖曳
    • 滑鼠指標放在段落的前方(呈現白色箭頭)點一下,選取一行。
    • 滑鼠指標放在段落內點2下,選取游標附近的字詞。
    • 滑鼠指標放在段落內點3下,選取整段。

    頁面切換

    • Ctrl +Page Up』:上一頁
    • Ctrl +Page Down』:下一頁
    • Ctrl +Home』:第一頁
    • Ctrl +End』:最後一頁

    檢視比例

    • 『檢視』標籤>縮放
    • 右下角比例滑桿
    • Ctrl +『滑鼠滾輪』:往上放大、往下縮小

    段落設定

    標題文字與第一個段落之間的距離:

    • 游標放在標題段落中『常用』標籤>段落>行距與段落間距新增段落後的空間

    段落間距:

    • 游標放在段落中『常用』標籤>段落>段落設定(右下角箭頭)→開啟『段落』設定視窗>縮排與行距>段落間距>設定:與前、後段距離
    • 選取要調整的段落『常用』標籤>段落>行距與段落間距→1.5/2.0

    段落與段落之間的距離:

    • 選取要調整的段落『常用』標籤>段落>段落設定(右下角箭頭)→開啟『段落』設定視窗>縮排與行距>段落間距>設定:與前(0.5)、後(0.5)段距離、行距(1.5倍行高)

    段落第一行縮排:

    • 選取要調整的段落『常用』標籤>段落>段落設定(右下角箭頭)→開啟『段落』設定視窗>縮排與行距>縮排>指定方式:第一行 、位移點數:2字元(第一行縮排2個字元)

    段落左右對齊:

    • 選取要調整的段落『常用』標籤>段落>段落設定(右下角箭頭)→開啟『段落』設定視窗>縮排與行距>一般>對齊方式左右對齊

    字距設定

    • 選取文字『常用』標籤>字型>字型(右下角箭頭)→開啟『字型』設定視窗>進階>間距 / 點數設定
    • 選取文字『常用』標籤>段落>分散對齊開啟『最適文字大小』設定視窗>新文字寬度>輸入字元寬度值確定(若要取消設定的寬度,將由標放在文字段落中,下方出現淺藍色線條,再次進入『最適文字大小』設定視窗按下『移除』

    圖片裁切

    一般裁切:

    • 點選圖片『圖片格式』標籤>大小>裁剪(按上半部)→圖片上產生黑色裁剪框拖曳裁剪框→Enter
    • 重新裁切或恢復原來大小,以上述方法操作即可。
    • 點選圖片拖曳裁切框放大範圍『圖片格式』標籤>大小>裁剪(按下半部)→填滿圖片可填滿裁剪框範圍

    裁切成圖形:

    • 點選圖片拖曳裁剪框範圍『圖片格式』標籤>大小>裁剪(按下半部)→裁剪成圖形點選圖形

    特殊文繞圖

    自訂文字在圖片周圍的位置:

    • 點選圖片『圖片格式』標籤>排列>自動換行(文繞圖)→編輯文字區端點拖曳黑色節點以調整文字與圖片之間的位置
    • 新增節點:於紅色線條上拖曳
    • 刪除節點:Ctrl + 點一下節點

    尺規

    • 左邊縮排:左側下方矩形
    • 首行凸排:左側下方三角形
    • 首行縮排:左側上方三角形
    • 右邊縮排:右側下方三角形
    • 文件左右邊界:滑鼠指標置於尺規左右側灰白交界處,當指標變成雙箭頭時拖曳。

    定位點

    • 製作定位點要將文字與文字之間以『Tab』隔開全選要製作定位點的段落按下尺規左方的定位點類型(切換不同的定位點)→於尺規上要加入定位點的地方點一下產生定位點符號並將文字移動到定位點處
    • 拖曳定位點符號可調整定位點位置
    • 2下定位點符號開啟『定位點』設定視窗設定定位點前置字元
    • 刪除定位點符號:將定位點符號拖曳到尺規外

    封面頁

    • 『檢視』標籤>縮放>多頁(以方便檢視封面)
    『插入』標籤>頁面>封面頁點選任一封面範本修改封面中各項目

     Oracle Virtual Machine VirtualBox下載與安裝

    Oracle VM(Virtual Machine) VirtualBox

    功能:開放原始碼的虛擬機器軟體,所謂的虛擬機器,是一種可以在一般電腦平台中與使用者之間建立的一個環境,使用者透過虛擬機器建立的環境來操作其軟體。

    虛擬機器具有完整的硬體系統功能,是一種隔離在目前電腦作業系統之外的環境,可以執行電腦作業系統的所有功能,而又不會影響目前的電腦作業系統。

     

    VirtualBox 則是一個免費且開放原始碼的虛擬機器軟體,目前為美商甲骨文公司(Oracle)進行開發,支援 32/64 位元的 WindowsSolariLinux 作業系統中虛擬其他的 x86 作業系統。

    可以透過程式模擬虛擬的電腦硬體環境,使一台電腦同時安裝並執行多種作業系統(WindowsLinusBSDmacOS…),並且不影響電腦原有的作業系統與硬碟資料。

     

    ●下載 Oracle VM VirtualBox

    Google 搜尋:virtualbox,點選頁面連結:Oracle VM VirtualBox

     



    進入頁面後,點選:Download VirtualBox 7.0 (這是目前的版本)

     



    進入下載頁面,點選:Windows hosts,即可下載安裝檔

    (目前檔案版本是 VirtualBox-7.0.12-159484-Win.exe)


     

    Ubuntu 作業系統

    是一個Linux的一個作業系統,可以安裝於虛擬電腦中,也是免費開源的作業系統,以圖形介面運作,主要是提供穩定以自由軟體建構而成的作業系統,可用於目前的大數據平台,如HadoopSpark中。

     

    ●下載Ubuntu

    Google 搜尋:ubuntu,點選頁面連結:UbuntuEnterprise Open Source and Linux

     



    進入頁面後,點選:Download

     



    進入下載頁面,點選:Get Ubuntu Desktop(Ubuntu桌面版)

     



    進入版本頁面,點選:Download 22.04.3(這是目前的版本)

     



    ●安裝 Oracle VM VirtualBox

    下載安裝程式後,點2下執行,出現歡迎安裝的訊息視窗,按『下一步』。

     



    設定安裝的功能,在此依照預設功能即可,按『下一步』。

     



    安裝時會中斷網路連線,提出警示訊息,,按『是』進行安裝。

     



    綁定Python核心與win32api,可先按下『是』進行安裝。

     



    按下『安裝』

     



    安裝進行中

     



    安裝完成,按下『完成』。

     



    完成後會開啟『Oracle VM VirtualBox 管理員』

     



    功能表>檔案>喜好設定

     



    一般:設定虛擬機器資料夾路徑,在此自行設定一個虛擬機器的資料夾。

     



    語言:如有需要,設定正體中文,一般無須設定此項,系統安裝時已經是繁體中文的介面。

     



    設定後,回到『Oracle VM VirtualBox 管理員』,按下『新增』,以建立虛擬機器。

     



    名稱:輸入自訂的虛擬機器名稱,如master

    資料夾:設定虛擬機器的資料夾路徑位置

    ISO映像:如已經下載 ubuntu,就可以設定ubuntu ISO檔案的所在地路徑

    設定後按『下一步』

     



    如果沒有設定ubuntu ISO檔案的路徑,可以設定類型:Linux,版本:選擇要安裝的 ubuntu 版本後按『下一步』。

     



    設定登入虛擬機器的使用者名稱與密碼,按『下一步』。

     



    設定虛擬機器的記憶體大小,拖曳調整棒指標或輸入記憶體大小值。

    可依照電腦中的記憶體實體配置,自行斟酌設定的大小,ubuntu官方的建議是最低運行的需求為512MB,記憶體設定的越大,執行效率越好,但設定不可超過實際電腦的記憶體容量。

     



    設定硬碟參數,依照預設值:立即建立虛擬硬碟,按『下一步』。

     



    顯示建立虛擬機器的相關設定摘要,按下『完成』。

     



    安裝完成後回到『Oracle VM VirtualBox 管理員』,左邊選單顯示安裝的虛擬機器名稱(master),執行中。

     



    此時會啟動 ubuntu 系統,進行建立系統的安裝。

     


     


     



    建立完成後,顯示虛擬機器登入畫面,顯示虛擬機器名稱,輸入登入密碼後按下Enter,即可啟動虛擬機器。

     



    要求連線帳戶,如果沒有要連結網路帳戶,按下右上角的『Skip』。

     



    詢問是否啟動 Ubuntu Pro(專業版),在此不用啟動,按下『Next』。

     



    是否要協助改進 ubuntu,可按下『Next』。

     



    是否要啟動Privacy(隱私)設定,在此跳過即可,按下『Next』。

     



    完成虛擬機器的建立與啟動,顯示虛擬機器中的應用程式,按下『Done』。

     



    完成啟動虛擬機器。

     



    若要關閉虛擬機器,可以按下右上角的『關閉Q』鈕,點選『關閉電腦電源』,按下『確定』。

     



    回到『Oracle VM VirtualBox 管理員』,左側選單中顯示虛擬機器已經關閉電源。

     


      Python 中的 enumerate 函數詳解 今天讓我們來聊聊 Python 中的『enumerate』這個函數, enumerate 是 Python 中一個非常有用的內建函數,它允許我們在迭代序列(如串列、數組(元組)或字串)時,同時獲取串列元素的索引和值。這在需要...