python天天練2(python訓練館)

本文目錄一覽:

如何自學 Python

其實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、學會查官方文檔,用好搜索引擎和開發者社區。

40道python二級考試真題火爆互聯網,完整版答案解析為你保駕護航

1.以下關於程序設計語言的描述,錯誤的選項是:

A Python語言是一種腳本編程語言

B 彙編語言是直接操作計算機硬件的編程語言

C 程序設計語言經歷了機器語言、彙編語言、腳本語言三個階段

D 編譯和解釋的區別是一次性翻譯程序還是每次執行時都要翻譯程序

正確答案: C

2.表達式 1001 == 0x3e7 的結果是:

A false

B False

C true

D True

正確答案: B

3.以下選項,不是Python保留字的選項是:

A del

B pass

C not

D string

正確答案: D

4.表達式 eval(‘500/10’) 的結果是:

A ‘500/10’

B 500/10

C 50

D 50.0

正確答案: D

5.表達式 type(eval(‘45’)) 的結果是:

A

B

C None

D

正確答案: D

6.表達式 pmod(20,3) 的結果是:

A 6, 2

B 6

C 2

D (6, 2)

正確答案: D

7.以下關於字符串類型的操作的描述,錯誤的是:

A str.replace(x,y)方法把字符串str中所有的x子串都替換成y

B 想把一個字符串str所有的字符都大寫,用str.upper()

C 想獲取字符串str的長度,用字符串處理函數 str.len()

D 設 x = ’aa’ ,則執行x*3的結果是‘aaaaaa’

正確答案: C

8.設 str = ‘python’,想把字符串的第一個字母大寫,其他字母還是小寫,正確的選項是:

A print(str[0].upper()+str[1:])

B print(str[1].upper()+str[-1:1])

C print(str[0].upper()+str[1:-1])

D print(str[1].upper()+str[2:])

正確答案: A

9.以下選項,不屬於程序流程圖基本元素的是:

A 循環框

B 連接點

C 判斷框

D 起始框

正確答案: A

10.以下關於循環結構的描述,錯誤的是:

A 遍歷循環使用for in 語句,其中循環結構不能是文件

B 使用range()函數可以指定for循環的次數

C for i in range(5)表示循環5次,i的值是從0到4

D 用字符串做循環結構的時候,循環的次數是字符串的長度

正確答案: A

11.執行以下程序,輸入”93python22”,輸出結果是:

A python9322

B python

C 93python22

D 9322

正確答案: C

A la

B 請輸入整數

C pythonpython

D python

正確答案: C

A 2

B 請輸入q退出:

C 3

D 1

正確答案: A

14.以下程序的輸出結果是:

A 0

B 2

C UnboundLocalError

D 5

正確答案: A

A 18 None

B 10 18

C UnboundLocalError

D 18 18

正確答案: B

def test( b = 2, a = 4):

global z

z += a * b

return z

z = 10

print(test(),z)

18,18

17.以下程序的輸出結果是:

A 22.0 None

B 10 None

C 22 None

D 10.0 22.0

正確答案: B

18.以下表達式,正確定義了一個集合數據對象的是:

A x = { 200, ’flg’, 20.3}

B x = ( 200, ’flg’, 20.3)

C x = [ 200, ’flg’, 20.3 ]

D x = {‘flg’ : 20.3}

正確答案: A

19.以下程序的輸出結果是:

A [‘z’, ‘j’, ‘s’, ‘y’]

B [‘j’, ‘s’, ‘y’, ‘z’]

C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]

D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]

正確答案: B

20.以下程序的輸出結果是:

A htslbht

B hlbst

C tsblh

D hhlstt

正確答案: B

21.已知id(ls1) = 4404896968,以下程序的輸出結果是:

A 4404896968 4404896904

B 4404896904 4404896968

C 4404896968 4404896968

D 4404896904 4404896904

正確答案: A

A [‘300’,‘200’,‘400’]

B [‘shandong’, ‘hebei’, ‘beijing’]

C [300,200,400]

D ‘shandong’, ‘hebei’, ‘beijing’

正確答案: B

23.以下關於文件的描述,錯誤的是:

A 二進制文件和文本文件的操作步驟都是“打開-操作-關閉”

B open() 打開文件之後,文件的內容並沒有在內存中

C open()只能打開一個已經存在的文件

D 文件讀寫之後,要調用close()才能確保文件被保存在磁盤中了

正確答案: C

24.以下程序輸出到文件text.csv里的結果是:

A [90,87,93]

B 90,87,93

C ‘[90,87,93]’

D ‘90,87,93’

正確答案: B

25.以下程序的輸出結果是:

A ( [1,2,3,4,5])

B [12, 34, 56, 78]

C ([12, 34, 56, 78])

D [1,2,3,4,5]

正確答案: B

26.以下關於數據維度的描述,錯誤的是:

A 採用列表表示一維數據,不同數據類型的元素是可以的

B JSON格式可以表示比二維數據還複雜的高維數據

C 二維數據可以看成是一維數據的組合形式

D 字典不可以表示二維以上的高維數據

正確答案: D

27.以下不屬於Python的pip工具命令的選項是:

A show

B install

C download

D get

正確答案: D

29.以下不是程序輸出結果的選項是:

A [12, 78, 56, 34]

B [56, 12, 78, 34]

C [12, 34, 56, 78]

D [12, 78, 34, 56]

正確答案: C

30.以下關於turtle庫的描述,正確的是:

A 在import turtle之後就可以用circle()語句,來畫一個圓圈

B 要用from turtle import turtle來導入所有的庫函數

C home() 函數設置當前畫筆位置到原點,朝向東

D seth(x) 是setheading(x)函數的別名,讓畫筆向前移動x

正確答案: C

31.一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調用。而實現遞歸調用中的存儲分配通常用

A 棧

B 堆

C 鏈表

D 數組

正確答案: A

因為函數調用是能過將關鍵寄存器壓棧保護現場;在函數返回時,彈棧恢復現場來完成的。

而遞歸調用說白了就是自已調用自己。也就是不停的上演pop, push的棧操作。

系統為什麼選用棧來實現函數間的調用呢?我覺的主要原因如下:

對於頻繁的調用操作過程中,棧的pop,push操作最簡潔,快速。硬件級(或者理解成彙編級也行)支持棧操作。所以用棧最高效,快速。如果用堆、數組、鏈表,不光要維護很多功能輔助性數據,算法也很麻煩。這樣會大大降低計算機的使用效率。

32.下列敘述中正確的是

A 一個算法的空間複雜度大,則其時間複雜度必定小

B 一個算法的空間複雜度大,則其時間複雜度也必定大

C 算法的時間複雜度與空間複雜度沒有直接關係

D 一個算法的時間複雜度大,則其空間複雜度必定小

正確答案: C

34.軟件開發離不開系統環境資源的支持,其中必要的測試數據屬於

A 輔助資源

B 硬件資源

C 通信資源

D 支持軟件

正確答案: A

35.完全不考慮程序的內部結構和內部特徵,而只是根據程序功能導出測試用例的測試方法是

A 錯誤推測法

B 白箱測試法

C 黑箱測試法

D 安裝測試法

正確答案: C

37.下列有關數據庫的描述,正確的是

A 數據庫是一個關係

B 數據庫是一個DBF文件

C 數據庫是一個結構化的數據集合

D 數據庫是一組文件

正確答案: C

38.相對於數據庫系統,文件系統的主要缺陷有數據關聯差、數據不一致性和

A 可重用性差

B 冗餘性

C 非持久性

D 安全性差

正確答案: B

39.軟件開發的結構化生命周期方法將軟件生命周期劃分成

A 定義、開發、運行維護

B 設計階段、編程階段、測試階段

C 總體設計、詳細設計、編程調試

D 需求分析、功能定義、系統設計

正確答案: A

40.下列不屬於結構化分析的常用工具的是

A 判定樹

B 數據字典

C 數據流圖

D PAD圖

正確答案: C

初學者應該學python2還是python3?

在剛開始學習Python時,我也有與題主一樣的顧慮:究竟,我們應該學習Python2還是學習Python3版本呢?其實對於Python3的抵制,大多數都是因為相信目前一些所謂的“磚家”們的說辭。

在那些“磚家”的說辭中,Python3變成了一個幼稚的,還需要成長的小嬰兒,各種在2版本中支持的數據包都不能在3中使用。但,這樣的說辭明顯不正確。毫無爭議的說,目前Python3已經兼容了絕大多數Python2的高頻數據庫了,大約只有不到5%的數據包不支持Python3。所以,千萬不要相信所謂專家們口中的Python3嬰兒說。

此外,作為未來的發展趨勢,Python3正在逐步代替Python2發揮作用。Python2的使用佔比在逐年下降,而Python3的使用佔比卻在不斷上升。並且,據Python核心團隊消息,他們將會在2020年停止對Python2版本的支持。而在2019年1月1日起,任何新功能也只會在Python3中更新。

所以,你現在要做的,就是拋棄傳統守舊的Python2優勢說法,而去擁抱目前流行的Python3。另外,語言的學習最重要的是思維,而不是格式的差別。就身邊的同事而言,會Python2和3的人大有人在,並不會感覺很痛苦。

與其顧慮,不如行動,唯有行動,才能改變。

2019-03-06 python練習二:人生苦短我用python

輸入一個小於等於12的整數n,逐個輸出字符串 ‘人生苦短我用python’ 中前n個字符,每個字符後輸出一個半角逗號和一個空隔。

一個小於等於12的整數n

‘人生苦短我用python’ 中前n個字符

例如:

輸入:2

輸出:人, 生,

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

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

相關推薦

  • Python周杰倫代碼用法介紹

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

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

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

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

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

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

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

    編程 2025-04-29
  • Python中引入上一級目錄中函數

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

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

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

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

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

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

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

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論