一文帶你梳理Python的中級知識
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中可以使用try
和except
語句來實現異常處理。以下是一個簡單的示例:
try: x = 1 / 0 except ZeroDivisionError: print("Error: division by zero")
在這個示例中,我們嘗試計算1除以0,這將引發一個ZeroDivisionError
異常。我們使用try
和except
語句來捕獲該異常並打印出一條錯誤消息。
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知識梳理的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python數據結構與算法之算法分析詳解
- 淺談Python xlwings 讀取Excel文件的正確姿勢
- Python類方法總結講解
- Python基礎之元編程知識總結
- Python開啟尾遞歸優化的實現示例