序言

本教程適用于完全沒有python基礎(chǔ)的學(xué)習(xí)者,一共分為入門篇、基礎(chǔ)篇和進(jìn)階篇。在入門篇中將盡量避免晦澀難懂的定義和術(shù)語,力求通過多個循序漸進(jìn)的程序?qū)嵗尭魑籶ython初學(xué)者掌握基本的python操作。在對python和編程有了初步了解之后,再在基礎(chǔ)篇中對一些概念進(jìn)行更正式和完善的介紹。
在入門篇中,我們整體上是在不斷完善一個學(xué)生成績錄入程序的過程中逐漸掌握python的基礎(chǔ)操作。
本節(jié)概要
- 基礎(chǔ)概念:數(shù)據(jù)類型、變量、函數(shù)等
- 輸入輸出函數(shù)
- 數(shù)據(jù)類型,數(shù)據(jù)類型轉(zhuǎn)化
程序?qū)嵗?
我們做一個簡單的學(xué)生成績錄入的程序。這個程序?qū)崿F(xiàn)的功能就是依次提示用戶輸入學(xué)生姓名和分?jǐn)?shù),然后程序打印出“XX同學(xué)你的分?jǐn)?shù)為YY分”的信息。下面我們就一步一步來實現(xiàn)自己的第一個python程序吧。
在寫代碼前,我們先來分析一下我們需要的功能:
- 首先我們需要接收兩個輸入,姓名和分?jǐn)?shù)。
- 然后我們需要把這兩個信息保存下來。
- 最后我們需要把姓名和分?jǐn)?shù)分別放到“XX同學(xué)你的分?jǐn)?shù)為YY分”這句話中相應(yīng)的位置,并輸出到屏幕上。
思路我們已經(jīng)整理清楚,接下來就是用python來實現(xiàn)我們的思路了。
通過下面所示的一行代碼我們就能夠?qū)崿F(xiàn)前兩步:接收姓名輸入,并把輸入的姓名保存下來。
name = input()
- 等號的右邊input()我們稱它為input()函數(shù),這個函數(shù)的作用是接收鍵盤上的輸入,遇到用戶按下回車鍵接收終止。函數(shù)我們可以理解為能夠?qū)崿F(xiàn)某個功能的代碼塊,我們通過函數(shù)名可以重復(fù)調(diào)用這個功能。
- 等號左邊的name是我們定義的一個變量。我們可以把變量理解為計算機(jī)中可以保存信息的盒子,變量名就是我們給盒子起的代號,方便我們通過代號迅速找到對應(yīng)的盒子從而獲取到盒子里保存的信息。
- 等號在這里我們可以理解為賦值,就是把input()接收到的信息存入變量name的“盒子”里。
把上面一行代碼轉(zhuǎn)化為人類語言語意思就是:通過input()函數(shù)接收輸入的內(nèi)容,然后把輸入的內(nèi)容保存到計算機(jī)中的一個“盒子”內(nèi),并給這個盒子起個代號叫name,這樣我們后面就可以通過name這個代號獲取到輸入的信息了。
接下來我們進(jìn)行最后一步。把接收到的名字和成績分別放到“XX同學(xué)你的分?jǐn)?shù)為YY分”相應(yīng)的位置,并把這句話輸出到屏幕上。這個功能的實現(xiàn)也很簡單,我們只需要調(diào)用print()函數(shù)即可,代碼如下所示:
print("{0}同學(xué)你的分?jǐn)?shù)為{1}分".format(name, score))
這里的print()也是一個函數(shù),這個函數(shù)的功能是把信息輸出到屏幕上。與上面的input()函數(shù)略有不同,我們在使用print()函數(shù)的時候還在括號內(nèi)寫入了一行內(nèi)容,我們把這行內(nèi)容叫做參數(shù)。關(guān)于函數(shù)和參數(shù)等內(nèi)容我們后面的章節(jié)會再繼續(xù)介紹,這里大家只需要先初步了解一下概念即可。
我們接著來看一看print()函數(shù)括號內(nèi)的內(nèi)容。"{0}同學(xué)你的分?jǐn)?shù)為{1}分"中的{0}和{1}會依次被變量name和score所替換,然后雙引號中的內(nèi)容會被輸出到屏幕上。假如name是張三,score是97,那么最終輸出的就是"張三同學(xué)你的分?jǐn)?shù)為97分"。請大家務(wù)必記住print("{0} XXX {1} XXX {2}".format(x1, x2, x3))這條語句的格式,{0},{1},{2}依次會被format括號中的變量替換輸出,變量的個數(shù)可以是任意個。如果你的輸出內(nèi)容不含變量,那么可以省略format(),直接寫作print("XXX")。
完整的程序如下所示。我們在name和score的輸入前分別添加了提示語。我們注意以#開頭的兩行內(nèi)容,這兩個內(nèi)容我們稱之為注釋。注釋并不會影響程序的運行,注釋的作用是給編寫程序以及閱讀程序代碼的人看的,方便理解代碼的意義。我們在編寫代碼的時候也應(yīng)該注意添加注釋,這樣既方便自己寫代碼,也方便將來別人閱讀你的代碼。
print("請輸入姓名:")
# name保存輸入的學(xué)生姓名
name = input()
print("請輸入成績:")
# score保存輸入的學(xué)生成績
score = input()
print("{0}同學(xué)你的分?jǐn)?shù)為{1}分".format(name, score))
我們運行上面的代碼,最終效果如下所示:

程序?qū)嵗?
現(xiàn)在我們對程序1再做一個小的升級。假設(shè)今年我們班級榮獲三好班級稱號,我們班的每位同學(xué)都獲得5分的加分。因此我們需要程序能夠?qū)ξ覀冚斎氲某煽冏詣蛹?分,并輸出相應(yīng)的信息。
在實現(xiàn)這個功能前,我們需要介紹一下數(shù)據(jù)類型。數(shù)據(jù)類型我們這里只介紹三種:整型、浮點型、字符串。整型就是70,-100這樣的整數(shù)。浮點型就是10.5,-30.6這樣的數(shù)據(jù)。字符串類似"學(xué)習(xí)python的第1天"這種形式,這里既可以是雙引號也可以是單引號。
在程序1中我們通過input()輸入的score雖然代表著學(xué)生的成績,但是此時score實際上是一個字符串。假設(shè)我們輸入成績?yōu)?7,那么我們通過score得到的是字符串"97",我們需要把字符串"97"轉(zhuǎn)化為數(shù)字97才能進(jìn)行正常的加減乘除。
那么如何把字符串"97"轉(zhuǎn)化為數(shù)字97呢?我們可以通過int()函數(shù)把字符串"97"轉(zhuǎn)化為整數(shù)97,也可以通過float()函數(shù)把字符串"97"轉(zhuǎn)化為浮點數(shù)97.0。使用方式如下所示:
# 把字符串轉(zhuǎn)化為整型
score = input()
score = int(score)
# 把字符串轉(zhuǎn)化為浮點型
score = input()
score = float(score)
現(xiàn)在我們已經(jīng)把字符串轉(zhuǎn)化為數(shù)字了,接下來就可以對數(shù)字進(jìn)行加減乘除了。在python中加減乘符號分別表示為+,-,*。使用方式如下所示:
a = 1 + 3 # a的值為4
b = 5 - 3 # b的值為2
c = 2 * 3 # c的值為6
除法有些特殊,/表示除法,//也表示除法,但是這兩種除法含義不一樣,我們通過下面兩個例子體會不同:
a = 5/2 # a的值為2.5
b = 5//2 # b的值為2
現(xiàn)在我們已經(jīng)掌握了如何把字符串轉(zhuǎn)化為數(shù)字并進(jìn)行加減乘除操作,那么讓我們來完成完整的程序吧。
print("請輸入姓名:")
# name保存輸入的學(xué)生姓名
name = input()
print("請輸入成績:")
# score保存輸入的學(xué)生成績
score = input()
# 把score由字符串轉(zhuǎn)化為數(shù)字
score = int(score)
# 原始分?jǐn)?shù)加5分
score = score + 5
# 輸出最終信息
print("{0}同學(xué)你的分?jǐn)?shù)為{1}分".format(name, score))
運行上面的代碼,最終效果如下所示:

大家可以試試把score轉(zhuǎn)化為浮點型,看看輸出有什么變化。
本節(jié)總結(jié)
本節(jié)主要介紹的內(nèi)容包括:
- 變量可以理解為計算機(jī)中可以保存信息的盒子,變量名就是我們給盒子起的代號,方便我們通過代號迅速找到對應(yīng)的盒子從而獲取到盒子里保存的信息。
- 函數(shù)可以理解為能夠?qū)崿F(xiàn)某個功能的代碼塊,我們通過函數(shù)名可以重復(fù)調(diào)用這個功能。有些函數(shù)還需要我們傳入一些做參數(shù)。
- 輸入函數(shù)input(),輸入函數(shù)print(),輸出帶參數(shù)形式print("{0} xxx {1}".format(x1, x2))。
- 數(shù)據(jù)類型,可以通過int()或float()把"97"轉(zhuǎn)化為數(shù)字。
- 加減乘除運算,注意在使用除法的時候/和//的區(qū)別。
通過本節(jié)兩個例子的學(xué)習(xí),大家應(yīng)該初步掌握了輸入輸出的方法,類型轉(zhuǎn)換,以及數(shù)字的加減乘除方法。請大家課后繼續(xù)多多練習(xí)吧!
下一節(jié)我們將學(xué)習(xí)如何根據(jù)輸入的分?jǐn)?shù)判斷等級,比如張三得了90分,程序會輸出張三的等級為優(yōu)秀,李四得了70分,程序會輸出李四的等級為及格。我們下一節(jié)再見。