python天天練1(Python零基礎自學)

  • 1、Python入門編程(1)變量
  • 2、python最佳入門教程(1): python的安裝
  • 3、如何自學 Python

在開始本次的學習之前,我們先運行一下Test1.py。程序輸出了 helloworld ,下面我們再進行一些更深入的思考,當這個文件被運行時,Python都做了些什麼。

Test1.py

在運行這個文件時,它的 .py 後綴說明這是一個Python程序,因此 編譯器 會使用 Python解釋器 來運行它。接着解釋器會讀取整個程序,並且確認其中每個單詞的含義。比如在這個程序中解釋器遇到了 print() 這個單詞,它便會把括號內的內容打印出來,而不管括號裏面是什麼。

在你編寫程序時,編譯器在會把程序中每個不同的不同用不同的顏色顯示。比如 :

print (” helloworld “)

這種非常實用的方法叫做 語法突出 。

以上這些內容只是需要進行理解即可,接下來的內容我們便需要認真學習了。

讓我們對 Test1.py 稍加修改,在這個程序中加入一個變量 sentence , 並且對print函數內的內容稍加修改,以便於讓我們更好的認識變量。

通過這個程序的運行結果我們可見,修改之後的程序與先前的程序輸出相同。在這裡我們添加了一個名為 sentence 的變量,可知:

每個變量都儲存了一個對應的值,這個值就是與變量相關聯的信息。

現在我們對這個程序再加一點點的修改:

此時可以看出,同一個變量進行了兩次不同的輸出,這便是:

你可以隨時在程序中修改變量的值,並且Python將變量的最新值記錄下來。

程序員幾乎每天都會犯錯,下面這是一種我們初學階段很有可能反的錯誤,下面我們來了解並學習如何解決它。

我們來看看這個新的程序。

Test2.py

在程序出現錯誤時,編譯器無法對其進行下一步編譯,此時編譯器便會返回給我們一個 Traceback 。其是一條記錄,它會解釋器在運行代碼時在哪裡陷入困境,以上我提供的便是變量名拼寫錯誤所被提供的 Traceback 。

編譯器已經指出,在我運行Test2.py這個程序時,我們想輸出的變量 sentece 並未被定義,程序無法找到識別我所提供的變量名。

名稱錯誤的兩種情況:1.在使用變量前未給變量賦值。2.變量名拼寫錯誤。

在我這個提供的例子中,我們只需要將 sentece 修改為 sentence 便可以使程序正確運行了。

在創建程序中的變量名和編寫代碼時不必遵循英語的語法與拼寫規則。

其實絕大多數的報錯無非是在程序的某一行多寫或少寫一個字符,或是一些邏輯性的錯誤。在閱讀Traceback以及尋找解決這些Bug的方法時我們應當 耐心 和 冷靜 。這樣會提升你解決問題的速度。

本次的文章對變量進行了初步的認識與學習,在接下來的文章中,我們將對更多Python中的相關知識進行闡述與學習。

本次的文章就先寫到這裡,下次我們將會進行對 數據類型 的學習。

本教程基於python3.x, 是針對初學者的一系列python入門教程,在知乎上常有人問我計算機該怎麼學,如何自學編程,筆者也是通過自學編程而進入IT這一行業的,回顧入行的這幾年,從音視頻流媒體輾轉到人工智能深度學習,機器視覺,我是下了不少苦心的,對於如何學習有自己的一套理論和實踐方法,很多人自言學編程不得其門,把學不會歸咎於天分,其實芸芸眾生,智力無別,你現在所看到的是技術大牛們一個個超凡絕頂(然知此絕頂非彼絕頂),看不到的是曾經的他們,也在每個晝夜裡用心苦學。再者學一門技術,需要勤學刻苦,是需要講究方法和基礎的,方法對了就事半功倍,所謂的天才也無不是建立在紮實的基礎之上。

在windows中安裝python

首先打開python官網,點擊頁面downloads導航按鈕,下載windows最新的基於web安裝的安裝器,右鍵以管理員身份運行 安裝包,會出現如下界面:

將Add Python 3.7 to PATH 進行勾選,勾選此項的目的在於將python解釋器加入系統環境變量,則在後續的python開發中可直接在windows 命令行中執行python腳本。所謂的環境變量是系統運行環境的一系列參數,比如這裡的系統環境變量是PATH,PATH保存了與路徑相關的參數,系統在路徑查找中,會對PATH保存的路徑進行搜索。

點擊install Now按鈕執行python的安裝

打開windows命令行界面(按windows鍵輸入cmd命令),輸入python -V,出現python版本的相關輸出,即表示安裝成功。

在Linux系統中安裝python

筆者的系統是CentOS, Linux系統默認有安裝python,但是其版本是2.x,在這裡筆者以源碼安裝的形式來安裝python 3.X。首先進入python源碼包頁面 點擊下載最新的gzip格式的python源碼包,上傳到服務器然後進行解壓,解壓後的目錄結構如下圖所示:

Linux中的configure與make

configure是Linux中的腳本配置工具,用來對源碼的當前安裝環境進行檢測,若檢測無誤,會在當前目錄生成一個供源碼編譯的Makefile腳本文件。

make是Linux系統下的編譯安裝工具,用來解釋執行makefile文件中的腳本命令,編譯命令。

現在我們開始編譯安裝python

(1) 在當前目錄執行./configure(2) 輸入 make sudo make install

若無指定安裝目錄,python會被默認安裝在/usr/local目錄中, 讀者可以執行./configure –prefix=「你自定義的安裝目錄」來配置安裝路徑。安裝完畢以後進入/usr/local/bin目錄,輸入 「python3.x -V」 (這裡的python3.x為你所安裝的python版本),若出現與python版本的相關輸出,即表示安裝成功。

為安裝的python設置軟鏈接

安裝的python可以以絕對路徑的方式來執行,每次敲一大段路徑來執行python未免麻煩,通常我們會給安裝的python設置軟鏈接,這裡的軟鏈接類似於windows的快捷方式。

輸入以下命令來給python設置軟鏈接,筆者安裝的版本是python3.7, pip是python的包管理工具,會在教程的後續章節中進行詳細講解。

ln -s /usr/bin/python3 /usr/local/bin/python3.7 # 表示設置python3 為 /usr/local/bin/python3.7的快捷方式ln -s /usr/bin/pip3 /usr/local/bin/pip3.7 # 表示設置pip3 為 /usr/local/bin/pip3.7的快捷方式

其實python非常適合初學者入門。相比較其他不少主流編程語言,有更好的可讀性,因此上手相對容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多「重複造輪子」的工作,可以更快地寫出東西。

我是真正零基礎開始學Python的,從一開始的一竅不通,到3個月後成功搭建了一個動態網站(沒有用任何框架)。相比於計算機大牛,我更加知道一個小白將會遇到什麼坑,遇到哪些難點。我把我的學習過程寫在下面,並附上在每個階段的學習資料,希望對零基礎的Python學習

想學習編程但不知如何開始的朋友。回答這類問題的人往往只是列出書單資源然後給出一個大致的方向。有些朋友一開始就扎入了理論學習的汪洋大海,從苦讀類似《算法導論》開始,能夠堅持讀下來的寥寥無幾,學習的積極性也被不斷的挫敗感消磨的所剩無幾。可以加Python技術直播裙【三零四零五零七九九】 群里大佬生動的講解可以讓你思路更清晰,互動直播,遇到問題裏面有大佬解答指導!

一直以來,編程對我而言是一種「黑魔法」般的存在。今年阿里月餅門,當很多人都參與到是非之爭的時候,我更加着迷於程序員區區幾行代碼的腳本所展現出的威力,對於外行而言,這是超乎他們想像之外的某種能力——為什麼我守在電腦面前盯着秒針然後拚命點擊鼠標都不一定能搶到的禮物,程序員只需要提前花5分鐘寫3行代碼就輕鬆搞定?

所以,我的心底深處一直都想變成這樣的一位魔法師。今年的8月,剛好工作上想要開發一個基於微信的英語學習網站,藉此機會,我決定好好學習一下編程。在此之前,我所有關於程序的知識僅僅來源於兩部分,一是本科時期的C語言必修課,現在已經忘的一乾二淨,不過好歹我從中明白編程是怎麼回事;第二部分是大概兩年前由於工作關係學的一些Python,不過只是皮毛,現在忘的七七八八。

簡單說,我的目標是建立一個網站,不過這個網站是動態的,也就是說它能識別誰登陸,然後對不同的人顯示不同的內容。而當時的現實是,我完全不明白網頁是如何顯示出來的?譬如每個人登陸知乎的時候看到的是定製化的頁面,後台是如何基於每個ID來組織出不同的頁面的?所有我們看到的問題,回答,參與的評論在背後的服務器上是以一種什麼樣的形式存在的?又比如為什麼有些頁面只能在微信端打開,在電腦上就會出錯?(不知道你有沒有發現這一點)

當時我的心中充滿了無數個類似的問號?當然如果你也是小白,一定有着同樣的疑問。

好處是一開始就明確了學習的目的:Web建站。所以我的學習方案基本就是通過做項目學習,哪裡不懂就解決哪裡,邊做邊學習,不斷推進。另外,由於知道很多成功的網站在用Python做服務器開發,比如知乎,所以我就自然選擇了Python。

於是我就開始了我充滿着挫敗感和成就感的編程之路……

從8月到12月的四個月里,除去本來的工作,為了學習質量,我會保證平均每天4個小時的學習時間,周末也不例外。另外,所有的文檔,問答都盡量看英文的,這可以幫你剩下大量的時間。12月13日,我做的網站上線了,3天時間大概有5000人訪問了這個網站,我有時在後台看着日誌,不免有些心潮噴涌,我想把自己的經驗寫下來,希望對於那些有心學習編程但無從下手的朋友提供一些幫助和鼓勵。

現在回頭看,我認為這一段時間的造輪子是提升編程能力最快的時候。比如為了寫ORM,就必須去花很多時間學習SQL,去了解Python裏面的metaclass,而如果用一個現成的框架,我很有可能偷懶不去關注某些細節。而不出問題還好,一旦出問題,我就只能跪。另外,造輪子迫使我在開始的時候就構思整個框架,因為我必須儘可能的考慮到所有的情況,於是就會不斷的強迫自己完善知識體系,和別人的代碼作對比從而改進自己的,這個過程充滿了無盡的挫敗感,但是得來的成就和快樂也是無可比擬的。

關於自學python

個人最大3點經驗

1. 找一本淺顯易懂,例程比較好的教程,從頭到尾看下去。

不要看很多本,專註於一本。把裏面的例程都手打一遍,搞懂為什麼。我當時看的是《簡明python教程》,不過這本書不是非常適合零基礎初學者。

2. 去找一個實際項目練手。

我當時是因為要做一個網站,不得已要學python。這種條件下的效果比你平時學一門新語言要好很多。所以最好是要有真實的項目做。可以找幾個同學一起做個網站之類。注意,真實項目不一定非要是商業項目,你寫一個只是自己會用的博客網站也是真實項目,關鍵是要核心功能完整。

3.最好能找到一個已經會python的人。問他一點學習規劃的建議(上知乎也是個途徑),然後在遇到卡殼的地方找他指點。

這樣會事半功倍。但是,要學會搜索,學會如何更好地提問。沒人願意幫你寫作業或是回答「一搜便知」的問題。

然而,別人的經驗未必能完全複製。比如我沒有說的是,在自學python之前,我已在學校系統學習過其他的編程語言。

對於完全沒有編程經驗的初學者,在學習python的時候,面對的不僅僅是python這門語言,還需要面臨「編程」的一些普遍問題,比如:

· 從零開始,不知道從何入手,找了本編程教材發現第二章開始就看不懂了

· 缺少計算機基礎知識,被一些教程略過的「常識性」問題卡住

· 遇到問題不知道怎麼尋找解決方案

· 看懂語法之後不知道拿來做什麼,學完一陣子就又忘了

· 缺少數據結構、設計模式等編程基礎知識,只能寫出小的程序片段

所以除了前面說的3點經驗,

給編程初學者的額外建議

1、首先要有信心。雖然可能你看了幾個小時也沒在屏幕上打出一個三角形,或者壓根兒就沒能把程序運行起來。但相信我,幾乎所有程序員一開始都是這麼折騰過來的。

2、選擇合適的教程。有些書很經典,但未必適合你,可能你寫了上萬行代碼之後再看它會比較好。

3、寫代碼,然後寫更多的代碼。光看教程,編不出程序。從書上的例程開始寫,再寫小程序片段,然後寫完整的項目。

4、除了學習編程語言,也兼顧補一點計算機基礎,和英語。

5、不但要學寫代碼,還要學會看代碼,更要會調試代碼。讀懂你自己程序的報錯信息。再去找些github上的程序,讀懂別人的代碼。

6、學會查官方文檔,用好搜索引擎和開發者社區。

原創文章,作者:FYEAU,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126630.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FYEAU的頭像FYEAU
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論