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