Python入門的三大問題和三大謊言

来源:https://www.cnblogs.com/dosboy/archive/2020/03/10/12459265.html
-Advertisement-
Play Games

Python廣告,鋪天蓋地,小白們霧裡看花,Python無限美好。作為會20幾種語言的編程愛好者,我先說說如果入門python應該想好三大問題,並且在此戳穿三大謊言。 ...


 

Python廣告,鋪天蓋地,小白們霧裡看花,Python無限美好。作為會20幾種語言(BASIC Foxbase/pro VB VC C C++ c# js typescript HTML ArduinoC Delphi VBA VB 彙編 scratch java swift python sql vbscript ...)的愛好者,我先說說如果入門python應該想好三大問題,並且在此戳穿三大謊言:

問題一 是不是興趣?

確認你不是被短期販賣焦慮的廣告撩動的一時衝動,就像我雖然不是程式員但堅持寫了二十幾年程式,這不是一時興起能堅持下來的。如果有強烈使命感,真是感興趣,笑看本貼後,好好看我其它的文章學好編程,因為誰勸你也沒用。判斷標準就是你平時是否對科技類產品的愛好能長期堅持。否則請沉下心來,仔細往下看。

問題二 用來幹嘛?

編程語言就是萬能工具,同一種語言,同一種夢想,這是不可能的。

1. 萌懂高初中生。

考慮到中國學生的現實,如果你是高考前的學生,學習python對於純參加高考學生的意義不大,學好python可以拿幾個編程,人工智慧比賽的獎是沒問題的,擇校和申請海外名校有一定幫助,但要投入一定的精力,高中生的邏輯思維已成形,正是形成社會型、批判性思維的關鍵時刻,過份的邏輯可能會形成刻板映象,可能不利於此時應該成形的社會觀、世界觀、人生觀的形成,想靠編程促進邏輯思維是天方夜譚,收效不大。

2. 無敵的初一(二)和小學生。

此時的孩子天馬行空,STEM教育反而應提前佈局,通過學習Python來瞭解基礎的語法,的確可以促進孩子擴展解題角度,提高邏輯思維,培養規則意識。有人質疑這會抹殺孩子的想象力,大錯特錯!中國教育太註重1+1是如何算出來的,天天做計算天天練(shit!),難道這些簡單的算式題不都應該交給電腦去做麽?學習編程後這些死算硬背的東西編程語言自會處理好,孩子發揮想象空間大了,她會想用這樣看似簡單的語句組合搭建能解決問題的系統。在此,建議註意基礎的學習,應用型技術比如WEB網站,動畫製作等可以憑興趣學點即可。此時學習切不可貪多求全,因為沒有必要,培訓機構謊言之一:誇張的說python20年不過時!Oh my god,牛叔我學習的語言中已有一半已不復流行,微軟曾經力推的vbscript當時幾乎與JS二分天下,還不是泯然眾人矣,但學習好基礎是重點,千變萬化均在其中,牛叔初看python語法就在一周內做出了商用智能儀錶網站,學習成本幾乎為0。

3.浪漫的大學生。

無論什麼專業,咱啥也別說,分點談戀愛的時間,學點python考個電腦二級證書,未來無限好,好處少不了。理工科、金融經濟學的學生少不了數據分析,同樣的論文你用excel做比用python差了不止一個檔次。文科學生,用python做個語義分析、文學史比較、爬個文學網站,藝術舞蹈類以後搞自媒體學點技術美化下視頻、B站、淘寶網站也沒壞處。

4. 高逼格的商用系統支持與開發。

python本身就是殼語言,作為linux體系的從業人員無論是系統支持還是系統開發,均建議毫無保留的要學習,對國內微軟體系的從業人員,除了純技術的程式員,大部分傾向於咨詢方向,其實學不學問題不大。

5. 時髦的手機物聯網開發。

實話實說,目前python在移動前端的優勢並不大,涉及後端開發api介面、網站等方面,還是簡約不簡單。培訓機構謊言之之二:python是開發APP,大型游戲的語言,還說某寶某陌某微APP是python開發的。基本上是扯***。服務於APP和游戲的API網站是用python開發的我信,大品牌安裝到手機上的APP程式真心很少用python來寫,游戲的邏輯部分用python寫的也有比如:文明四,網易一些網游,但核心引擎都是外採或用C語言寫的以供python調用,python能開發APP不假,但由於開發,部署,功能都不太方便,很少被大廠去使用寫APP。同樣,物聯網應用也有把python寫入晶元的騷氣操作,比如MicroPython。但絕大部分python還是作為測試工具、API平臺的編寫語言,而不直接往終端設備里寫程式。 Python只是天上那一朵雲,你的設備用的雲,是它開發的。

6. 提升辦公技能。

這就到了我們第三個謊言:python運行效率高,能瞬間處理幾百個表格,我學會python後把原來十幾個小時EXCEL工作量幾秒就完成了。debat這個慌言這分兩塊:

首先從python來講,能提升辦公技能完全不假,處理數據卻不是最快的,它的代碼運行效率在編程語言中最差。它本身是由C語言編寫也是解釋性語言,因此對於運算要求高的深度神經網路和3D游戲程式需要編譯或轉成C語言來運行,當然它處理辦公數據時這點差距並不重要,會在意那0.1秒的回眸呢?(除非是美女)python要處理word,excel需要依賴大量第三方庫,由於微軟的文件格式變化較多,存在大量相容性問題,DEMO中老師給的都是優化後數據,你工作中會碰到大量問題,比如excel的97格式不認,公式讀不出來,合併單元格數值不對,日期不識別……為了一個小問題你要耗一天,這種門檻老師可不會給你手把手解決(我會),開源軟體的版本也多,每個版本之間的相容性也有差別,你可能用了最新的版本,但不一定工作的很好。

第二,從辦公軟體方面講。微軟的辦公系統已經內置了非常強大的功能,無代碼化的操作已經非常方便,任何使用編程軟體完成的功能,現在已經90%可以使用內置的滑鼠點擊及拖拉完成。EXCEL可以使用PowerPivot可以分析生成百萬級數據圖表,其中數據透視表可以實時的給你統計和分析內容,再搞不定可以連接sql資料庫學點SQL語言才是正道;Word可以使用郵件合併功能,一次性生成幾十篇請貼,也可以引入變數插入文檔……學好這些內功,比使用外部工具來操縱它更能體現效率。你能想象幾分鐘能完成的拖拉數據視圖,要用Python搞一個小時還不能用在其它類型的EXCEL表中的痛苦麽。另外。微軟的一系列編程工具裡面,對office組件可以做到無縫支持,VBA可以完成一些自動化的功能,再複雜的C#也可以輕鬆編程搞定,而且很少出現各種問題。

在辦公上Python優勢在大數據和功能整合(膠水語言特點)方面明顯,利用Python可以快速處理簡單而大量的數據,類似於大數據處理,複雜的數據處理通過與資料庫的連接來完成,可以迅速搭一個收集數據、處理的平臺(當然微軟的SharePoint也可以)。但一條原則,這是在學好Office前提下,此時估計你已經能處理99%辦公上的問題。

問題三 怎麼學?

靠自己,靠實踐。古語有雲:“耳聞之不如目見之,目見之不如足踐之。” 只有自己親身完成的事情才會在大腦中形成迴路,上帝不會讓你付他8.9元告訴你,怎麼造世界。創造Python世界,只有你自己才可以。所謂跟著老師寫代碼,然後分享朋友圈,無非是給自己的心理找安慰,結合自己的體驗才是真功夫。學習編程好處是寫的代碼可以立即實踐運行給你點亮成就感,我們首先要做的就是給自己建立一個逐步深入的小任務組,在每完成一個任務後檢查自己與高手的區別,並且更進一步不斷迴圈迭代加深。

舉個慄子:如果你是無敵小學生,為了占領這個世界,咱先定一個小目標:造計算器。
那麼目標集合可以這麼層層設計。

1、原理:在程式中進行計算 (學會了基本的計算語句)

計算原理


2、簡陋計算器:用戶輸入算式能計算 (學會了輸入輸出和eval語句)
3、容錯計算器:輸入錯誤能識別(條件)
4、成品計算器:出結果後等待下次輸入(迴圈)


5、豪華皮膚:畫出計算器的界面(pygame作圖)
6、激活按鈕:根據滑鼠點擊計算器按鈕顯示數字(pygame事件)
7、豪華計算器:完成計算器的製作(pygame文字貼圖和計算)


豪華計算器

 

通過上面的7個步驟,就可以在一周內製作出如上圖精美的計算器,全程靠自己的知識逐步積累,學會這個任務後,才會發現python其實很簡單。

小牛叔根據自身的學習經驗,總結提練學習編程三步曲:

1、選好能逐步點亮成就感的小任務
2、獨立網上找資料完成,不斷迭代
3、讀源碼檢查你和高手的區別

通過完成簡單的任務後,你自然會知道如下幾點:

1、python錯誤了到哪裡檢查錯誤
2、新的python知識到哪裡找資料
3、我的任務python到底能不能完成
4、以後自學的方向是什麼

歡迎關註小牛叔,共同探討在學習之路的經驗,避免學習的坑。

漁與魚誰更重要?


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors 調整一下導入順序 import gevent from gevent import monkey monkey ...
  • RecursionError: maximum recursion depth exceeded while calling a Python object 超過了Python的最大遞歸深度。 import sys sys.setrecursionlimit(按需定義次數) ...
  • 參考:https://stackoverflow.com/questions/38237777/django-timezone-now-vs-timezone-now ...
  • 獲取系統硬體 裡面的參數是啥意思自己去查吧,沒怎麼深入去瞭解 ...
  • 一、使用UML表示InputStream和OutputStream的繼承結構圖 二、使用UML表示Reader和Writer的繼承結構圖 三、FileInputStream舉例 package com.bjpowernode.java_learning; import java.io.*; ​ pu ...
  • 前言 考慮一個功能業務,在 程式中向指定的某個用戶進行實時通訊 在Web運用的 通訊功能中(如線上客服),為保證點對點通訊.而這個看似簡單的根據用戶尋到起 通道實際會碰到不少問題 1. web程式中的 協議是無狀態的 2. 一般項目中 服務和 項目是獨立部署的 3. 連接存在重連的情況,而 對象每次 ...
  • 1. Spring依賴註入方式 今天這裡主要講解一下Spring框架中的依賴註入的多種方式及相關的一系列配置,這也是Spring這款輕量級DI、IOC的Bean容器框架的核心魅力所在。 Spring依賴註入方式這裡著重說明一下構造器參數註入、多類型(Arrays、Set、List、Map、Prope ...
  • 1 簡介 判斷一個字元串是否包含某個特定子串是常見的場景,比如判斷一篇文章是否包含敏感辭彙、判斷日誌是否有 信息等。本文將介紹四種方法併進行性能測試。 2 四種方法 2.1 JDK原生方法String.indexOf 在 的函數中,提供了 方法,返回子串 第一次出現的位置,如果不存在則返回 1。例子 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...