術語表

LaTeX、Python、R 等技術術語的中文解釋,配合 Yueswater Blog 教學文章使用。
文件類別
LaTeX 排版的基礎設定,以 \documentclass{} 宣告。常見類別包含 article(短文)、report(報告)、book(書籍)、beamer(簡報)。
序言
LaTeX 文件中 \documentclass{}\begin{document} 之間的區域,用來載入套件與進行全域設定。
環境
\begin{name}\end{name} 包圍的區塊,用來控制特定排版行為,例如 documentfiguretablealign
套件
\usepackage{} 載入的擴充功能,例如 geometry(版面)、fontspec(字型)、amsmath(數學)。
編譯器
.tex 原始碼轉換為 PDF 的程式。常見編譯器有 pdflatexxelatex(支援 Unicode)、lualatex
章節指令
LaTeX 用來劃分文件結構的指令,包括 \chapter{}\section{}\subsection{}\subsubsection{}
腳註
\footnote{} 插入,LaTeX 會自動編號並排在頁面底部。
摘要
abstract 環境撰寫,通常出現在標題頁之後,用於簡述文章內容。主要用於 articlereport 類別。
標題頁
\maketitle 指令生成,需事先在序言中設定 \title{}\author{}\date{}
變數
Python 中指向物件的名稱綁定,不是直接存放值的盒子。重新賦值時,名稱會改綁到另一個物件。
物件
Python 執行時真正存在的資料實體,具有型別、值與身份。整數、字串、串列、函式、類別與模組都是物件。
物件身份
用來判斷兩個名稱是否指向同一個物件的概念。可以用 is 比較,也可以透過 id() 觀察。
id() 函式
Python 內建函式,回傳物件在生命週期內唯一且不變的整數。CPython 常以記憶體位址表示,但這是實作細節。
is
身份比較運算子,用來判斷左右兩邊是否為同一個物件。判斷 None 時建議使用 x is None
==
值比較運算子,通常會呼叫物件的 __eq__ 方法。它回答的是「值是否相等」,不是「是否同一個物件」。
CPython
最常見的 Python 實作版本,以 C 語言撰寫。許多 id()、快取與記憶體行為屬於 CPython 的實作細節。
小整數快取
CPython 預先建立並重用常見整數物件的機制。常見教學會提到 -5256,但實際範圍不應視為語言保證。
常數池
編譯器用來存放程式碼中常數的結構。相同字面量有時會共用同一個物件,因此可能影響 is 的觀察結果。
字串駐留
Python 重用相同字串物件的策略,英文常稱為 string interning。符合識別字規則的短字串較常被自動駐留。
可變物件
建立後內容仍可被修改的物件,例如 listdictset。原地修改通常不會改變物件身份。
不可變物件
建立後內容不能被修改的物件,例如 intstrtuple。看似修改時,通常是建立新物件並重新綁定名稱。
單例
在程式中只保留一個實例的物件或模式。Python 的 None 是典型例子,因此應以 is None 判斷。
weakref
用來保留物件弱參照的標準函式庫模組,不會阻止物件被垃圾回收。長期追蹤物件時,比直接保存 id() 更穩健。
可迭代物件
支援逐一走訪元素的物件,例如 liststrdictrange。凡是可以放進 for 迴圈的,都是可迭代物件。技術上是實作了 __iter__() 方法的物件。
迭代器
記錄走訪位置、每次呼叫 next() 就回傳下一個元素的物件。enumerate()zip() 回傳的都是迭代器。迭代器本身也是可迭代物件。
解包
將序列或元組中的多個元素同時指派給多個變數的語法。例如 a, b = (1, 2) 或迴圈中的 for x, y in pairs:
惰性求值
只在需要時才計算下一個值的策略。enumerate()zip() 等函式回傳的迭代器都採用此策略,不會預先把所有結果算好,因此記憶體用量不受輸入大小影響。
回到頂端