一文帶你梳理Python的中級知識
1. 文件操作
Python中的文件操作通常使用內(nèi)置的open()
函數(shù)來打開文件。以下是一個簡單的示例:
with open("file.txt", "r") as f: content = f.read() print(content)
在這個示例中,我們打開了名為"file.txt"的文件,并將其讀入變量content
中,最后將其打印出來。
open()
函數(shù)的第一個參數(shù)是文件名,第二個參數(shù)是打開文件的模式。以下是一些常用的模式:
"r"
:只讀模式"w"
:寫入模式(會覆蓋已有文件)"a"
:追加模式(不會覆蓋已有文件)
2. 正則表達式
正則表達式是一種強大的工具,可以幫助我們從文本中提取信息或進行文本替換。Python中可以使用內(nèi)置的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()
函數(shù)來查找匹配該模式的所有字符串。最后,我們將匹配的結(jié)果打印出來。
3. 異常處理
在編寫程序時,經(jīng)常需要處理可能出現(xiàn)的錯誤或異常情況。Python中可以使用try
和except
語句來實現(xiàn)異常處理。以下是一個簡單的示例:
try: x = 1 / 0 except ZeroDivisionError: print("Error: division by zero")
在這個示例中,我們嘗試計算1除以0,這將引發(fā)一個ZeroDivisionError
異常。我們使用try
和except
語句來捕獲該異常并打印出一條錯誤消息。
4. 面向?qū)ο缶幊蹋∣bject-Oriented Programming)
面向?qū)ο缶幊淌且环N重要的編程范式,Python是一種面向?qū)ο蟮恼Z言。以下是一個簡單的示例:
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
的類,并定義了一個構(gòu)造函數(shù)__init__()
來初始化對象的屬性。我們還定義了一個名為say_hello()
的方法,用于打印出問候語。最后,我們創(chuàng)建一個Person
對象,并調(diào)用say_hello()
方法。 Python是一種面向?qū)ο缶幊陶Z言,它支持面向?qū)ο缶幊痰娜齻€基本概念:封裝、繼承和多態(tài)。面向?qū)ο缶幊痰暮诵乃枷胧菍?shù)據(jù)和操作數(shù)據(jù)的方法封裝在一起,形成一個對象。
示例代碼
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()
輸出結(jié)果
Tom is saying hello
Tom is catching mouse
5. Python高級特性
5.1 生成器(Generator)
生成器是一種特殊的函數(shù),可以在函數(shù)執(zhí)行期間多次返回值,并且可以保留當前執(zhí)行狀態(tài),等待下一次調(diào)用。它們是高效的迭代器,可以用于處理大量數(shù)據(jù)或無限流數(shù)據(jù),同時也能節(jié)省內(nèi)存。
示例代碼
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))
輸出結(jié)果
Copy code
0
1
1
2
3
5
8
13
21
34
5.2 裝飾器(Decorator)
裝飾器是一種函數(shù),用于修改其他函數(shù)的行為。它們提供了一種簡單的方式來修改函數(shù),而無需修改函數(shù)的原始定義。裝飾器的常見用途包括添加日志、計時、緩存等功能。
示例代碼
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))
輸出結(jié)果
Copy code
calculate_sum executed in 4.150076866149902 seconds
5000000050000000
以上就是一文帶你梳理Python的中級知識的詳細內(nèi)容,更多關(guān)于Python知識梳理的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python列表排序方法reverse、sort、sorted詳解
這篇文章主要介紹了Python列表排序方法reverse、sort、sorted詳解,需要的朋友可以參考下2021-04-04Python實現(xiàn)改變與矩形橡膠的線條的顏色代碼示例
這篇文章主要介紹了Python實現(xiàn)改變與矩形橡膠的線條的顏色代碼示例,具有一定借鑒價值,需要的朋友可以參考下2018-01-01Python學習筆記整理3之輸入輸出、python eval函數(shù)
這篇文章主要介紹了Python學習筆記整理3之輸入輸出、python eval函數(shù)的相關(guān)資料,需要的朋友可以參考下2015-12-12Win10下python 2.7與python 3.7雙環(huán)境安裝教程圖解
這篇文章主要介紹了Win10下python 2.7與python 3.7雙環(huán)境安裝教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10