本文目錄一覽:
- 1、對python學習的總結怎麼寫
- 2、常用的十大python圖像處理工具
- 3、Python GUI庫大匯總
- 4、2017年10大流行Python庫有哪些
- 5、如何學習Python總結之談
- 6、【Python】基礎總結
對python學習的總結怎麼寫
1.Python初步
Python是一種面向對象、直譯式計算機程序設計語言。公認的特點是簡單、易學、免費、開源等等。個人覺得特別喜歡Python的地方是對字元串操作特別的靈活、採取縮進的方式簡單明了(雖然百度百科上把這個說成是局限)、以及簡單的語法。
Python 和c類似,是順序進行的,不想visual c++是事件觸發不同模塊進行的。操作和matlab相似,有編輯窗口,也有一個運行的窗口(互動式解釋器),可以編寫之後運行,也可以在命令行模式下一條條的完成。
2.基本語法
2.1表達式、數字、/(整除)、%(取余)、**(冪)、#注釋;
2.2長整形(後面加L);十六進位和八進位(和c一樣0x和0);
2.3變數賦值(x=2)、語句、輸入輸出(input(「哈哈」)、x=input(」」));
2.4 函數:abs()、round()四捨五入
2.5 模塊:importmath
3.字元串
3.1 單引號和轉義字元
Python中單引號和雙引號的作用基本上是一致的,用雙引號一般是在所引用的字元串中包含單引號,為了加以區分所以使用雙引號。另一個方式就是用/來轉義。轉義即把後面的一個字元不按照它自身的功能處理而作為普通字元。
3.2 字元串表示
字元串拼接用『+』,例:x=『a』 y=』b』 z=x+y
字元串表示:str:把值轉換為合理形式的字元串,以便用戶理解
repr或『x』:創建一個字元串,以合法的Python表達式的形式來表示值。
長字元串: 如果字元串太長,可以用三個引號來代替普通的引號。或者在每行末用/轉義換行符。
原始字元串:r『』不會對/做轉義處理,會保持字元串內所有字元的原始書寫。
3.3 字元串格式
這個和c類似,用格式化操作符(%)來規定諸如長度、精確位、對齊等。
3.4 字元串方法
字元串方法和序列方法類似:對象.方法。常用的有以下幾種:
find:在字元串中查找子字元串,返回子字元串所在位置最左端索引,沒有則返回-1。
title=』I am achinse』
title.find(『chi』)
8
註:還可以指定範圍:title.find(『』,0,16),即為從第一個到第16個。
join:在隊列中添加元素。
sep=」+」
seq=[『1』,』2』,』3』,』4』,』5』]
sep.join(seq)
』1+2+3+4+5』
lower:返回字元串的小寫版
』I am aChinese』.lower()
I am aChinese
replace:返回某字元串的所有匹配項均被替換之後得到的字元串。
』This is atest』.replace(『is』,』eez』)
』theez eez atest』
split:join的逆方法,用來將字元串分割成序列
』1+2+3+4』.split(『+』)
[『1』,』2』,』3』,』4』]
strip:返回去除兩側(不包括內部)空格的字元串:
』 hh di hh 』.strip()
』hh dihh』
注:還可指定要去除的字元,列為參數即可,注意只去除兩側,中間有也不會去除。
translate:與replace相似,但是只處理單個字元,優勢在於可以同時進行多個替換。
3.5 字元串與序列
字元串可以通過list函數轉換為序列,序列的操作見下一部分。唯一與標準序列不同的是不可變,不能x[2]=』c』
4.序列
4.1 通用序列操作
索引:如c的下標
分片:[3(起始):6(去除分片後剩餘部分的第一位)] [-3:-1] [0:10:2(步長)]
序列相加、相乘:+ *
in:是否在序列中,返回布爾值
長度、最大(小)值:len() max()min()
4.2 列表
4.2.1基本列表操作
元素賦值、分片賦值(很有意思的操作)
4.2.2 列表方法
對象.方法(參數)
append:用於在列表末尾追加新對象
count:統計某個元素在列表中出現的次數
extend:可以在末尾一次性追加另一個序列中的多個值
index:用於從列表中找出某個值第一個匹配項的索引位置
insert:用於將對象插入到列表中
pop:移除列表中的一個元素(默認是最後一個),並返回該元素的值
remove:用於移除列表中某一個值的第一個匹配項
reverse:將列表中的元素反向存放
sort:在原位置進行排序
===============================================================================================
這個假期在學校實驗室實習,需要用到python,不過要求不高,需要用python編的程序其實很簡單,加上之前有了c語言和delphi的基礎,只是大體看了看python的書,這裡很想說的是有的時候邊學邊用,邊用邊找的學習方式非常有效率!!
python給我最大的感受就是靈活,簡單。語法非常貼近自然語言的習慣,而且對於尤其是字元串的處理非常強大,不需要自己再絞盡腦汁像準備ACM那時候那麼痛苦,非常喜歡python!!
常用的十大python圖像處理工具
原文標題:10 Python image manipulation tools.
作者 | Parul Pandey
翻譯 | 安其羅喬爾、JimmyHua
今天,在我們的世界裡充滿了數據,圖像成為構成這些數據的重要組成部分。但無論是用於何種用途,這些圖像都需要進行處理。圖像處理就是分析和處理數字圖像的過程,主要旨在提高其質量或從中提取一些信息,然後可以將其用於某種用途。
圖像處理中的常見任務包括顯示圖像,基本操作如裁剪、翻轉、旋轉等,圖像分割,分類和特徵提取,圖像恢復和圖像識別。Python成為這種圖像處理任務是一個恰當選擇,這是因為它作為一種科學編程語言正在日益普及,並且在其生態系統中免費提供許多最先進的圖像處理工具供大家使用。
讓我們看一下可以用於圖像處理任務中的常用 Python 庫有哪些吧。
1.scikit-image
scikit-image是一個開源的Python包,適用於numpy數組。它實現了用於研究,教育和工業應用的演算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此代碼是由活躍的志願者社區編寫的,具有高質量和同行評審的性質。
資源
文檔里記錄了豐富的例子和實際用例,閱讀下面的文檔:
用法
該包作為skimage導入,大多數功能都在子模塊中找的到。下面列舉一些skimage的例子:
圖像過濾
使用match_template函數進行模板匹配
你可以通過此處查看圖庫找到更多示例。
2. Numpy
Numpy是Python編程的核心庫之一,並為數組提供支持。圖像本質上是包含數據點像素的標準Numpy數組。因此,我們可以通過使用基本的NumPy操作,例如切片、掩膜和花式索引,來修改圖像的像素值。可以使用skimage載入圖像並使用matplotlib顯示圖像。
資源
Numpy的官方文檔頁面提供了完整的資源和文檔列表:
用法
使用Numpy來掩膜圖像.
3.Scipy
scipy是Python的另一個類似Numpy的核心科學模塊,可用於基本的圖像操作和處理任務。特別是子模塊scipy.ndimage,提供了在n維NumPy數組上操作的函數。該包目前包括線性和非線性濾波,二值形態學,B樣條插值和對象測量等功能函數。
資源
有關scipy.ndimage包提供的完整功能列表,請參閱下面的鏈接:
用法
使用SciPy通過高斯濾波器進行模糊:
4. PIL/ Pillow
PIL( Python圖像庫 )是Python編程語言的一個免費庫,它支持打開、操作和保存許多不同的文件格式的圖像。然而, 隨著2009年的最後一次發布,它的開發停滯不前。但幸運的是還有有Pillow,一個PIL積極開發的且更容易安裝的分支,它能運行在所有主要的操作系統,並支持Python3。這個庫包含了基本的圖像處理功能,包括點運算、使用一組內置卷積核的濾波和色彩空間的轉換。
資源
文檔中有安裝說明,以及涵蓋庫的每個模塊的示例:
用法
在 Pillow 中使用 ImageFilter 增強圖像:
5. OpenCV-Python
OpenCV( 開源計算機視覺庫 )是計算機視覺應用中應用最廣泛的庫之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署(因為前端是用Python包裝的)。這使得它成為執行計算密集型計算機視覺程序的一個很好的選擇。
資源
OpenCV-Python-Guide指南可以讓你使用OpenCV-Python更容易:
用法
下面是一個例子,展示了OpenCV-Python使用金字塔方法創建一個名為「Orapple」的新水果圖像融合的功能。
6. SimpleCV
SimpleCV 也是一個用於構建計算機視覺應用程序的開源框架。有了它,你就可以訪問幾個高性能的計算機視覺庫,如OpenCV,而且不需要先學習了解位深度、文件格式、顏色空間等。
它的學習曲線大大小於OpenCV,正如它們的口號所說「計算機視覺變得簡單」。一些支持SimpleCV的觀點有:
即使是初學者也可以編寫簡單的機器視覺測試攝像機、視頻文件、圖像和視頻流都是可互操作的資源
官方文檔非常容易理解,而且有大量的例子和使用案例去學習:
用法
7. Mahotas
Mahotas 是另一個計算機視覺和圖像處理的Python庫。它包括了傳統的圖像處理功能例如濾波和形態學操作以及更現代的計算機視覺功能用於特徵計算,包括興趣點檢測和局部描述符。該介面是Python語言,適合於快速開發,但是演算法是用C語言實現的,並根據速度進行了調優。Mahotas庫速度快,代碼簡潔,甚至具有最小的依賴性。通過原文閱讀它們的官方論文以獲得更多的了解。
資源
文檔包括安裝指導,例子,以及一些教程,可以更好的幫助你開始使用mahotas。
用法
Mahotas庫依賴於使用簡單的代碼來完成任務。關於『Finding Wally』的問題,Mahotas做的很好並且代碼量很少。下面是源碼:
8. SimpleITK
ITK 或者 Insight Segmentation and Registration Toolkit是一個開源的跨平台系統,為開發人員提供了一套廣泛的圖像分析軟體工具 。其中, SimpleITK是建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育、解釋語言中的應用。SimpleITK 是一個圖像分析工具包,包含大量支持一般過濾操作、圖像分割和匹配的組件。SimpleITK本身是用C++寫的,但是對於包括Python以內的大部分編程語言都是可用的。
資源
大量的Jupyter Notebooks 表明了SimpleITK在教育和研究領域已經被使用。Notebook展示了用Python和R編程語言使用SimpleITK來進行互動式圖像分析。
用法
下面的動畫是用SimpleITK和Python創建的剛性CT/MR匹配過程的可視化 。點擊此處可查看源碼!
9. pgmagick
pgmagick是GraphicsMagick庫的一個基於python的包裝。 GraphicsMagick圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了一個具有強大且高效的工具和庫集合,支持以88種主要格式(包括重要格式,如DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF)讀取、寫入和操作圖像。
資源
有一個專門用於PgMagick的Github庫 ,其中包含安裝和需求說明。還有關於這個的一個詳細的用戶指導:
用法
使用pgmagick可以進行的圖像處理活動很少,比如:
圖像縮放
邊緣提取
10. Pycairo
Pycairo是圖像處理庫cairo的一組Python捆綁。Cairo是一個用於繪製矢量圖形的2D圖形庫。矢量圖形很有趣,因為它們在調整大小或轉換時不會失去清晰度 。Pycairo是cairo的一組綁定,可用於從Python調用cairo命令。
資源
Pycairo的GitHub庫是一個很好的資源,有關於安裝和使用的詳細說明。還有一個入門指南,其中有一個關於Pycairo的簡短教程。
庫:指南:用法
使用Pycairo繪製線條、基本形狀和徑向梯度:
總結
有一些有用且免費的Python圖像處理庫可以使用,有的是眾所周知的,有的可能對你來說是新的,試著多去了解它們。
Python GUI庫大匯總
所有程序都是基於命令行的,這些程序可能只有一些「專業」的計算機人士才會使用。例如前面編寫的五子棋等程序,恐怕只有程序員自己才願意玩這麼「糟糕」的遊戲,很少有最終用戶願意對著黑乎乎的命令行界面敲命令。
相反,如果為程序提供直觀的圖形用戶界面(Graphics User Interface, GUI),最終用戶通過拖動滑鼠、單擊等動作就可以操作整個應用,這樣的應用程序就會很受政迎(實際上,Windows 之所以廣為人知,其最初的吸引力就是來自它所提供的圖形用戶界面)。
作為一個程序設計者,必須優先考慮用戶的感受,一定要讓用戶感到「爽」,程序才會被需要、被使用,這樣的程序才有價值。
在真正開始介紹 Python 圖形界面編程之前,首先簡單介紹一下 Python 的圖形用戶界面庫。
1) PyGObject
PyGObject 庫為基於 GObject 的 C 函數庫提供了內省綁定,這些庫可以支持 GTK+3 圖形界面工具集,因此時 GObject 提供了豐富的圖形界面組件。
2) PyGTK
PyGTK 基於老版本的 GTK+2 的庫提供綁定,藉助於底層 GTK+2 所提供的各種可視化元素和組件,同樣可以開發出在 GNOME 桌面系統上運行的軟體,因此它主要適用於 Linux/UNIX 系統。PyGTK 對 GTK+2 的 C 語言進行了簡單封裝,提供了面向對象的編程介面。其官方網址是。
3) PyQt
PyQt 是 Python 編程語言和 Qt 庫的成功融合。Qt 本身是一個擴展的 C++ GUI 應用開發框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美運行,因此 PyQt 是建立在 Qt 基礎上的 Python 包裝。所以 PyQt 也能跨平台使用。
4) PySide
PySide 是由 Nokia 提供的對 Qt 工具集的新的包裝庫,目前成熟度不如 PyQt。
5) wxPython
wxPython 是一個跨平台的 GUI 工具集,wxPython 以流行的 wxWidgets(原名 wxWindows)為基礎,提供了良好的跨平台外觀。簡單來說,wxPython 在 Windows上調用 Windows 的本地組件、在 Mac OS 上調用 Mac OS X 的本地組件、在 Linux 上調用 Linux 的本地組件,這樣可以讓 GUI 程序在不同的平台上顯示平台對應的風格。wxPython 是一個非常流行的跨平台的 GUI 庫。
如果讀者有需要,則完全可以選擇上面這些 Python GUI 庫來開發圖形用戶界面。如果考慮開發跨平台的圖形用戶界面,則推薦使用 PyQt 或 wsPython。
2017年10大流行Python庫有哪些
1、NumPy
NumPy是構建科學計算 stack 的最基礎的包。它為 Python 中的 n 維數組和矩陣的操作提供了大量有用的功能。該庫還提供了 NumPy 數組類型的數學運算向量化,可以提升性能,從而加快執行速度。
2、SciPy
SciPy 是一個工程和科學軟體庫, 包含線性代數、優化、集成和統計的模塊。SciPy 庫的主
要功能建立在 NumPy 的基礎之上,它通過其特定的子模塊提供高效的數值常式操作。SciPy 的所有子模塊中的函數都有詳細的文檔,這也是一個優勢。
3、Pandas
Pandas是一個 Python 包,旨在通過「標記(labeled)」和「關係(relational)」數據進行工作,簡單直觀。Pandas 是 data wrangling 的完美工具。它設計用於快速簡單的數據操作、聚合和可視化。
4、Seaborn
Seaborn 主要關注統計模型的可視化;這種可視化包括熱度圖(heat map),可以總結數據但也描繪總體分布。Seaborn 基於 Matplotlib,並高度依賴於它。
5、Bokeh
Bokeh是一個很好的可視化庫,其目的是互動式可視化,不過這個庫獨立於 Matplotlib,它通過現代瀏覽器以數據驅動文檔(D3.js)的風格呈現。
6、Scikits
Scikits 是 SciPy Stack 的附加軟體包,專為特定功能(如圖像處理和輔助機器學習)而設計。其中最突出的一個是 scikit-learn。該軟體包構建於 SciPy 之上,並大量使用其數學操作,是使用 Python 進行機器學習的實際上的行業標準。
7、Theano
Theano 是一個 Python 包,它定義了與 NumPy 類似的多維數組,以及數學運算和表達式。該庫是經過編譯的,使其在所有架構上能夠高效運行。這個庫最初由蒙特利爾大學機器學習組開發,主要是為了滿足機器學習的需求。
8、Keras
Keras是一個使用高層介面構建神經網路的開源庫,它是用 Python 編寫的。它簡單易懂,具有高級可擴展性。Keras 極其容易上手,而且可以進行快速的原型設計,足以用於嚴肅的建模。
9、Gensim
Gensim是一個用於 Python 的開源庫,實現了用於向量空間建模和主題建模的工具。Gensim 實現了諸如分層 Dirichlet 進程(HDP)、潛在語義分析(LSA)和潛在 Dirichlet 分配(LDA)等演算法,還有 tf-idf、隨機投影、word2vec 和 document2vec,以便於檢查一組文檔(通常稱為語料庫)中文本的重複模式。
10、Scrapy
Scrapy 是用於從網路檢索結構化數據的爬蟲程序的庫。它現在已經發展成了一個完整的框架,可以從 API 收集數據,也可以用作通用的爬蟲。該庫在介面設計上遵循著名的 Don』t Repeat Yourself 原則——提醒用戶編寫通用的可復用的代碼,因此可以用來開發和擴展大型爬蟲。
如何學習Python總結之談
學習python主要是自學或者報班學習的方式,但不建議自學。
如果想通過學習python改行,那就需要明確一下自己的方向。因為python編程有很多方向,有網路爬蟲、數據分析、Web開發、測試開發、運維開發、機器學習、人工智慧、量化交易等等,各個方向都有特定的技能要求。
想學的話,當然是可以學習的。python是一門語法優美的編程語言,不僅可以作為小工具使用提升我們日常工作效率,也可以單獨作為一項高新就業技能!
python可以做的事情:
軟體開發:用python做軟體是很多人正在從事的工作,不管是B/S軟體,還是C/S軟體,都能做。並且需求量還是挺大的;
數據挖掘:python可以製作出色的爬蟲工具來進行數據挖掘,而在很多的網路公司中數據挖掘的崗位也不少;
遊戲開發:python擴展性很好,擁有遊戲開發的庫,而且遊戲開發絕對是暴力職業;
大數據分析:如今是大數據的時代,用python做大數據也是可以的,大數據分析工程師也是炙手可熱的職位;
全棧工程師:如今程序員都在向著全棧的方向發展,而學習python更具備這方面的優勢;
系統運維:python在很多linux中都支持,而且語法特點很向shell腳本,學完python做個系統運維也是很不錯的。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
請點擊輸入圖片描述
【Python】基礎總結
input(“提示性信息”)
如:
input(“請輸入數字”)
因為 Python 沒有特別人為規定數據類型,數據類型是由計算機進行判定,所以我們 input() 輸入的數據均默認作為字元串處理,而如果要輸入一些數字,著需要 eval() 評估函數對字元串進行評估,化為語句(數字)。
print(…)
默認空一行,如果想不空行,則
print(…., end = “”)
特性:
進位:
特性:
浮點數間運算存在不確定尾數,不是 bug
如:0.1+0.3 → 0.4
0.1+0.2 → 0.30000000000000004
這是由於在計算機中一切數據都是化為二進位進行存儲的,而有的浮點數並不能完全化為相等的二進位數,只能無限趨近於二進位數。
如:0.1 →
解決方法:
四捨五入:
例如:z = 1.23e-4 + 5.6e+89j
z.real 獲得實部,z.imag 獲得虛部
三種類型存在一種逐漸「擴展」或「變寬」的關係:
整數 → 浮點數 → 複數
特點:
字元串有 2 類共 4 種表示方法:
擴展:
使用[]獲取字元串中一個或多個字元
使用[M:N:K]根據步長對字元串切片
{參數序號:格式控制標記}
右對齊
^ 居中對齊 | 槽設定的輸出寬度 | 數字的千位分隔符 | 浮點數小數精度 或 字元串最大輸出長度 | 整數類型
b , c , d , o , x , X
浮點數類型
e , E , f , % |
填充、對齊、寬度這三個一組,例如:
“{0:=^20}”.format(“PYTHON”)
→ ‘=======PYTHON=======’
“{0:*20}”.format(“BIT”)
→ ‘*****************BIT’
“{:10}”.format(“BIT”)
‘BIT ‘
剩下的三個一組,例如:
“{0:,.2f}”.format(12345.6789)
→ ‘12,345.68’
“{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}x”.format(425)
→ ‘110101001,Σ,425,651,1a9,1A9’
“{0:e},{0:E},{0:f},{0:%}”.format(3.14)
‘3.140000e+00,3.140000E+00,3.140000,314.000000%’
↓CloseCode↓
使用 raise 語句拋出一個指定的異常。
raise [Exception [, args [, traceback]]]
緊湊形式:適用於簡單表達式的二分支結構
表達式1 if 條件 else 表達式2
例如:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
由條件控制的循環運行方式
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
可選參數例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
可變參數例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
在函數定義中,經常會碰到 *args(arguments) 和作為參數 **kwargs(keyword arguments)。
(事實上在函數中,和才是必要的,args 和 kwargs 可以用其他名稱代替)
*args 是指不定數量的非鍵值對參數。
**kwargs 是指不定數量的鍵值對參數。
*args 作為作為元組匹配沒有指定參數名的參數。而 **kwargs 作為字典,匹配指定了參數名的參數。
*args 必須位於 **kwargs 之前。
args( 通常緊跟一個標識符,你會看到a或者args都是標識符)是python用於接收或者傳遞任意基於位置的參數的語法。當你接收到一個用這種語法描敘參數時(比如你在函數def語句中對函數簽名使用了星號語法),python會將此標識符綁定到一個元祖,該元祖包含了所有基於位置的隱士的接收到的參數。當你用這種語法傳遞參數時,標識符可以被綁定到任何可迭代對象(事實上,它也可以是人和表達式,並不必須是一個標識符),只要這個表達式的結果是一個可迭代的對象就行。
**kwds(標識符可以是任意的,通常k或者kwds表示)是python用於接收或者傳遞任意基於位置的參數的語法。(python有時候會將命名參數稱為關鍵字參數,他們其實並不是關鍵字–只是用他們來給關鍵字命名,比如pass,for或者yield,還有很多,不幸的是,這種讓人疑惑的術語目前仍是這門語言極其文化根深蒂固的一個組成部分。)當你接收到用這種語法描敘的一個參數時(比如你在函數的def語句中對函數簽名使用了雙星號語法)python會將標識符綁定到一個字典,該字典包含了所有接收到的隱士的命名參數。當你用這種語法傳遞參數時,標識符只能被綁定到字典(我ID號I它也可以是表達式,不一定是一個標識符,只要這個表達式的結果是一個字典即可)。
當你在定義或調用一個函數的時候,必須確保a和k在其他所有參數之後。如果這兩者同時出現,要將k放在a之後。
lambda函數返回函數名作為結果
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
謹慎使用lambda函數
原創文章,作者:AKVRQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329127.html