python入門基礎教程04 Python程序基本組成

Python程序基本組成

Python和其他高級語言一樣,幾乎都是首先從某些地方接收一些數據(如鍵盤或文件或者賦值),接着對數據進行必要的處理,之後把處理的結果傳到某個地方去(輸出到文件、數據庫或者打印到屏幕上)。

Python程序基本架構如下:

  1. 程序初始化部分

  2. 程序數據的輸入部分

  3. 程序數據的處理部分

  4. 程序數據的輸出部分

  5. 程序結束部分

數據輸出

在Python語言裏可以通過print函數實現數據的輸出操作,print 函數的語法結構如下所示。


Python在執行print語句時,首先是計算一下print函數後邊的expressions 表達式的值,之後再將表達式的值打印輸出。


我們注意到print語法結構裏的<expressions>單詞後邊有s 的,複數,什麼意思?其含義是表達式可以是多個,多個<expression>間用逗號間隔。

>>>print 'hello'
hello
>>>print 'world'
world
>>>print 'hello'+'world'
helloworld
>>>print 'hello','world'
hello world

語句1、3是分別打印’hello’和’world’兩個字符串,我們可以看到每條print語句輸出後都自動換了一行,第5行的語句用 連接了兩個字符串,打印輸出時字母’o’和’w’ 是,而第7 行語句是用逗號連接了兩個字符串,我們發現在輸出的時候字母’o’和’w’ 並沒有挨着而是中間有了,因此可以這樣去理解print函數裏的逗號,逗號在print語句裏可以不輸出回車鍵換行,使得下一次的print 數據和本次print 語句輸出在同一行。

這裏有了新的數據類型字符串,用引號將一些字符引起來,我們稱之爲這樣的數據爲字符串。在Python 裏字符串的數據的定義有三種形式:

  1. 用單引號引起來一些字符

  2. 用雙引號引起來的一些字符

  3. 三個雙引號引起來的字符都是字符串數據。

爲何出現三個雙引號字符串呢?這個是爲了可在字符串數據裏使用雙引號。

>>>print 'hello'
hello
>>>print "world"
world
>>>print """He said "hello" to God"""
He said "hello" to God

請注意在said後邊的hello字符串前後的雙引號在輸出時被打印出來了。那如何實現字符串和數字型數據同時輸出呢?

我們可以採用逗號運算連接字符串和數字型數據,從而實現同時打印字符串和數字型數據,當然也可以用兩條print語句。

>>> x = 12
>>> print 'hello x = ', x
hello x =  12

在字符串裏引用格式控制字%d可以實現打印整形數據,%f 則可以打印浮點型數據,而%s則是字符串數據。

>>> x = 12
>>> print 'hello x = ', x
hello x =  12
>>> y = 12.45
>>> s = "world"
>>> print "output %d %f %s"%(x, y ,s)
output 12 12.450000 world
>>>

這裏需要注意的是代碼的第6行,%前雙引號引起來的字符串稱之爲print函數的格式化控制字,%後圓括號括起來的是格式化控制字裏各個%所對應的值序列。

數據輸入

在Python裏可以通過raw_input函數從鍵盤獲得用戶的數據輸入,其語法結構如下所示。


raw_input函數的形參prompt是一個字符串用於提示用戶輸入,當用戶輸入數據以後raw_input函數會把輸入數據傳給等號左邊的變量來保存輸入數據,raw_input 函數的返回值是字符串型的。

>>>name = raw_input("plz input your name:")
plz input your name:hello
>>>print name
hello

語句代碼第1行使用了raw_input函數用於接收用戶數據,從raw_input 函數返回值賦值給了name變量,第2行輸入了’hello’ 字符串,第3 行調用print打印name變量的值。 我們再看看下面的程序,任務是想從鍵盤輸入兩個整數給x和y,計算x+y之和並打印結果。

>>> x = raw_input("plz input x : ")
plz input x : 12
>>> y = raw_input("plz input y : ")
plz input y : 12
>>> z = x + y
>>> print z'1213'

爲何如此?爲何不是結果25呢?我們再看一個程序好了。

>>> x = raw_input("plz input x : ")
plz input x : 12
>>>print x'12'
>>> x = 12
>>>print x12

第4行和第7行都是在執行’print x’以後打印的結果,兩次打印結果有不同的地方麼?第4 行的輸出在12 的前後有單引號(由此可知raw_input返回值是字符串型的),而第7 行輸出結果12前後無單引號,由此可知raw_input函數的返回值是字符串,那我們的任務該如何完成呢?這裏介紹一下類型轉換函數int 函數,int 函數可以將純數字字符組成的字符串轉換成整形數據,因此任務程序可以改成下面這個樣子。

>>> x = int(raw_input("plz input x : "))
plz input x : 12
>>> y = int(raw_input("plz input y : "))
plz input y : 13
>>> z = x + y
>>> print z25

語句第1行和第3行通過raw_input函數從鍵盤輸入字符串數據,經int函數將數字字符串轉換成整形數據之後賦值給左邊的變量x 和y,此時x和y變量裏就存儲着整形數據12和13。

實際上,Python裏有另外一個函數叫input 也可以從鍵盤捕獲數據,它的返回值直接就是數值數據,但鍵盤輸入的必須是數(整形或者浮點型)才行。

>>> x = input("plz input x : ")
plz input x : 12
>>> y = input("plz input y : ")
plz input y : 13.5
>>> z = x + y
>>> print z25.5

可以帶有負號輸入麼?這裏介紹float函數可以將帶有點的和全數字的字符串轉爲浮點型數據。

>>> z = raw_input('plz input a float: ')
plz input a float: -12.45
>>> print z'-12.45'
>>> w = float(z)
>>> print w
-12.45

我們在看看input函數的表現如何。

>>> x = input('plz input an int: ')
plz input an int: 1234
>>> print x1234
>>> y = input('plz input a float: ')
plz input a float: -9.8765
>>> print y
-9.8765


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章