#純靠北工程師4ns
----------
呀呀呀呀呀呀呀呀呀呀!!!
終於不用打 IF THEN ELSE 了!!!
感謝主!!!
https://towardsdatascience.com/switch-case-statements-are-coming-to-python-d0caf7b2bfd3
----------
💖 純靠北官方 Discord 歡迎在這找到你的同溫層!
👉 https://discord.gg/tPhnrs2
----------
💖 全平台留言、文章詳細內容
👉 https://init.engineer/cards/show/6040
同時也有3部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,ดาวน์โหลดไฟล์ตัวอย่างได้ที่ ► https://goo.gl/mVSXqh เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasert...
「switch case python」的推薦目錄:
- 關於switch case python 在 純靠北工程師 Facebook 的精選貼文
- 關於switch case python 在 prasertcbs Youtube 的精選貼文
- 關於switch case python 在 prasertcbs Youtube 的最佳解答
- 關於switch case python 在 prasertcbs Youtube 的最佳解答
- 關於switch case python 在 Re: [討論] Python 3.10將加入Switch-Case語句- 看板Soft_Job 的評價
- 關於switch case python 在 Replacements for switch statement in Python? - Stack Overflow 的評價
- 關於switch case python 在 Re: [討論] Python 3.10將加入Switch-Case語句 - PTT職涯區 的評價
- 關於switch case python 在 [討論] Python 3.10將加入Switch-Case語句- 看板Soft_Job 的評價
- 關於switch case python 在 [討論] Python 3.10將加入Switch-Case語句 - Mo PTT 鄉公所 的評價
- 關於switch case python 在 [討論] Python 3.10將加入Switch-Case語句- Soft_Job - PTT生活 ... 的評價
- 關於switch case python 在 [討論] Python 3.10將加入Switch-Case語句- Soft_Job - PTT網頁版 的評價
- 關於switch case python 在 cmrfrd/cpython-switchcase: The Python programming ... - GitHub 的評價
switch case python 在 prasertcbs Youtube 的精選貼文
ดาวน์โหลดไฟล์ตัวอย่างได้ที่ ► https://goo.gl/mVSXqh
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
switch case python 在 prasertcbs Youtube 的最佳解答
ดาวน์โหลดไฟล์ตัวอย่างได้ที่ https://goo.gl/e8c4e1
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ เบื้องต้น ► https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# เบื้องต้น ► https://www.youtube.com/watch?v=hhl49jwOIZI&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษาจาวา Java เบื้องต้น ► https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนการทำ Unit Test ภาษาจาวา Java ► https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
playlist สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming) ► https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
switch case python 在 prasertcbs Youtube 的最佳解答
เปรียบเทียบการทำงานของ if ... else if ... กับ switch ... case ในการตรวจสอบเงื่อนไข
============
playlist สอนภาษา C# เบื้องต้น
https://www.youtube.com/watch?v=bu6kwrpOqFM&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
============
playlist สอนภาษา C เบื้องต้น
https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
============
playlist สอนภาษา C++ เบื้องต้น
https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
============
playlist สอนภาษาจาวา Java เบื้องต้น
https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
============
playlist สอนการทำ Unit Test ภาษาจาวา Java
https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
============
playlist สอนภาษาไพธอน Python เบื้องต้น
https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
============
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming)
https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
============
playlist สอนภาษา R เบื้องต้น
https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
============
playlist สอนภาษา PHP เบื้องต้น
https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
============
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่
https://www.youtube.com/subscription_center?add_user=prasertcbs
switch case python 在 Re: [討論] Python 3.10將加入Switch-Case語句 - PTT職涯區 的推薦與評價
討論這麼熱烈可是各位有點進去把它看完嗎XD Python 3.10 的Structural Pattern Matching 不是單純的switch-case 而已它的case 裡是還可以放變數給它 ... ... <看更多>
switch case python 在 Re: [討論] Python 3.10將加入Switch-Case語句- 看板Soft_Job 的推薦與評價
※ 引述《ohmylove347 (米特巴爾)》之銘言:
: https://reurl.cc/8yzA24
: 上面說2006年 PEP 3103就建議實施switch-case語句。
: 但是,在PyCon 2007上的一項民意調查未獲得對該功能的支持後,
: Python開發人員將其刪除。
:
: 沒有使用Python不知道生態系如何
: Google App上看到的文章
: 不知道各位大大對Switch加入有什麼看法
:
: 推 Muscovy: for/while 比 if-else 常出現無誤, 大概 10:1 的比例. XD
: 推 TAMSHUI: 不知M大能否舉例完全不用if-else呢?Google了一下還是沒
: → TAMSHUI: 什麼想法@@
: 推 Muscovy: 不會到完全不寫 if 的程度啦,等一下我來整理一篇
我的工作環境很雜, 從 matlab 到 C 與他的親朋好友(java 也算. :D)
反正猴子用 C, 有錢的猴子用 matlab, 沒錢的猴子像我就用 python.
但是大概都會雙棲...
我來舉個例子...
譬如你有一組數字, 數量不多不少, 大約 10,000 個左右.
然後要處理它, 先叫他 eigen_spectrum, 或者簡稱 eig 好了.
當 eigen_spectrum >= 100,000,000 的時候要做一堆事.
介於 [10, 100,000,000) 的時候又一堆事.
介於 (0, 10) 的時候又一堆.
剛好等於 0 的時候需要處理特殊事件.
然後小於 0 的話要檢查有沒有奇怪的現象, 標注一些警示.
這些事情的執行細節通通都不太一樣, 然後要怎麼做?
用 C 的話, 大概 if-else/if-else/if-...-else 之外就沒招了.
所以 python by C programmer 會變這樣:
for s in eigen_spectrum:
if s >= 1e8:
pass # 這裡寫一大坨, 頂多寫個函數處理.
elif s >= 10 and s < 1e8:
pass # 這裡再一坨, 或者寫個跟上面不一樣函數.
elif s > 0 and s < 10:
pass # 再一坨, 或者再一個跟上面都不同的函數.
elif s == 0:
pass # 嗯, 你知道的, 繼續.
elif s < 0:
pass # 嗯......寫就對了.
else:
raise ValueError("Should not happen.")
最後你會得到一堆只用一次的函數, 或者一大串超長程式碼.
但是 python programmer 呢, 會這樣寫:
for s in eig[eig > 1e8]:
pass # 寫寫寫, 也是一大坨.
for s in eig[np.logical_and(eig > 10, eig < 1e8)]:
pass # 繼續寫寫寫, 也是一坨.
for s in eig[np.logical_and(eig > 0, eig < 10)]:
pass # 再寫, 繼續就對了.
if np.any(eig == 0):
pass # 驚醒! 想一下遇上 0 的時候要做什麼.
for s in eig[eig < 0]:
pass # 再寫再寫, 反正就是接龍.
很有趣的結構吧? 你還是會變出一段超長程式碼.
再加上明明一個迴圈可以搞定的事, 硬要拆成四個.
還補了一個莫名其妙, 不太對稱的 if.
但事實上這種寫法比較好維護, 因為這個結構更近似數學的模型.
可以往前翻到我上面的文字敘述, 比看看兩種寫法就知道了.
這個數學模型很簡單, 然而不同的寫法就已經有風格上的區分.
稍微複雜一點的數學模型, 用 if-elif-else 就更難重建.
譬如這個 eigen_spectrum 會有一組伴隨的 eigen_states 要處理.
用 if-else 硬爬會爬出一堆腦袋打結的程式碼, 因為很不像數學.
然後結構裡面的 if 其實是用來做 s == 0, exception handle.
而且這也是我最常遭遇的情境: 用 if + raise 來表示異常狀況.
其他時候, 我一下子想不太到寫 if statement 的情況.
因為翻到的程式碼幾乎都是:
if np.count_nonzero(np.abs(s) < 1e-8) > 2:
raise ValueError('Too many singularities.')
這一類的東西, 它就是有個 raise.
: → as30385438: 不用if就是用loop、dict的key放condition或一些DP手法
: → as30385438: 寫python的常常追求所謂的pythonic,不過我自己是覺得
: → as30385438: simple is best,最直覺的寫法通常就是最好的
從 stackoverflow 容易學到的毛病就是把 one-liner 當成 pythonian.
養成這種習慣的程式員有夠難矯正.
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.47.50 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1616832576.A.DCB.html
... <看更多>