導航:首頁 > 編程語言 > 單擺運動的python編程

單擺運動的python編程

發布時間:2024-04-18 16:22:22

❶ 灝忕悆鍗曟憜榪愬姩鐢╬rocessing鎬庝箞鍋

灝忕悆鍗曟憜榪愬姩鐢╬rocessing鎬庝箞鍋
灝忕悆鍙楅噸鍔沵g鍜岀懷鎷夊姏T
灝忕悆娌垮渾寮ц繍鍔
鍚戝績鍔 Fn=T-mgcosa
鍥炲嶅姏涓哄垏鍚戝姏 F=mgsina
鍥犱負a寰堝皬錛坅<5擄錛夊渾寮у彲榪戜技鐪嬫垚鐩寸嚎,鍔涘彲榪戜技鍦扮湅鎴愯嶅皠鏉$洿綰誇綔鐢,
OA灝辨槸灝忕悆鍋忕誨鉤琛′綅緗鐨勪綅縐粁,璁炬憜闀誇負L,sina=x/L,鍒
F=-kx=-mgx/L , k=mg/L
浠e叆綆璋愭尟鍔ㄥ懆鏈熷叕寮
T=2蟺鈭(m/k)=2蟺鈭(l/g)

python背後是一項科技運動

比較官方的說法,python是一種解釋型語言,解釋型語言是指代碼一行一行的解釋執行,就好像有個 同聲傳譯 ,你每說一句話,他都能不間斷地給你翻譯,把你說的話(意指寫好的代碼)翻譯成機器能夠理解的語言。對於機器來說,這些翻譯後的語言就是機器語言,就是指令,機器收到指令後,就會根據指令執行對應的操作。

與解釋型語言相對的,有編譯型語言,編譯型語言則通過編譯器先將代碼翻譯成機器語言,再交給機器去執行。舉個例子,我方主持了一個會議,參會的分別有英國人、俄國人和西班牙人,他們三方都帶了自己的同聲傳譯。假如是解釋型語言呢,我在開會的時候用一種每個同聲傳譯都聽得懂的的語言,也就是一種官方用語。這樣我可以不間斷地用這種語言來做交流,因為這些翻譯人員都會為這三國參會人員同步翻譯成目標語言,你應該也注意到了,解釋型語言類似於一種通用的語言。而如果是編譯型語言呢,我會讓我這邊的3個翻譯人員將我的一份中文演講稿,分別翻譯成英文版的、俄文版的和西班牙語版的,在開會的時候,我只要交給參會的國際友人去翻閱就好了。解釋型語言側重的是一種通用的、能夠實時解釋翻譯的特性,而編譯型語言側重的是有針對性、提前准備的特性。然而,在開會的時候,解釋型效率是沒有那麼高的,因為需要同聲傳譯消耗時間去做翻譯,而編譯型的效率會高些,因為翻譯工作已經在開會前做好了,只需要參會人員理解並且執行就好。


1989年的聖誕節,荷蘭程序員Guido van Rossum( 吉多·范羅蘇姆 ,以下簡稱吉多)在家休假無聊,為了打發時間,他開發了一種新的解釋型語言。可見,該程序員無聊的時候,就是寫代碼。因為作者非常喜歡 Monty Python's Flying Circus (巨蟒劇團之飛翔的馬戲團,這是英國的一個電視喜劇),就拿python作為這個新語言的名字。我想大家不一定都知道這部喜劇,但是可能都聽說過python,可能微信在幾天前給你推過python相關的培訓廣告,可能一些學校已經將掌握python基礎概念作為一門選修課,可能你的智能家居里的操作系統有一部分核心代碼是用python實現的,可能你的手機里有一個插件也是用python實現的,python現在的應用范圍非常廣泛,功能也非常強大。

吉多之前在 荷蘭數學和計算機科學研究學會 上班,在那裡,他為ABC編程語言工作了好多年。 ABC語言長這樣的

這是一個函數,你也許看不懂,根據英文單詞,或許可以大概猜出點什麼。這里只想讓你知道,python也差不多長這樣,相比較會更容易理解些。

ABC雖然是一門編程語言,它的定位是作為教學或原型設計的工具,是專門為學校老師或者科研人員設計的。ABC的定位決定了它受眾不是很廣泛,並且它也有使用門檻,對計算機不了解的人,沒有經過一段時間的學習,可能根本就上不了手。所以,ABC並不能作為一門通用的編程語言,在業內也無法獲得成功。雖然說ABC沒有python那麼成功,但是ABC可以說是"the mother of python",作者在很多地方都借鑒了ABC,取其精華、取其糟粕。現如今,python是長這樣的

可能對於沒接觸過編程的人來說,它們兩不都是一樣的,不都是一堆英文字母么,我都看不懂。但是對於初學計算機課程,那些需要學習C語言的人來說,python相比較算是更容易理解了。python非常簡短,一些復雜的流程,在C語言中,可能需要幾十行代碼,但是在python中,可能就只需要幾行代碼。當然不同的業務場景,可能不是這樣的,但是普遍情況下,用python的開發效率是非常高的。python適合快速開發,適合產品快速迭代出新。

1999年1月,也就是語言面世的10年後, 吉多 向DARPA(Defense Advanced Research Projects Agency,美國國防部一個負責科研的下屬機構)申請資金。我去翻了下該申請的修訂版,修訂版在1999年8月份提交,修訂版比第一版內容更具有概括性,並且內容翔實,條理清晰,值得翻閱。

該修訂版叫 Computer Programming for Everybody ,直譯過來,就是針對每個人的計算機編程,翻譯為通俗易懂的詞——人人編程,人人編程是一種 社會 現象,每個人都有一定的編程能力,並且對計算機有一定的認識,了解軟硬體是怎麼運轉起來的,了解一些軟硬體的設計規范,能夠通過編程來表達自己的想法,能夠通過編程來配置自己的軟體,通過編程來控制自己的機器,以改善自己的生活。舉個例子,你在某寶買了一個掃地機器人,該機器人支持定義打掃路線,支持設置掃地機器人在需要更換掃把的時候,指示燈顯示指定的顏色。你知道掃地機器人可以做什麼,有什麼操作習慣,這是基於你對一些機器的理解,如果你用過很多軟體,或者參與過軟體的設計,你大概都知道一些軟體可能都有「設置」、「編輯」或「幫助」等菜單鍵。這種設計思維,或者操作習慣,都是很多軟體都有的,有了這種認識之後,你面對很多同類型的軟體、或者同類型的產品,就大概能夠知道從那裡入手,以及對它有什麼功能,都有一個初步的期待或者認識。既然大家都了解計算機了,那麼計算機的一些概念或者說是理念,可以說是屬於常識的一部分,面對一些計算機或者說智能設備,也大概知道從哪裡上手使用。我覺得這就是作者要達到的願景。

該修訂版主要有幾個目的:

在這里,他想從推廣python開始,因為python作為一門適合快速開發的工具,既適合專家,也適合初學者,同時python有一個活躍的且不斷增長的用戶群體,這個用戶群體對他這個申請也非常感興趣,願意為之努力。python的用戶數多,說明已經在市場得到了一定的認可,並且這個用戶群體也願意為python的發展做貢獻,這對於一門編程語言來說,最好不過了。

該提案的 基本論點 部分寫得很好,他說他想普及計算機應用,但並非通過介紹新的硬體,或者新軟體這種形式,而是通過賦予每個人編程能力來實現。信息技術的發展給了人們各種強大的計算機,它們以桌面電腦、筆記本電腦或者嵌入式系統的形式存在,如果用戶在軟體設計和實現上有一個通用的認知,那將會極大地促進生產和創造,並且對未來有深遠的影響。試想一下,如果你有一種修改和配置軟體的能力,並且你可以把你的修改通過社區網站分享其他人,其他人碰到同樣的問題的話,就可以參照你的方法。這種能力在緊急的情況下是很重要的,你不必等專家來給你解決問題,你自己就可以嘗試解決這些問題。說到這里,你有沒有想起貼吧,或者論壇,論壇有很多個板塊,不同的領域分不同的板塊,假如你想root手機(手機越獄,指解除手機廠商的限制,獲取手機的用戶最高許可權,以實現對手機的某種控制),你可以到論壇上root板塊找答案,這種形式可謂跟吉多提到的是一樣的。如果你對你的手機或者電腦有更深入的了解,你可以通過編程改善你的輸入法,或者改變你的顯示器冷暖色等等,這些都是對你生活有幫助的。吉多在這里就是想達到這種狀態,簡單點說,人人都對計算機有一定的了解,且都有處理計算機問題的能力。

為了實現這個目標,作者制定了5年計劃,這個5年計劃如下:

5年計劃循序漸進,由淺入深。1999年3月,美國國防部對此進行了回應,同意撥款給他。作者的5年計劃在1999年底開始實施,雖然想推進5年,但是只收到1年的資金支持。不過,作者還是沒有放棄這個項目,一直推進,直到他不再參與python的工作。當時美國國防部對他們提供了多少資金呢,我沒看到官方公開的數據。2013年有報道稱,DARPA向Continuum Analytics提供3百萬美元的支持,讓該公司給python開發數據處理以及數據可視化工具。具體數字是否可靠,這個尚不清楚,但管中窺豹,可見美國國防部對該項目表示認可,並提供了資金支持。Continuum Analytics有一個比較有名的工具,叫Anaconda,Anaconda可以理解為是python + 各種科學計算庫的工具箱,Anaconda官網有這么一句話

翻譯為「Continuum Analytics的Anaconda是使用python的、領先的開源科學計算平台,我們賦予那些正在改變世界的人超能力。」

在查資料的時候,我發現了一個wiki論壇, 該論壇對該項目進行了評價,論壇列出了該項目成功的地方和失敗的地方,以及一些 社會 人士的看法。論壇這樣總結道,這個項目成功的地方在於:

這個項目失敗的地方在於:

回想自己初學python的時候,我覺得這個總結是很公正的。python確實容易入門,有編程基礎的人可能只需要一個星期就能掌握python的一些基本語法。相比C語言,python對於初學者是很友好的,很容易讓人上手。但是,要深入理解python,並沒有這么簡單,需要花很多時間去磨練。接手一個使用python的項目,你需要花一些時間精力去熟悉,去摸透裡面的邏輯,這對於初學者來說,是無法避免的。 對於一個程序員來說,作者能想像到以後計算機的普及應用,以及用戶的認知水平,還有他能夠做什麼,通過什麼來實現,能有這些遠大的抱負,這是非常不容易的。西方世界經常說到「change the world,make the world a better place」,作者也確實做到了,他設計的python在計算機世界裡扮演者一個非常重要的角色。如果通過 科技 能夠改變世界,那麼python就是改變世界的其中一步。1980-2000年,美國對 科技 公司是政策扶持、技術擴散,這期間涌現了如IBM、HP、思科等 科技 公司,大家熟知的微軟和蘋果都是在這期間上市的。python可以說是這個 科技 運動的一個縮影,在 科技 浪潮的推動下,python得到了長足的發展。

很多 科技 或工業相關的網站會根據當年編程語言的流行度做下排名,它們會列出當年在業界最受歡迎的編程語言。其中,IEEE Spectrum 和 TIOBE 的2021年度編程語言是python,如果我還沒記錯的話,TIOBE的2020年度編程語言也是python。可見python是非常受歡迎的,用現在的話講,就是「網紅」編程語言。現在,很多計算設備上都有python的身影,小到智能家居、手機、智能手錶,大到鋰電車、工控車床、甚至太空梭都有python的身影。你可能在瀏覽網頁的時候,右下角彈出一個「7天python入門」的廣告,可見python現在還是有很多需求,因為有需求,所以才有人去投廣告,才會有人去找培訓機構。

作者在給美國國防部的提案中寫到,他想跟高中或大學展開合作,設計一些python的課程,針對不同年級,設計不同水平的課程。現在來看,他確實是做到了,現在哈佛、密歇根大學等排名靠前的大學,都有python課程,python在這些大學的CS(計算機科學)課程中應用非常廣泛,可以說是作為CS導論的一個教學工具。在一些比較高級的課程,比如數據科學、人工智慧等都可以看到python的身影,這是因為學術界以及工業界為python提供了一些處理科學計算和大數據的工具,這也歸功於美國國防部的支持。美國有許多編程夏令營,針對不同年齡段有不同的課程,並且也有許多支持python代碼的編程競賽。Google在coursera上有一個面向初學者的課程,該課程叫 Google IT Automation with Python,完成課程大約需要 8 個月,課程建議每周花5小時學習,課程結束後就可以獲得Google頒發的證書。可見,不管是工業界,還是教育界,都對python有不同程度的支持。這里打個岔,第一版的Google搜索引擎還是用python寫的,作者也在Google工作了一段時間。

現如今,每隔一段時間,就有一個PyCon活動,這個活動匯聚世界各地的開發者,每年都有開發者來展示他們使用python的成功案例,或者表達自己對python的新功能或者缺陷的看法。可見,python用戶社區一直都是很活躍的。這讓我想到了某新能源 汽車 ,該 汽車 用戶有很高的粘性,有一位車主跟我說過,他們有一個微信群,裡面有該新能源 汽車 的高管,很多車主樂意在裡面指出問題,或者提建議,因為這些高管會對問題或者建議做出相應的反饋。用戶願意提意見,產品經理願意廣開言路,採納多方建議,實屬不易。python社區也差不多如此。

幾年前,你是否看過一個新聞,《人工智慧「網紅」編程語言Python進入山東小學課本》,這是2017年澎湃網的一則新聞,裡面講了python進入了山東省小學六年級教材,作為一門「網紅」編程語言,它是否適合低齡學生,這個倒是沒細說,但是可見國內有些地方是把編程作為一種比較基礎的能力來考量。python往低齡階段滲透是否合適呢,我在翻資料的時候瞥到韓國高麗大學的一篇論文,論文講述小學生在學習python的過程中會碰到一些困難,比如經常少打了一些括弧,經常拼錯單詞,經常碰到語法錯誤,以及對這些現象的看法。還有,南京師范大學有一篇報道,講述了中學生學習在學習python時,採用面向問題的學習模式,我理解是case by case的教學模式,這種模式有利於學生培養學生的計算機思維,以及幫助他們理解一些計算機相關的概念,解決計算機相關的問題。

python是否適合低齡學生呢,我覺得這個是值得討論的話題。最後還要問你一句,你會讓你的小孩學習python么,從什麼時候開始學呢?你的娃因為不知道打多少個括弧嚎啕大哭時,你能幫得上忙么?你到時候需要專門請一個程序員來給你的娃做家教么?


https://zh.wikipedia.org/wiki/Python%E8%BB%9F%E9%AB%94%E5%9F%BA%E9%87%91%E6%9C%83

https://www.python.org/psf/

https://www.computerworld.com/article/2711690/python-gets-a-big-data-boost-from-darpa.html

https://legacy.python.org/doc/essays/omg-darpa-mcc-position/

https://legacy.python.org/doc/essays/blurb/

https://www.python.org/doc/essays/cp4e/

http://wiki.c2.com/?

https://koreauniv.pure.elsevier.com/en/publications/an-analysis-of-the-difficulties-of-elementary-school-students-in-

https://www.frontiersin.org/articles/10.3389/fpsyg.2021.771221/full

https://zh.wikipedia.org/wiki/%E7%BB%88%E8%BA%AB%E4%BB%81%E6%85%88%E7%8B%AC%E8%A3%81%E8%80%85

https://gvanrossum.github.io//

http://neopythonic.blogspot.com/2016/04/kings-day-speech.html

https://www.artima.com/intv/guido.html

https://www.htsec.com/jfimg/colimg/upload/20200113/68981578882847978.pdf

閱讀全文

與單擺運動的python編程相關的資料

熱點內容
三星qx2是什麼安卓系統 瀏覽:203
保鮮膜解壓球教學視頻 瀏覽:601
多媒體演算法工程師camera 瀏覽:987
電腦下載的歌可以拉到文件夾嗎 瀏覽:722
千鋒3g學院android 瀏覽:445
linux中的yum命令 瀏覽:239
壓縮面膜有幾種 瀏覽:575
怎麼更改安卓程序級別 瀏覽:393
安卓系統運行慢怎麼辦呢 瀏覽:808
外地人在買車本地可以解壓嘛 瀏覽:907
相冊軟體加密怎麼取消 瀏覽:251
麥克風app怎麼打開 瀏覽:22
java泛型t和 瀏覽:356
計算機英文pdf 瀏覽:587
單片機控制的直流調速系統 瀏覽:130
抖音上解壓視頻書單號怎麼做 瀏覽:165
軟體加密之後忘了密碼怎麼辦 瀏覽:944
文件夾怎麼彈出來的 瀏覽:209
51單片機引腳圖電路 瀏覽:214
麥當勞員工怎麼登錄app 瀏覽:530