首頁 > 軟體

一文帶你梳理Python的中級知識

2023-09-12 18:01:12

1. 檔案操作

Python中的檔案操作通常使用內建的open()函數來開啟檔案。以下是一個簡單的範例:

with open("file.txt", "r") as f:
    content = f.read()
    print(content)

在這個範例中,我們開啟了名為"file.txt"的檔案,並將其讀入變數content中,最後將其列印出來。

open()函數的第一個引數是檔名,第二個引數是開啟檔案的模式。以下是一些常用的模式:

  • "r":唯讀模式
  • "w":寫入模式(會覆蓋已有檔案)
  • "a":追加模式(不會覆蓋已有檔案)

2. 正規表示式

正規表示式是一種強大的工具,可以幫助我們從文字中提取資訊或進行文字替換。Python中可以使用內建的re模組來進行正規表示式操作。以下是一個範例:

import re

text = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
matches = re.findall(pattern, text)
print(matches)

在這個範例中,我們定義了一個正規表示式模式r"fox",然後使用re.findall()函數來查詢匹配該模式的所有字串。最後,我們將匹配的結果列印出來。

3. 例外處理

在編寫程式時,經常需要處理可能出現的錯誤或異常情況。Python中可以使用tryexcept語句來實現例外處理。以下是一個簡單的範例:

try:
    x = 1 / 0
except ZeroDivisionError:
    print("Error: division by zero")

在這個範例中,我們嘗試計算1除以0,這將引發一個ZeroDivisionError異常。我們使用tryexcept語句來捕獲該異常並列印出一條錯誤訊息。

4. 物件導向程式設計(Object-Oriented Programming)

物件導向程式設計是一種重要的程式設計正規化,Python是一種物件導向的語言。以下是一個簡單的範例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def say_hello(self):
        print("Hello, my name is " + self.name)

person = Person("Alice", 25)
person.say_hello()

在這個範例中,我們定義了一個名為Person的類,並定義了一個建構函式__init__()來初始化物件的屬性。我們還定義了一個名為say_hello()的方法,用於列印出問候語。最後,我們建立一個Person物件,並呼叫say_hello()方法。 Python是一種物件導向程式語言,它支援物件導向程式設計的三個基本概念:封裝、繼承和多型。物件導向程式設計的核心思想是將資料和運算元據的方法封裝在一起,形成一個物件。

範例程式碼

class Animal:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f'{self.name} is saying hello')

class Cat(Animal):
    def __init__(self, name, age, color):
        super().__init__(name, age)
        self.color = color

    def catch_mouse(self):
        print(f'{self.name} is catching mouse')

cat = Cat('Tom', 2, 'White')
cat.say_hello()
cat.catch_mouse()

輸出結果

Tom is saying hello
Tom is catching mouse

5. Python高階特性

5.1 生成器(Generator)

生成器是一種特殊的函數,可以在函數執行期間多次返回值,並且可以保留當前執行狀態,等待下一次呼叫。它們是高效的迭代器,可以用於處理大量資料或無限流資料,同時也能節省記憶體。

範例程式碼

pythonCopy code
def fib():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

f = fib()
for i in range(10):
    print(next(f))

輸出結果

Copy code
0
1
1
2
3
5
8
13
21
34

5.2 裝飾器(Decorator)

裝飾器是一種函數,用於修改其他函數的行為。它們提供了一種簡單的方式來修改函數,而無需修改函數的原始定義。裝飾器的常見用途包括新增紀錄檔、計時、快取等功能。

範例程式碼

pythonCopy code
import time

def timer(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print(f'{func.__name__} executed in {end - start} seconds')
        return result
    return wrapper

@timer
def calculate_sum(n):
    return sum(range(n+1))

print(calculate_sum(100000000))

輸出結果

Copy code
calculate_sum executed in 4.150076866149902 seconds
5000000050000000

以上就是一文帶你梳理Python的中級知識的詳細內容,更多關於Python知識梳理的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com