0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么Jupyter Notebook會比其他工具更受歡迎?

zhKF_jqr_AI ? 來源:未知 ? 作者:胡薇 ? 2018-05-31 09:27 ? 次閱讀

對于機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的入門者來說,“有什么好用的IDE/環(huán)境/工具?”是他們提出的最常見的問題之一。這確實(shí)也是個不怎么好回答的問題,因?yàn)樗鼪]有具體選項——從面向特定語言的IDE(如R Studio、PyCharm)到Sublime Text、Atom等編輯器——它們都很優(yōu)秀,所以如果你有選擇恐懼癥,你最好讀讀論智的這篇文章,從Jupyter Notebook開始學(xué)起。

如果每個數(shù)據(jù)科學(xué)家都應(yīng)該使用或必須使用一種工具,毫無疑問,它就是Jupyter Notebook(曾用名iPython Notebook)。Jupyter Notebook是一個交互式筆記本,它功能強(qiáng)大,支持40多種編程語言,可共享,并提供在同一環(huán)境中構(gòu)建可視化應(yīng)用的服務(wù)。

數(shù)據(jù)科學(xué)家可以在上面創(chuàng)建和共享自己的文檔,從實(shí)現(xiàn)代碼到全面報告,Jupyter Notebook大大簡化了開發(fā)者的工作流程,幫助他們實(shí)現(xiàn)更高的生產(chǎn)力和更簡單的多人協(xié)作。也正是因?yàn)槿绱?,它一直以來都是?shù)據(jù)科學(xué)家們最喜歡的工具之一。

本文將全面介紹筆記本的安裝、操作方法,并深入探討它的特性和優(yōu)勢。當(dāng)你讀完全文后,我們希望你能找到用Jupyter Notebook幫助自己實(shí)現(xiàn)機(jī)器學(xué)習(xí)項目的靈感。

1. 什么是Jupyter Notebook?

Jupyter Notebook是一個開源的Web應(yīng)用程序,旨在方便開發(fā)者創(chuàng)建和共享代碼文檔。

它提供了一個環(huán)境,用戶可以在里面寫代碼、運(yùn)行代碼、查看結(jié)果,并在其中可視化數(shù)據(jù)。鑒于這些優(yōu)點(diǎn),Jupyter Notebook成了數(shù)據(jù)科學(xué)家眼里的一款人見人愛的工具,它能幫助他們便捷地執(zhí)行各種端到端任務(wù),如數(shù)據(jù)清洗、統(tǒng)計建模、構(gòu)建/訓(xùn)練機(jī)器學(xué)習(xí)模型等。

而對于初學(xué)者,Jupyter Notebook也獨(dú)具魅力。它的一個特色是允許把代碼寫入獨(dú)立的cell中,然后單獨(dú)執(zhí)行。這樣做意味著用戶可以在測試項目時單獨(dú)測試特定代碼塊,無需從頭開始執(zhí)行代碼。雖然其他的IDE環(huán)境(如RStudio)也提供了這種功能,但就個人使用情況來看,Jupyter Notebook的單元結(jié)構(gòu)是設(shè)計的最好的。

這個筆記本的優(yōu)勢還體現(xiàn)在靈活性和交互性上。Jupyter Notebook支持的編程語言數(shù)量高達(dá)40余種,除了最基礎(chǔ)的Python,它還允許用戶在上面運(yùn)行R語言和SQL等語言。由于它比IDE平臺更具交互性,用戶也更樂于在各種教程中用它展示代碼。

2. 如何安裝Jupyter Notebook?

Jupyter Notebook原來也叫iPython Notebook,顧名思義,它和Python關(guān)系緊密。如果要在PC上安裝筆記本,首先你要確保自己已經(jīng)安裝了Python(2.7/3.3或更高),這是必備條件。

Anaconda

官方在文檔中強(qiáng)烈建議新用戶用Anaconda打包安裝Python和Anaconda——所謂懶人方法,小白必備。其實(shí)除了提到的兩個工具,Anaconda還包含數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中經(jīng)常需要用到的各種軟件包,只需下載、解壓、安裝,所有工具就都一步到位了。

下載地址:https://jupyter.readthedocs.io/en/latest/install.html

pip

如果你很欣賞自己,或者因?yàn)槟承┮蛩鼐褪遣幌胗肁naconda,你也可以用pip。當(dāng)然首先,你得確保自己的機(jī)器上有pip的最新版本。

#Linux和OSX

pip install -U pip setuptools

#Windows

python -m pip install -U pip setuptools

然后,安裝Jupyter Notebook:

#Python2用戶看這里

pip install jupyter

#Python3用戶不要跑

pip3 install jupyter

如果還是有疑問,請看官方文檔(英)、官方文檔翻譯(中)。

3. 入門

安裝完成后,如果要運(yùn)行Jupyter Notebook,你只需在控制臺輸入以下命令:

jupyter notebook

你會看到筆記本打開了你的默認(rèn)瀏覽器,網(wǎng)址為http:// localhost:8888/tree。

一般情況下,當(dāng)你輸入命令行后,控制臺會出現(xiàn)一行“The Jupyter Notebook is running at……”,如果瀏覽器因?yàn)槟承┰驘o法打開,你就需要復(fù)制這個URL,手動打開相應(yīng)網(wǎng)址。

當(dāng)筆記本打開后,它的頂部有Files、Running和Clusters三個選項。其中Files中列出了所有文件,Running顯示了你已經(jīng)打開的終端和筆記本,Clusters則是IPython parallel提供的。

如果你想新建一個筆記本,單擊面板右側(cè)的“New”,它會跳出4個選項:

Python 3

Text File

Folder

Terminal

選擇Text File后,你會得到一個空白的頁面。它相當(dāng)于一個文本編輯器(類似于Ubuntu上的應(yīng)用程序),你可以在上面輸入任何字母、單詞和數(shù)字,所以選擇好編程語言后,你是可以在上面寫腳本的。此外,它還提供查找和替換文件中的單詞的功能。

選擇Folder后,你其實(shí)是在編輯文件夾列表。你可以創(chuàng)建一個新文件夾,把所需文檔放進(jìn)里面,或者修改它的名稱、直接把它刪除。

而Terminal的工作方式和Mac、Linux計算機(jī)上的Terminal一樣,都是在Web瀏覽器中創(chuàng)建終端支持。只需在終端輸入Python,一個Python腳本就寫好了。

由于本文重點(diǎn)介紹的是筆記本,下面我們會重點(diǎn)展示新建“Python 3”后的結(jié)果:

導(dǎo)入最常見的Python庫來啟動筆記本,如pandas和numpy。在代碼上方的菜單中,那些圖標(biāo)依次表示添加、編輯、剪切、向上移動cell、向下移動cell、運(yùn)行代碼、停止運(yùn)行和撤銷。

這個下拉的列表提供了四個選項:

Code:這個不言自明,就是你寫代碼的地方;

Markdown:非常常見的輕量級標(biāo)記語言,用來為代碼添加注釋和結(jié)論;

Raw NBConvert:一個命令行工具,可以把你的筆記本轉(zhuǎn)換成另一種格式,如HTML;

Heading:添加標(biāo)題,使你的文檔看起來更干凈整潔,它現(xiàn)在已經(jīng)變成Markdown里的一個語法,用兩個#表示。

4. Jupyter Notebook的魔術(shù)命令

作為iPython的繼承者,開發(fā)人員已經(jīng)在Jupyter Notebook中加入預(yù)定義的魔術(shù)命令(magic function)。這是一種增加便捷性和互動性的工具,如果要查看命令列表,你可以輸入(注:通常不需要“%”):

%lsmagic

當(dāng)看到那一串函數(shù)列表時,也許你能從中認(rèn)出幾張老面孔,如%clear、%autosave、%debug和%mkdir。只要你以前寫過代碼,這些函數(shù)就幾乎是不可避免的。

在Jupyter Notebook中,魔術(shù)命令有兩種運(yùn)行方式,一是Line-wise,而是Cell-wise。顧名思義,Line-wise就是當(dāng)你想執(zhí)行一個命令行的時候需要用到的,而Cell-wise面向的就不單單是一行了,它作用的是整個cell的代碼塊。

為了區(qū)分兩種運(yùn)行方式,如果是Line-wise,所有命令必須以%字符打頭;如果是Cell-wise,則用%%。

Line-wise:

%time a = range(10)

Cell-wise:

%%timeit a = range (10)

min(a)

以上只是兩個最簡單的示例,你可以試著自己運(yùn)行這些命令,看看其中有什么區(qū)別。

5. 不僅限于Python

之前也提到了,Jupyter Notebook的成功離不開它的靈活性,雖然Python在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中都占局主導(dǎo)地位,但對于數(shù)據(jù)分析任務(wù),其他語言也有各種各樣的特色和優(yōu)勢,比如R語言的'ggplot2'軟件包就非常好用。在這一點(diǎn)上,Jupyter Notebook的態(tài)度是開放的。

如果想在Jupyter Notebook中啟用R,你需要先去GitHub上下載'IRKernel'(R的專用kernel),然后按以下8個步驟依次執(zhí)行(附圖解地址):

步驟一:用Anaconda安裝Jupyter Notebook;

步驟二:完成下載后,打開Anaconda命令提示符;

步驟三:輸入ipython notebook新建ipython筆記本

步驟四:用conda update ipython-notebook這個命令行更新筆記本;

步驟五:輸入conda install -c r ipython-notebook r-irkernel安裝IRkernel;

步驟六:用R.exe打開R;

步驟七:輸入install.packages(c('rzmq','repr','IRkernel','IRdisplay'), repos = 'http://irkernel.github.io/', type = 'source')安裝必要軟件包;

步驟八:輸入IRkernel::installspec()后再輸入quit(),完成操作。

如果是Julia用戶,你也可以在Jupyter Notebook中“暢所欲言”??紤]到篇幅因素,有需要的讀者請前往www.analyticsvidhya.com/blog/2017/10/comprehensive-tutorial-learn-data-science-julia-from-scratch/查看圖文攻略。

和R語言一樣,JavaScript用戶也需要去Github先下載‘IJavascript’ kernel:github.com/n-riesco/ijavascript。文檔里已經(jīng)明確寫出了安裝kernel所需的步驟,但要注意的是,記得先裝Node.js和npm,這是大前提!

6. Jupyter Notebook的交互式控制面板

在添加小部件前,你需要先導(dǎo)入小部件包:

from ipywidgets import widgets

小部件的基本類型是典型的基于輸入和按鈕的文本輸入。你可以參考下面這幅動圖,了解交互式小部件的外觀:

來源:Dominodatalab

7. 快捷鍵

既然Jupyter Notebook的主打優(yōu)勢是便捷,那它自然少不了方便操作的快捷鍵。事實(shí)上,當(dāng)你想運(yùn)行任意代碼塊時,只需按下Ctrl + Enter就可以了。

下面是本文挑選的一些實(shí)用快捷鍵,有需要的讀者可以視情況逐個閱讀+嘗試,如果今后你會經(jīng)常用到Jupyter Notebook,那不會這些組合鍵的你就幾乎已經(jīng)是條咸魚了。

Jupyter Notebook提供了兩種不同的鍵盤輸入模式——Command和Edit。其中Command模式是將鍵盤和計算機(jī)命令綁定在一起,這時單元框線是灰色的(左側(cè)藍(lán)色粗線)。Edit模式允許你將文本(或代碼)鍵入活動單元,這時單元框線是綠色的。

用Esc和Enter分別在Command和Edit模式之間跳轉(zhuǎn)。

更多快捷鍵介紹(中文):blog.csdn.net/lawme/article/details/51034543

8. 有用的擴(kuò)展

添加擴(kuò)展是提高Jupyter Notebook效率的一種非常有效的方式,那么安裝和使用擴(kuò)展哪家強(qiáng)?這里我們推薦Nbextensions。

先是安裝(pip):

pip install jupyter_contrib_nbextensions

安裝關(guān)聯(lián)的JavaScript和CSS文件:

jupyter contrib nbextension install --user

完成此操作后,你會在Jupyter Notebook主頁頂部看到一個'Nbextensions'選項卡。

如果要啟用一個擴(kuò)展,只需點(diǎn)擊來激活。下面是4個比較有用的擴(kuò)展。

Code prettify:它可以讓你的代碼更美觀。

Printview:生成預(yù)覽,新增的按鈕叫jupyter nbconvert。

Scratchpad:生成一個實(shí)驗(yàn)環(huán)境(副本)跑代碼,不會對筆記本代碼造成影響。

Table of Contents (2):抓取所有標(biāo)題,并顯示在浮動窗口中。

此外,小編也曾經(jīng)寫過一篇《Top 5:五大最實(shí)用的Jupyter Notebook擴(kuò)展插件》,介紹了另外5種好用的擴(kuò)展,有興趣的讀者可以一起看一看。

9. 保存和共享你的筆記本

這是Jupyter Notebook中最重要和最棒的功能之一。有過寫博客經(jīng)歷的讀者也許知道這種痛,當(dāng)你一腔熱血想把自己的成果分享給別人時,可能代碼格式還沒轉(zhuǎn)完你就放棄了。大多數(shù)筆記本都采用json格式,它不是很適合共享,也不利于在博客中發(fā)布不同的單元塊。

但Jupyter Notebook不一樣,點(diǎn)擊進(jìn)入“file”后,你會看到一個“Download as”:

看到這7個選項后你就很開心了,其中最常用的是.ipynb文件。你也可以用nbconvert選項手動將筆記本轉(zhuǎn)換為不同的格式,如HTML和PDF。

此外,你還可以使用jupyterhub,它允許你在其服務(wù)器上托管筆記本并與多個用戶共享。許多頂尖的研究項目都把這作為協(xié)作方式。

10. JupyterLab

JupyterLab是今年2月推出的一個工具,從某種程度上來說,它是Jupyter Notebook的一個發(fā)展——擁有同樣的組件,但允許更靈活和更強(qiáng)大的項目工作方式。換句話說,它的用戶體驗(yàn)更好。

JupyterLab的特色是允許用戶在一個窗口內(nèi)安排筆記本、終端、文本文件和輸出的工作區(qū)。你可以把窗口拖到你想要的位置,也可以通過實(shí)時預(yù)覽編輯常用文件格式,如Markdown、CSV和JSON,實(shí)時查看項目進(jìn)展。

11. 實(shí)踐和技巧

雖然自己鉆研很有趣,但無論是學(xué)習(xí)還是工作,大部分時候你是在一個團(tuán)隊中工作的。在這種情況下,你要規(guī)范自己的操作和實(shí)踐,確保筆記本中的代碼和注釋都是正確的,方便其他人閱讀、理解。以下是一些實(shí)踐指標(biāo),僅供參考:

對每個程序員來說最重要的事:要好好注釋!

確保你保存了代碼文檔。

形成一套命名體系,并在實(shí)踐中落到實(shí)處,方便自己和他人理解。

在剛開始的時候?qū)胨璧膸?,并在旁邊注釋?dǎo)入目的。

確保代碼行距合適,你也不想別人因?yàn)榭床欢愕难h(huán)和函數(shù)瘋掉,對吧?

當(dāng)代碼越來越多時,隱藏不重要代碼,確保干凈整潔。

此外,當(dāng)你需要把成果演示給別人看時(是的你又要做該死的PPT了),你是可以偷懶直接在Jupyter Notebook里做演示的。

找到“View”,點(diǎn)開其中的“Cell Toolbar”,然后是“Slideshow”。每個代碼塊都在右側(cè)顯示一個名為“Slide Type”的下拉選項:

具體效果如何,請自己嘗試。

結(jié)語

寫到這里,本文也就已經(jīng)差不多結(jié)束了,雖然在一篇文章內(nèi)塞進(jìn)這么多內(nèi)容可能會影響閱讀體驗(yàn),但我們還是真誠地希望新手能從中找到一些有用的東西。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí),Jupyter Notebook入門指南

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    戴爾科技PowerFlex為什么受歡迎

    現(xiàn)如今,Dell PowerFlex是市場上的“香餑餑”,曾創(chuàng)下連續(xù)八個季度銷量增長的輝煌戰(zhàn)績。PowerFlex為何在廣大企業(yè)用戶心中,具有難以替代的重要作用呢?戴爾科技集團(tuán)首席系統(tǒng)工程師Matt Hobbs最近的一篇博客文章,說出了答案。
    的頭像 發(fā)表于 10-16 10:10 ?219次閱讀

    Apple Watch系列中,高端Ultra型號或受歡迎

    8月16日外媒傳來消息,據(jù)一份上月中旬發(fā)布的行業(yè)報告揭示,蘋果公司在今年第二季度iPhone銷售中,高端旗艦iPhone 15 Pro Max以22%的占比獨(dú)占鰲頭,成為最暢銷機(jī)型。緊隨其后的是iPhone 15,占據(jù)19%的市場份額,而iPhone 15 Pro則以15%的份額位列第三。相比之下,iPhone 15 Plus表現(xiàn)較為平淡,僅占2%,而入門級的iPhone SE也僅收獲了5%的份額,這一比例不僅低于去年iPhone 14的15%,也遜色于2021年iPhone 13的10%表現(xiàn)。
    的頭像 發(fā)表于 08-16 15:59 ?679次閱讀

    FC-135是一款受歡迎的32.768kHz晶振

    了,愛普生晶振FC-135是一款受歡迎的32.768KHz晶振,小體積尺寸3.2x1.5mm無源晶振,石英晶體諧振器,超小型,輕薄型,非常適用于鐘表電子,智能手平板電腦,
    的頭像 發(fā)表于 06-07 11:48 ?362次閱讀
    FC-135是一款<b class='flag-5'>受歡迎</b>的32.768kHz晶振

    發(fā)展智能制造,會比想象中困難嗎?

    智能制造
    腦極體
    發(fā)布于 :2024年05月29日 15:26:35

    環(huán)保又高效:365nm固化燈為何如此受歡迎?

    365nm固化燈會如此受歡迎呢?接下來,就讓我們一起探尋其中的奧秘。 一、高效固化,提升生產(chǎn)效率 365nm固化燈采用先進(jìn)的發(fā)光技術(shù)和高效的能量轉(zhuǎn)換機(jī)制,能夠在短時間內(nèi)提供高強(qiáng)度的紫外線輻射,從而實(shí)現(xiàn)對材料的快速固化。這種高效的固化方式
    的頭像 發(fā)表于 05-15 11:19 ?279次閱讀
    環(huán)保又高效:365nm固化燈為何如此<b class='flag-5'>受歡迎</b>?

    AMR智能倉儲機(jī)器人為什么會越來越受歡迎?

    AMR智能倉儲機(jī)器人之所以越來越受歡迎,主要是因?yàn)樗鼈兙哂幸韵聨讉€優(yōu)勢: 1.提高工作效率: AMR智能倉儲機(jī)器人可以在倉庫環(huán)境中自主導(dǎo)航和執(zhí)行任務(wù),無需人工干預(yù)。它們可以快速而準(zhǔn)確地搬運(yùn)貨物、進(jìn)行
    的頭像 發(fā)表于 03-25 16:56 ?452次閱讀

    低功耗藍(lán)牙模塊備受歡迎的原因有哪些?

    近些年來,低功耗藍(lán)牙模塊在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用非常廣泛,主要體現(xiàn)在智能家居、電子工業(yè)、智慧醫(yī)療、智能農(nóng)場等,為什么低功耗藍(lán)牙模塊如此受歡迎呢?其主要原因在于低功耗藍(lán)牙模塊具備以下7個特點(diǎn)。 一、跳頻
    的頭像 發(fā)表于 01-23 09:45 ?353次閱讀
    低功耗藍(lán)牙模塊備<b class='flag-5'>受歡迎</b>的原因有哪些?

    電力測功機(jī)為什么受歡迎

    電力測功機(jī)受歡迎的原因有以下幾個方面: 首先,電力測功機(jī)是一種高效、環(huán)保的測功設(shè)備,它采用電力驅(qū)動,不會產(chǎn)生廢氣和噪音,對環(huán)境沒有污染。在當(dāng)前環(huán)保意識日益提高的背景下,這種環(huán)保的特點(diǎn)使得電力測功機(jī)
    的頭像 發(fā)表于 12-19 10:26 ?305次閱讀
    電力測功機(jī)為什么<b class='flag-5'>受歡迎</b>?

    快速下載OpenVIN Notebooks中的AI大模型

    OpenVINO Notebooks 是 Jupyter Notebook 形式的 OpenVINO 范例程序大集合,方便開發(fā)者快速學(xué)習(xí)并掌握 OpenVINO 推理程序,并通過 Copy&Paste 方式將范例中的關(guān)鍵程序應(yīng)用到自己的 AI 軟件中去。
    的頭像 發(fā)表于 12-16 10:22 ?969次閱讀
    快速下載OpenVIN Notebooks中的AI大模型

    如何快速下載OpenVINO Notebooks中的AI大模型

    OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便開發(fā)者快速學(xué)習(xí)并掌握OpenVINO推理程序,并通過Copy&Paste方式將范例中的關(guān)鍵程序應(yīng)用到自己的AI軟件中去。
    的頭像 發(fā)表于 12-12 14:40 ?1019次閱讀
    如何快速下載OpenVINO Notebooks中的AI大模型

    Chapyter讓編碼更加地高效

    相信很多小伙伴是Jupyter的重度使用者,本篇介紹一個利器 Chapyter 它將目前火爆的 ChatGPT 代碼解釋器與 Jupyter Notebook 結(jié)合了起來,讓編碼更加地高效
    的頭像 發(fā)表于 11-03 10:37 ?406次閱讀
    Chapyter讓編碼更加地高效

    Linux下的stress-ng壓力測試工具介紹

    今天浩道跟大家分享Linux下一款強(qiáng)大的壓力測試工具------stress-ng,這款測試工具對于運(yùn)維工程師或者測試工程師,還是比較受歡迎的。本文帶你安裝部署,并且列舉出它常用的測試命令,真正做到拿來即用,看完就沒有你不會用的
    的頭像 發(fā)表于 11-03 09:31 ?6855次閱讀
    Linux下的stress-ng壓力測試<b class='flag-5'>工具</b>介紹

    光學(xué)雨量計:更靈敏可靠、智能的降雨監(jiān)測工具

    光學(xué)雨量計:更靈敏可靠、智能的降雨監(jiān)測工具 降雨量信息是評估大氣環(huán)境和降水研究的關(guān)鍵指標(biāo),也是環(huán)境監(jiān)測和農(nóng)業(yè)安全監(jiān)測的重要參數(shù)。目前,我們通常使用翻斗式或光學(xué)雨量計來監(jiān)測降雨量,這些工具能夠感知
    的頭像 發(fā)表于 11-01 10:04 ?393次閱讀
    光學(xué)雨量計:更靈敏可靠、<b class='flag-5'>更</b>智能的降雨監(jiān)測<b class='flag-5'>工具</b>

    為什么LED會比白熾燈節(jié)能?

    為什么LED會比白熾燈節(jié)能
    發(fā)表于 10-30 06:14

    唯創(chuàng)知音WT588F02B-8S語音芯片賦能智能家居:讓清潔工作變得簡單

    在繁忙的生活中,家庭清潔工作常常讓人感到困擾。為了解決這一問題,越來越多的家庭開始使用智能清潔工具,其中最受歡迎的就是拖地機(jī)和掃地機(jī)。而唯創(chuàng)知音推出的WT588F02B-8S語音芯片,則為這些智能清潔工具帶來了更加便捷的使用體驗(yàn)
    的頭像 發(fā)表于 10-24 10:44 ?392次閱讀