我們正在使用Linux系統進行一個簡短的Python程式設計課程。 這種跨平台程式語言非常適合初學者入門程式設計世界。隨著我們獲得更高級的知識,它將繼續被使用,因為它對於創建更複雜的應用程式也很有用。
目前,Python 是資料科學、人工智慧等領域應用的首選語言,甚至微軟本身也在用它來取代 Excel 試算表中的巨集語言。
使用 Linux 的 Python 程式設計課程
在上一篇文章中,我們討論了使用 `open()` 指令處理檔案時需要注意的參數。根據檔案類型,建議告訴 Python 解釋器如何處理表示換行符的特殊字元。
open("archivo.txt", newline=None) 轉換 \r\n 和 \ra\n(預設)
open("archivo.txt", newline="") 它不會發生任何變化
open("archivo.txt", newline="\n") 它僅在偵測到特殊字元 \n 時執行換行(Linux 使用)。
open("archivo.txt", newline="\r\n") 它僅在偵測到特殊字元 \r\n 時執行換行(Windows 使用)。
總結 open() 指令的參數
-
- 文件:指示檔案名稱(如果與檔案位於同一資料夾中)或檔案路徑。
- 模式: 可選參數,指示檔案是以讀取模式、寫入模式或兩者兼有打開,以及寫入新內容時是否會擦除現有內容。
- 緩衝: 可選參數,決定記憶體緩衝區的大小。
編碼: 可選參數。指定文字編碼;預設使用作業系統編碼。如果您正在開發使用特殊字元的應用程序,這將非常有用。
- 錯誤: 此參數用於指定偵測到編碼錯誤時的處理方式。它也是可選的。
- 換行符: 決定如何處理換行符。它也是一個可選參數。
我們來看看下面的程式。
class Sistemas:
我們定義了 Systems 類,將用於建立代表作業系統的物件。
def __init__(self, nombre, version, derivada):
我們啟動建構函數並設定參數。
self.nombre = nombre
self.version = version
self.derivada = derivada
這 3 行程式碼會將輸入的值儲存到物件中。
def mostrar_info(self):
它定義了資料的顯示方式。
print(f"Nombre: {self.nombre}")
print(f"Versión: {self.version}")
print(f"Derivada: {self.derivada}")
print("-" * 20)
列印參數,並在每個組結束時列印腳本。
nombre = input("Nombre del sistema: ")
version = input("Versión: ")
derivada = input("Derivada: ")
此處指示使用者輸入分銷資料。
with open("sistemas.txt", "a") as archivo:
該命令檢查名為 sistemass.txt 的文件是否存在,如果不存在則建立該文件,並將資料追加到現有文件的末端。
archivo.write(nombre + "\n")
archivo.write(version + "\n")
archivo.write(derivada + "\n")
列印儲存的數據,並換行。
with open("sistemas.txt", "r") as archivo
以唯讀模式開啟檔案。
lineas = [linea.strip() for linea in archivo.readlines()]
該指令讀取檔案中的所有行,並刪除表示換行符的特殊字元。
sistemas = []
建立一個空列表,用於儲存要重建的物件。
for i in range(0, len(lineas), 3):
它產生一系列以三個為一組的數字。這是因為作業系統物件的每個實例都儲存了三個參數。
假設我們有 3 個系統(9 個參數)
range(0, 9, 3) → 0, 3, 6
i=0 → 第 0、1、2 行 → 第一個系統
i=3 → 第 3、4、5 行 → 第二系統
i=6 → 第 6、7、8 行 → 第三系統
如果 i + 2 < len(lines):
這是出於安全考量。在執行讀取操作之前,系統會檢查分組是否包含 3 個參數。如果分組中缺少 3 個參數,則不會執行讀取操作。
建立系統對象
系統 = 系統篇()
將對應行的資料合併進去。
lines[i],
lines[i + 1],
lines[i + 2]
例如
i=0:
lines[0] → «Ubuntu» → 名稱
lines[1] → «26.04» → 版本
lines[2] → «Debian» → 衍生
i=3:
lines[3] → «Manjaro» → 名稱
lines[4] → «44» → 版本
lines[5] → «Arch Linux»→ 衍生版
i=6:
lines[6] → «Linux Mint» → 名稱
lines[7] → «22» → 版本
lines[8] → «Ubuntu» → 衍生
sistemas.append(sistema)
將新建立的物件新增至系統清單。當文件中所有重建的物件都已新增後,循環結束。
for s in sistemas:
瀏覽新建立的文件。
s.mostrar_info()
呼叫該方法以顯示每個物件的參數。
直到現在,我們一直都是憑感覺行事,使用著一些我們並不完全理解其目的的說明書。現在是時候好好研究一下了。
Python 的基本數學運算
在用 Python 編寫的程式中可以使用以下數學運算。
- 和:a = 5 + 3 將值 8 賦給變數
- 減法:b = 10 – 2 將值 8 賦給變數
- 乘法:c = 4 * 2 我敢打賭你猜不出這個變數的值!
- 除法:d = 5 / 3 將值 1,6666 賦給變數…
- 不含小數的除法:e = 21 // 7 結果為 3。
- 計算除法餘數:f = 5 % 3 將值 2 賦給變數。
- 冪:g = 2 ** 4 將變數賦值為 16。
雖然可以執行更複雜的操作,但這需要引入模組的概念,我們稍後會討論。
變量
在我們之前使用的範例程式和提供的數學運算清單中,我們都使用了變數。變數是儲存資料的容器。這些數據可以透過代碼輸入,也可以從外部獲取,並且可以根據需要進行修改和顯示。與其他程式語言不同,在 Python 中,使用變數之前不需要聲明其類型。
變數的宣告方式如下
Nombre = "Diego"
其中 name 是變數的名稱,等號右側引號中的文字賦值為 Diego。
可以在一行程式碼中為不同的變數賦值。
姓名、姓氏、年齡 = «Diego», «González», 55
變數命名規則
- 允許的字元: 雖然可以使用字母、標點符號和下劃線,但名稱必須始終以字母或底線開頭。字母的大小寫無關緊要。
- 區分大小寫: 該系統能夠區分大寫和小寫字母,因此必須按照聲明的方式準確書寫。
- 保留字: 有些字不能使用,因為它們是譯者保留的。
保留字為:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield match caseield match case
下一篇文章我們將繼續介紹Python程式語言的組成部分。