一文帶你梳理Python的中級(jí)知識(shí)
1. 文件操作
Python中的文件操作通常使用內(nèi)置的open()
函數(shù)來(lái)打開(kāi)文件。以下是一個(gè)簡(jiǎn)單的示例:
with open("file.txt", "r") as f: content = f.read() print(content)
在這個(gè)示例中,我們打開(kāi)了名為"file.txt"的文件,并將其讀入變量content
中,最后將其打印出來(lái)。
open()
函數(shù)的第一個(gè)參數(shù)是文件名,第二個(gè)參數(shù)是打開(kāi)文件的模式。以下是一些常用的模式:
"r"
:只讀模式"w"
:寫(xiě)入模式(會(huì)覆蓋已有文件)"a"
:追加模式(不會(huì)覆蓋已有文件)
2. 正則表達(dá)式
正則表達(dá)式是一種強(qiáng)大的工具,可以幫助我們從文本中提取信息或進(jìn)行文本替換。Python中可以使用內(nèi)置的re
模塊來(lái)進(jìn)行正則表達(dá)式操作。以下是一個(gè)示例:
import re text = "The quick brown fox jumps over the lazy dog." pattern = r"fox" matches = re.findall(pattern, text) print(matches)
在這個(gè)示例中,我們定義了一個(gè)正則表達(dá)式模式r"fox"
,然后使用re.findall()
函數(shù)來(lái)查找匹配該模式的所有字符串。最后,我們將匹配的結(jié)果打印出來(lái)。
3. 異常處理
在編寫(xiě)程序時(shí),經(jīng)常需要處理可能出現(xiàn)的錯(cuò)誤或異常情況。Python中可以使用try
和except
語(yǔ)句來(lái)實(shí)現(xiàn)異常處理。以下是一個(gè)簡(jiǎn)單的示例:
try: x = 1 / 0 except ZeroDivisionError: print("Error: division by zero")
在這個(gè)示例中,我們嘗試計(jì)算1除以0,這將引發(fā)一個(gè)ZeroDivisionError
異常。我們使用try
和except
語(yǔ)句來(lái)捕獲該異常并打印出一條錯(cuò)誤消息。
4. 面向?qū)ο缶幊蹋∣bject-Oriented Programming)
面向?qū)ο缶幊淌且环N重要的編程范式,Python是一種面向?qū)ο蟮恼Z(yǔ)言。以下是一個(gè)簡(jiǎn)單的示例:
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()
在這個(gè)示例中,我們定義了一個(gè)名為Person
的類(lèi),并定義了一個(gè)構(gòu)造函數(shù)__init__()
來(lái)初始化對(duì)象的屬性。我們還定義了一個(gè)名為say_hello()
的方法,用于打印出問(wèn)候語(yǔ)。最后,我們創(chuàng)建一個(gè)Person
對(duì)象,并調(diào)用say_hello()
方法。 Python是一種面向?qū)ο缶幊陶Z(yǔ)言,它支持面向?qū)ο缶幊痰娜齻€(gè)基本概念:封裝、繼承和多態(tài)。面向?qū)ο缶幊痰暮诵乃枷胧菍?shù)據(jù)和操作數(shù)據(jù)的方法封裝在一起,形成一個(gè)對(duì)象。
示例代碼
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高級(jí)特性
5.1 生成器(Generator)
生成器是一種特殊的函數(shù),可以在函數(shù)執(zhí)行期間多次返回值,并且可以保留當(dāng)前執(zhí)行狀態(tài),等待下一次調(diào)用。它們是高效的迭代器,可以用于處理大量數(shù)據(jù)或無(wú)限流數(shù)據(jù),同時(shí)也能節(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ù)的行為。它們提供了一種簡(jiǎn)單的方式來(lái)修改函數(shù),而無(wú)需修改函數(shù)的原始定義。裝飾器的常見(jiàn)用途包括添加日志、計(jì)時(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的中級(jí)知識(shí)的詳細(xì)內(nèi)容,更多關(guān)于Python知識(shí)梳理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用PyTorch常見(jiàn)4個(gè)錯(cuò)誤解決示例詳解
這篇文章主要為大家介紹了使用PyTorch常見(jiàn)4個(gè)錯(cuò)誤解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Python列表排序方法reverse、sort、sorted詳解
這篇文章主要介紹了Python列表排序方法reverse、sort、sorted詳解,需要的朋友可以參考下2021-04-04Python實(shí)現(xiàn)改變與矩形橡膠的線條的顏色代碼示例
這篇文章主要介紹了Python實(shí)現(xiàn)改變與矩形橡膠的線條的顏色代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python使用字典實(shí)現(xiàn)的簡(jiǎn)單記事本功能示例
這篇文章主要介紹了Python使用字典實(shí)現(xiàn)的簡(jiǎn)單記事本功能,結(jié)合實(shí)例形式分析了基于字典的數(shù)據(jù)存儲(chǔ)、讀取、刪除等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)
這篇文章主要介紹了Python學(xué)習(xí)筆記整理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)境安裝教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10Python+Appium自動(dòng)化操作微信的教程分享
Appium?是一個(gè)開(kāi)源的自動(dòng)化測(cè)試工具,支持?Android、iOS?平臺(tái)上的原生應(yīng)用,支持?Java、Python、PHP?等多種語(yǔ)言。本文主要介紹了Python+Appium自動(dòng)化操作微信的教程,希望對(duì)大家有所幫助2023-01-01