在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一位開發者講述了他無法忍受Python的8大原因

DPVg_AI_era ? 來源:lq ? 2018-12-20 09:14 ? 次閱讀

作為機器學習程序員的首選編程語言,Python成為世界范圍內最受大學生歡迎的編程語言。但凡事有例外,近日,一位開發者講述了他無法忍受Python的8大原因,引發網友大量回應。

作為機器學習程序員的首選編程語言,Python近年來可謂如日中天,人氣連年暴漲。由于AI熱潮持續不斷,Python在今年更是取代Java,成為世界范圍內最受大學生歡迎的編程語言。很多機器學習領域的教材、文章和技術文檔,給出代碼時會以Python作為示例語言,可見Python受歡迎程度之高。

Python具有上手快、門檻低、語法結構相對簡單等優點,初學者易入門、老手的二次學習成本也低,再加上機器學習任務上優勢獨具,受熱捧簡直是水到渠成的事。

但凡事有例外,東西再好也不可能人人都愛。

近日在hackerfactor上,一位名叫Neal Krawetz的人就撰文,指出了自己無法忍受Python的八大原因,把Python里里外外吐槽了一遍。

文章列出了作者認為Python存在重大缺陷的八條理由,包括版本兼容性問題、安裝版本混亂、在程序關鍵字命名規則、常用庫命名規則上獨樹一幟,且缺乏一致性、賦值傳遞混亂、本地文件命名策略易出錯等。

總之一通下來,把Python貶得夠嗆。這篇文章在當下Python大熱的背景下可算是一朵“奇葩“了。看多了Python贊歌是不是有點審美疲勞了?不妨換換口味。

原因1:版本之間不兼容

安裝Linux后,那么它很可能默認會安裝多個版本的Python,可能有Python2和Python3,甚至更多零零碎碎的版本,如3.5或3.7。

這是有原因的:Python3與Python2不完全兼容,一些其他版本在這方面的缺陷也足夠明顯——向后兼容性不足(backwards compatibility,也稱為向下兼容性)。

所以Ubuntu同時安裝了Python2和Python3,因為這些版本的核心功能是不同的。

缺乏向后兼容和分離版本通常是走向衰敗的預警。Commodore創建了第一臺家用電腦(要遠早于IBM PC或Apple之前)。但Commodore PET與隨后的Commodore CBM計算機并不兼容,而CBM與VIC-20,Commodore-64,Amiga等也不兼容。因此,用戶要么花費大量時間將代碼從一個平臺導到另一個平臺,要么就直接放棄了這個平臺——Commodore就是前車之鑒。當用戶選擇放棄平臺時,它就注定會消失。

同樣,Perl曾經很受歡迎。但是當Perl3問世時,它并沒有完全向后兼容Perl2的代碼。接下來是Perl4。當Perl5問世時,很多人選擇轉向使用其他更穩定的編程語言。所以今天,只有一小部分人還在積極使用Perl來維護現有的Perl項目,而其他任何基于Perl的重大新項目再也沒有出現過。

同樣,Python為每個版本設計了不同的代碼孤島。社區一直拖拽著這些舊版本,所以你最終也只能得到那些舊的、過時的Python代碼,因為沒有人愿意花時間將它導到最新版本上。

據我所知,沒有人在Python2上創建新的代碼,但我們還讓它茍延殘喘著,因為沒人將所需的代碼導到Python3.x. 在官方Python網站上,這些文檔被主動維護并可用于Python 2.7、3.5、3.6和3.7——因為他們無法放棄舊代碼。Python就像編程語言的僵尸——行尸走肉般向前走。

原因2:安裝太太太太麻煩了

通常來說,你直接apt、yum、rpm后得到就是最新穩定版。

但你如果'apt-get install python',就不知道是什么版本,可能與你需要的所有代碼都不兼容。所以你在安裝的時候需要指定Python版本。

有一個項目需要用Python3.5(當時最新的版本),然而我的電腦上最終安裝了一大堆版本:Python2、Python2.6、Python3和Python3.5。兩個來自操作系統,一個為了項目安裝,一個是因為我安裝了一些不相關的軟件。

盡管它們都是“Python”,但它們并非完全相同。

如果你想安裝Python的軟件包,你應該使用“pip”(Pip代表“Pip Installs Packages”)。但是由于系統上有許多版本的Python,你必須記住使用正確版本的pip。否則,'pip'可能會運行'pip2'而不是你需要的'pip3.7'。(如果名稱不存在,你需要指定pip3.7的實際安裝路徑。)

我被一個朋友告知我需要配置環境,以便所有東西都能使用Python 3.5。這種方法的確很有效,但沒有持續多久,因為我開始了另一個需要Python 3.6版本的項目。兩個并發項目有兩個不同版本的Python——emmmm,這有點一言難盡吧。

pip安裝程序將文件放在用戶的本地目錄中。你不能使用pip來安裝系統范圍的庫,并且Gawd會阻止你犯下運行'sudo pip'的錯誤,因為這會搞砸整個電腦!

順便說一句,是誰維護這些pip模塊?答案是社區。也就是說,沒有明確的所有者,也沒有強制性的責任所屬。今年早些時候,一個版本的PyPi有一個后門發生了SSH憑據盜竊,但我對此一點都不驚訝,因為社區存儲庫根本不值得相信。出于同樣的原因,我也不使用Node.js和npm。

原因3:令人頭疼的語法問題,作用域使用空格導致可讀性差

我是可讀代碼的堅定信徒。乍一看,Python似乎非常易讀,而當你開始制作大型代碼庫,這種易讀性就會減弱了。

其他編程語言,像C, Java, JavaScript, Perl, and PHP,用{} 來表示作用域;List用()。Python用空格。如果你需要給一個復雜的代碼定義一個作用域,然后你縮進了下面幾行代碼,當縮進終止后,作用域就終止了。

Python手冊說你可以使用任意數量的空格或制表符來定義范圍。但是,每次縮進都要用四個空格!如果要縮進兩次以進行嵌套,那就得使用八個空格!

Python社區已經對這個術語進行標準化,盡管它沒出現在Python手冊中。文檔中的示例說可以使用TAB、“TAB+1空格”等等。但是社區卻對4個空格有著喪心病狂的偏執!因此,除非你打算永遠不向其他任何人展示你寫的代碼,否則每個縮進都要使用四個空格。

當我第一次看到Python代碼時,我認為使用縮進來定義范圍似乎是個好主意。事實上,我太天真了,這簡直是一個天大的缺點。

深度嵌套是可以進行的,但每行代碼會變得很寬,不得不在文本編輯器中換行。長函數和長條件操作都可能讓開始與結束變得難以匹配。我可憐那些錯誤計算空格數量(比如只輸了3個空格而不是四個)的人,因為這樣的錯誤需要數小時進行調試和追蹤。

我debug代碼習慣沒有縮進,這樣我就可以快速瀏覽代碼,并在完成后輕松識別和刪除debug代碼。

但是用Python呢?縮進錯誤的話,都會報錯。

原因4:特立獨行的加載庫方式

大多數編程語言都有一些方法可以包含其他代碼塊。對于C,它是“#include”。對于PHP,有'include','include_once','require'和'require_once'。而對于Python,則是“import”。

Python的import允許導入整個模塊、模塊的一部分或模塊中的特定功能。但查找導入代碼塊的方法卻很麻煩。使用C,直接看/usr/include/*.h就行了。但用Python?最好使用'python -v'列出所有位置,然后搜索該列表中每個目錄和子目錄中的每個文件。這真的很麻煩。

導入功能還允許用戶重命名導入的代碼,它們基本上定義了一個命名空間。乍一看,這似乎很不錯,但這最終會影響可讀性和長期支持。重命名模塊非常適合小腳本,但對于大程序來說真的很糟糕。這樣的操作“import numpy as n”,應該被打死。

但這不是最糟糕的部分。對于大多數語言,包含代碼真的只意味著包含代碼。而一些語言(如面向對象的C ++)則可以執行代碼。類似地,一些PHP代碼可能會定義全局變量,因此一項import可以運行代碼,但這通常被認為是一種不好的做法。相比之下,許多Python模塊包含在導入期間運行的初始化函數。你不知道什么在運行,你不知道它在做什么,你甚至都沒察覺到。除非存在命名空間沖突,否則在這種情況下,你需要花很長時間來查找原因。

原因5:關鍵字和庫命名“獨樹一幟”

在其他所有編程語言中,數組都稱為“array”。在Python中,數組被稱為“list”。在其他語言中,關聯數組有時稱為'hash'(Perl),但Python里叫做“dictionary”。 Python似乎沒有使用在計算機和信息科學領域的常用術語。

然后是庫的名稱。看看這些名字吧,PyPy、PyPi、NumPy、SciPy,SymPy、PyGtk、Pyglet,PyGame ...(是的,前兩個名稱發音一模一樣,但是它們的功能和用途有很大區別。)我知道“py”代表Python。但這兩個字母就不能固定在庫的開頭或是末尾嗎?

而且一些常見的庫并沒有沿用這個所謂的“Py”命名約定。比如matplotlib、nose、Pillow和SQLAlchemy。雖然從一些命名上能夠看出庫的一些功能(比如“SQLAlchemy”包含SQL,所以它可能是一個SQL接口),但很多名稱只是隨機化的單詞。如果你事先并不知道“BeautifulSoup”是干什么用的,你能從名稱中看出它是一個HTML / XML解析器嗎?

(順便說一句,BeautifulSoup庫的說明文檔很完備,非常易于使用。如果每個Python模塊都這么好用,我也不會在這里吐槽這么多。但遺憾的是,這只是個例外,而不是常態。大多數Python庫的文檔都爛的要死。)

總的來說,我認為Python對庫的命名非常混亂,缺乏一致性的原則。我總覺得,開源項目的命名都存在這種規則混亂的問題。除非你了解這個項目,否則你從項目名字上根本看不出來。除非你知道要找的是什么,否則你很可能永遠都無法找到想找的東西。從大多數Python庫的命名上看,我現在更加確信這個觀點了。

原因6:其他“獨樹一幟”之處略多

每種語言都有它的怪癖。在C語言中,使用&和*來訪問地址空間和值是奇怪的命名法。C也有“++”和 --"這樣的變量增減控制方式在Bash語言中,當引用括號和正則表達式的句點等特殊字符時,需要使用反斜杠。

JavaScript存在兼容性問題(并非每個瀏覽器都支持所有有用的功能)。但是,Python比我見過的任何其他語言的奇怪之處更多。以字符串為例:

?在C中,對字符串使用雙引號,對字符使用單引號。

?在PHP和Bash中,兩種類型的引號都可以用于字符串。但是,使用雙引號時可以在字符串中嵌入變量。相比之下,使用單引號括起來的字符串屬于文字。任何類似嵌入式變量的名稱都不可擴展。

?在JavaScript中,單引號和雙引號之間確實沒有區別。

?在Python中,單引號和雙引號之間沒有區別。但是,如果想讓字符串跨行,則需要使用三引號“”“string”“”或“''string'''。如果想使用二進制文件,那么你需要用b(b'binary')或r(r'raw')來優先選擇字符串。有時還需要使用str(string)進行字符串轉換,或使用string.encode('utf-8')將其轉換為utf8。

如果你認為=、==和===這些符號PHP和JavaScript中有點怪,那么等你在Python中使用引號時再說吧。

原因7:賦值方式怪異

大多數編程語言都按值傳遞函數參數。如果函數改變了值,則結果不會傳遞回調用代碼。但Python不一樣。 Python默認使用pass-by-object-reference參數執行函數。這意味著更改源變量可能最終會改變值。

這是面向程序、面向函數和面向對象編程語言之間的重大差異之一。如果每個變量都是通過對象引用傳遞的,而且對變量的任何更改都會導致其他所有地方的變量值變化,那么其實也可以全部使用全局變量來處理所有內容。使用不同的名稱調用同一個對象不會更改對象的值,因此實際上該對象就是全局的。C語言程序員有句老話,全局變量是邪惡的,不應該使用。

在Python中,必須按值傳遞變量。“a = b”只是為同一個對象空間指定另一個名稱,并不會將b的值賦到a中。如果要賦值,則需要使用copy函數。通常格式是“a = b.copy()”。但是,請注意我說的是“通常”。并非所有數據類型都能夠這樣賦值,部分功能可能不完整。這時需要使用一個名為“copy”的獨立庫:“a = copy.deepcopy(b)”。

原因8:本地程序命名易混亂

根據使用的庫或函數來命名程序是一種常見的編程技術。比如,我正在使用名為“libscreencapture.so”的C語言庫測試屏幕捕獲程序,我調用的程序可能會命名為“screencapture.c”,編譯后命名為“screencapture.exe”。

如果使用C,Java,JavaScript,Perl,PHP等語言,這種命名方式很好用,因為程序語言可以很容易地將資源庫與本地程序區分開來,因為彼此的路徑是不同的。但是如果用的是Python,永遠不要這樣命名。

為什么? Python總是假定用戶首先要導入本地代碼。如果我有一個名為“screencapture.py”的程序使用“importscreencapture”,那么它將導入自己而不是系統庫。至少,本地程序需要命名為“myscreencapture.py”才能避免這種錯誤。

當然了,吐槽了這么多,但其實Python并非一無是處。

Python是一種非常流行的語言,擁有數量龐大的使用者。我身邊有一些朋友非常喜歡Python,這是他們首選的編程語言。多年來,我和他們討論過這些問題,每次他們都點頭表示同意。他們并不否認Python確實存在這些問題,只是覺得這些缺點不足以讓他們拋棄Python。

我的朋友經常在編程中將所有存在的非常酷的Python庫統統引用。我也認為一些庫確實非常有用。例如,BeautifulSoup是我用過的最好的HTML解析器之一,NumPy使得多維數組和復雜的數學過程更容易實現,而TensorFlow則對于機器學習非常有用。但是,我不會因為喜歡TensorFlow或SciPy,而在Python中創建一個單片程序。為了某些庫的便利性,放棄程序可讀性和可維護性,屬于得不償失。

一般來說,我在寫關于某個主題的負面批評文章時,也會嘗試寫一些正面的東西。比如當我寫FFmpeg的局限性時,我也明確提到它是最好的視頻處理庫。但我這里寫不出關于Python的什么優點了,因為我真的覺得Python很爛。

此文一發,在評論區引發了激烈的爭論:

“是你不懂Python”

Mario Abarca

你的這些問題可以總結為一點:你不喜歡Python因為它和C風格不一樣

版本不兼容不是bug,是特性;我就覺得沒人維護的東西就不應該再用了

用虛擬環境安裝不同的python版本而不是安裝在同一個環境下

現代編輯器默認TAB=4個空格。你也不需要非得用4個空格,但要確保一致性

官方的文檔特別好,真的。要是標準庫里沒有,翻翻The Hitchhiker’s Guide to Python這本書

我覺得Python的命名風格特別好,更直觀。list不是數組,就是序列;關聯數組明明就是dict

二進制字符串前面加個b,是因為Unicode規范中,1字節≠1byte

這樣做的好處是,我可以隨時隨地引用一個東西,而不需要每次都去復制粘貼原來的名字

同上

notacoward

1和2是同一個問題,有關整個生態,跟語言本身無關。因為這類社區維護的項目都是不同的人花費寶貴的業余時間去維護,每個人都有每個人的習慣和價值觀

這個只能說你自己太個性了。我們大家保持默認的統一風格,對于別人維護起來明顯更容易

C/C++的include很難處理模塊接口

list和array不是一個東西。下一個

每個語言都有自己的一套轉換方式。Python可能不是最完美的,但是其他的更差,呵呵

對象引用效率更高。尤其是當變量名不一致的時候,你直接復制會有問題。但是你引用一下,就好多了

最好不要把自己的程序命名成標準庫里的程序或者模塊的名字

folkrav

首先要糾正下你,PyPy和PyPi發音不一樣。前一個是“派派”,后一個是“派-屁-愛”

其次,名稱很重要嗎?第三方誒大哥,啥名字都可以出現誒大哥。你就能保證你起名的時候,能做到信達雅嗎大哥?

jaxtellerSoA

我就不明白了。用縮進來定義作用域,怎么就不好了?多一目了然啊!別的語言{}里面不也得縮進嗎?再說了,你就不覺得按住shift才能打出{}很難受嗎?

riskable

我跟C粉兒討論過“縮進vs括號”這個問題。他說沒有括號怎么能輕松找出作用域呢?

標準Py粉兒答案是:啊原來你們喜歡括號是因為你們的代碼壞習慣啊。

我想了想,可能這么問更恰當:假如不使用文本編輯器/IDE來突出顯示括號或它們之間的空間,你還是堅持用括號不用縮進嗎?

我估計他終于get到我的點了,說:啊我明白了,你之所以用縮進是因為Python編輯器太爛了啊!真可憐。

Sign。

“我也不喜歡Python”

cutety

Python是我上手的第一個語言,但我以后再也不會用了。當然作者的這些問題,在我看來都不是問題,個人習慣而已。

包管理模式簡直爛到家。那么多包管理器可以借鑒啊,可以讓pip不那么爛啊

就不能有個標準包管理器有個標準manifest嗎?又不會懷孕!

twunde

安裝確實是個讓人頭疼的問題。是的很多人提到了安裝虛擬環境,venv/virtualenv。Ruby有RVM,可以輕松的在同樣環境下使用不同版本。我寧愿挨個給Ruby,PHP,Perl…做環境配置,也不愿意給Python配置。

nicoburns

哦!多行Lambda!我在JS里的最愛。Python里,沒!有!了!

setpatchaddress

我從1.5就開始用Python了。縮進來表示語句塊,是我最最最不能忍受的!

dbcurtis

我就喜歡C那種的括號,不喜歡Python的縮進方式。

colanderman

我覺得Python最大的問題其實是內部模型對于它的意圖而言過于復雜了,就是一個有經驗的開發者都很難理解,別說初學者了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36193
  • 機器學習
    +關注

    關注

    66

    文章

    8493

    瀏覽量

    134170
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86274

原文標題:為什么我覺得Python爛的要死?原因有八

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    深開鴻CEO王成錄:開發者是開源鴻蒙生態的原點

    發布會上表示:“操作系統的成功,取決于生態體系的競爭力。開源鴻蒙生態的建設,必須始于開發者。”強調,開發者是生態的原點,是推動技術演進與產業創新的關鍵力量,而開鴻
    的頭像 發表于 05-26 12:06 ?290次閱讀
    深開鴻CEO王成錄:<b class='flag-5'>開發者</b>是開源鴻蒙生態的原點

    微軟開發者挑戰賽決賽圓滿收官

    歷時3個月的微軟開發者挑戰賽在萬眾矚目中圓滿落下帷幕。這場匯聚卓越開發者智慧的科技盛宴,自啟動以來便吸引 1500 + 創新人才踴躍報名,共征集到 150 + 份優秀作品。經過層層
    的頭像 發表于 05-12 15:35 ?208次閱讀

    2024 RT-Thread開發者大會精彩回顧

    近30重量級嘉賓,圍繞AI、大模型、虛擬化、工業應用、車控、PLC、智能設備開發等熱點主題進行了分享,吸引近千名來自全球的開發者和企業家。本次大會上還重磅發布
    的頭像 發表于 01-21 18:53 ?540次閱讀
    2024 RT-Thread<b class='flag-5'>開發者</b>大會精彩回顧

    開發者的開源鴻蒙故事

    近日,在以“切為了開發者”為主題的“2024開放原子開發者大會暨首屆開源技術學術大會”上,開源鴻蒙5.0 Release版本正式發布,備受各方關注。該版本在系統完備度、分布式創新、開發者
    的頭像 發表于 01-06 10:28 ?676次閱讀

    《HarmonyOS第課》煥新升級,賦能開發者快速掌握鴻蒙應用開發

    《HarmonyOS第課》煥新升級,賦能開發者快速掌握鴻蒙應用開發 隨著HarmonyOS NEXT發布,鴻蒙生態日益壯大,廣大開發者對于系統化學習平臺和課程的需求愈發強烈。近日,華
    發表于 01-02 14:24

    2024開放原子開發者大會暨首屆開源技術學術大會成功舉辦

    近日,以“切為了開發者”為主題的2024開放原子開發者大會暨首屆開源技術學術大會在武漢成功舉辦。大會為眾多開源項目和開發者提供廣闊的展示
    的頭像 發表于 12-23 14:23 ?486次閱讀

    云端AI開發者工具怎么用

    云端AI開發者工具通常包括代碼編輯器、模型訓練平臺、自動化測試工具、代碼管理工具等。這些工具不僅降低了AI開發的門檻,還極大地提高了開發效率和模型性能。下面,AI部落小編為您介紹云端AI開發者
    的頭像 發表于 12-05 13:31 ?461次閱讀

    HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)事件推薦開發者測試

    :基礎信息提供,環境準備,聯調驗證。 、基礎信息提供 達成開發意向后,開發者發送郵件到郵箱(hagservice@huawei.com)或者聯系華為意圖框架接口同事,向華為提供測試應用的信息。 二、環境
    發表于 11-18 17:39

    蘋果發布Apple Intelligence開發者測試版

    近日,蘋果公司正式發布其全新的Apple Intelligence開發者測試版本,這版本集成了備受期待的ChatGPT功能,為開發者和部分用戶帶來了全新的體驗。然而,在美股盤中,蘋
    的頭像 發表于 10-24 09:57 ?656次閱讀

    宣布 RISE RISC-V 開發者表彰試點計劃:賦能開發者拓展 RISC-V 影響力

    我們直在尋找加強RISC-V架構和擴大其在軟件生態系統中應用的方法。為進步實現這個愿景,我們很高興地宣布啟動RISC-V開發者表彰試點計劃[1],旨在表彰和支持為將RISC-V打造成所有項目
    的頭像 發表于 10-15 08:08 ?501次閱讀
    宣布 RISE RISC-V <b class='flag-5'>開發者</b>表彰試點計劃:賦能<b class='flag-5'>開發者</b>拓展 RISC-V 影響力

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為開發者提供
    的頭像 發表于 09-28 08:07 ?634次閱讀
    KaihongOS 4.1.2<b class='flag-5'>開發者</b>預覽版正式上線,誠邀<b class='flag-5'>開發者</b>免費試用!

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    開發者提供獨特的搶先體驗機會,涵蓋了原生應用開發、分布式能力、原子化服務等核心功能特性,助力開發者探索國產操作系統的更多可能性。 此次發布的預覽版適配RK3568、RK3588、ES
    的頭像 發表于 09-26 15:59 ?706次閱讀

    谷歌:聚焦AI與技術創新,攜手中國開發者共筑未來

    2024年8月9日,備受矚目的谷歌開發者大會——I/O Connect China圓滿落幕。此次盛會,谷歌面向中國廣大的開發者群體,全面展示其在人工智能(AI)、移動技術、云計算及W
    的頭像 發表于 08-09 17:03 ?1146次閱讀

    2024年上海海思MCU開發者體驗官招募,手機/MatePad大獎等你拿!

    報名信息,報名提交后無法修改報名信息。開發者對所提交的報名信息真實性負責,如果報名信息不完整/報名信息作假,則報名無效; 2)沒有海思賬號的開發者需先注冊海思賬號才能提交報名,每個開發者
    發表于 08-02 17:29

    星閃開發者體驗官,沖刺終極大獎華為星閃手機Pure70

    為鼓勵開發者積極參與星閃開發,首批星閃開發者體驗官活動已于6月22日正式啟動報名,截止目前已經有百余星閃開發者積極參與活動,助力每
    的頭像 發表于 07-20 08:02 ?1266次閱讀
    星閃<b class='flag-5'>開發者</b>體驗官,沖刺終極大獎華為星閃手機Pure70
    主站蜘蛛池模板: 在线 | 一区二区三区 | 日本黄免费 | 一个人看aaaa免费中文 | 色老头久久久久 | 99久久香蕉国产综合影院 | 日本免费性 | 色www国产阿娇 | 色婷婷影院在线视频免费播放 | 资源在线www天堂 | 国产精品欧美一区二区三区 | 在线免费观看色片 | 1024你懂的国产日韩欧美 | 欧美日韩色片 | 成人av在线播放 | 久久久午夜视频 | 五月丁香啪啪 | 最好看的2019中文字幕免费高清 | 天天碰天天 | 色香色香欲天天天影视综合网 | 72种姿势欧美久久久久大黄蕉 | 欧美精品成人久久网站 | 18性夜影院午夜寂寞影院免费 | 免费看h视频 | 99久久99久久久99精品齐 | 日本人爽p大片免费看 | 日本一区三区二区三区四区 | 亚1州区2区3区4区产品乱码 | 中文字幕一区二区三区在线播放 | 午夜影视剧场 | 琪琪午夜伦埋大全影院 | 国产高清一区二区三区 | 色视频在线观看 | 天天干天天拍天天操 | 久久精品美女久久 | 婷婷香蕉| 99久久综合狠狠综合久久男同 | 久久夜色精品国产噜噜 | 日韩精品免费一级视频 | 岛国午夜精品视频在线观看 | 亚洲免费毛片 | 久久久久久久久综合影视网 |