python3變量和數據類型


 

 
 

變量和數據類型

知識點

  • python 關鍵字
  • 變量的定義與賦值
  • input() 函數
  • 字符串的格式化

實驗步驟

每一種編程語言都有它們自己的語法規則,就像我們所說的外語。

1. 關鍵字和標識符

下列的標識符是 Python3 的關鍵字,並且不能用於通常的標識符。關鍵字必須完全按照下面拼寫:

False               def                 if raise None del import return True elif in try and else is while as except lambda with assert finally nonlocal yield break for not class from or continue global pass 

這些內容可以在 Python3 解釋器中得到:

此處輸入圖片的描述

在 Python 中 我們不需要為變量指定數據類型。所以你可以直接寫出 abc = 1 ,這樣變量 abc 就是整數類型。如果你寫出 abc = 1.0 ,那么變量 abc 就是浮點類型。

>>> a = 13 >>> b = 23 >>> a + b 36 

通過上面的例子你應該理解了如何在 Python 中定義變量,也就是只需要輸入變量名和值就行了。Python 也能操作字符串,它們用單引號或雙引號括起來,就像下面這樣。

>>> 'ShiYanLou' 'ShiYanLou' >>> 'ShiYanLou\'s best' "ShiYanLou's best" >>> "Hello World!" 'Hello World!' 

2. 從鍵盤讀取輸入

通常情況下,Python 的代碼中是不需要從鍵盤讀取輸入的。不過我們還是可以在 Python 中使用函數 input() 來做到這一點,input() 有一個用於打印在屏幕上的可選字符串參數,返回用戶輸入的字符串。

我們來寫一個程序,它將會從鍵盤讀取一個數字並且檢查這個數字是否小於 100。這個程序名稱是 testhundred.py。還記得如何使用 vim 嗎?忘了的話可以看看下面的動圖:

此處輸入圖片的描述

#!/usr/bin/env python3 number = int(input("Enter an integer: ")) if number < 100: print("Your number is smaller than 100") else: print("Your number is greater than 100") 

如果 number 小於 100,輸出“Your number is smaller than 100”,如果大於 100,輸出“Your number is greater than 100”。

程序運行起來就像這樣: (運行時別忘記給文件添加可執行權限,如何添加權限請回想上節實驗內容,程序運行時若報錯權限不夠,為文件添加權限即可)

$ ./testhundred.py
Enter an integer: 13 Your number is smaller than 100 $ ./testhundred.py Enter an integer: 123 Your number is greater than 100 

下一個程序我們來計算投資:

#!/usr/bin/env python3 amount = float(input("Enter amount: ")) # 輸入數額 inrate = float(input("Enter Interest rate: ")) # 輸入利率 period = int(input("Enter period: ")) # 輸入期限 value = 0 year = 1 while year <= period: value = amount + (inrate * amount) print("Year {} Rs. {:.2f}".format(year, value)) amount = value year = year + 1 

運行程序:

$ ./investment.py
Enter amount: 10000
Enter Interest rate: 0.14
Enter period: 5
Year 1 Rs. 11400.00
Year 2 Rs. 12996.00
Year 3 Rs. 14815.44
Year 4 Rs. 16889.60
Year 5 Rs. 19254.15

while year <= period: 的意思是,當 year 的值小於等於 period 的值時,下面的語句將會一直循環執行下去,直到 year 大於 period 時停止循環。

Year {} Rs. {:.2f}".format(year, value) 稱為字符串格式化,大括號和其中的字符會被替換成傳入 str.format() 的參數,也即 year 和 value。其中{:.2f} 的意思是替換為 2 位精度的浮點數。

3. 一些例子

一些關於變量和數據類型的例子。

3.1. 求 N 個數字的平均值

下面的程序用來求 N 個數字的平均值。

#!/usr/bin/env python3 N = 10 sum = 0 count = 0 while count < N: number = float(input()) sum = sum + number count = count + 1 average = sum / N print("N = {}, Sum = {}".format(N, sum)) print("Average = {:.2f}".format(average)) 

運行程序:

$ ./averagen.py
1.2
3.4
3.5
33.2
2
4
6
2.4
4
5.5
N = 10, Sum = 65.2
Average = 6.52

3.2. 溫度轉換

在下面的程序里,我們使用公式 C = (F - 32) / 1.8 將華氏溫度轉為攝氏溫度。

#!/usr/bin/env python3 fahrenheit = 0 print("Fahrenheit Celsius") while fahrenheit <= 250: celsius = (fahrenheit - 32) / 1.8 # 轉換為攝氏度 print("{:5d} {:7.2f}".format(fahrenheit , celsius)) fahrenheit = fahrenheit + 25 

{:5d} 的意思是替換為 5 個字符寬度的整數,寬度不足則使用空格填充。

運行程序:

$ ./temperature.py
Fahrenheit Celsius
    0  -17.78
   25   -3.89
   50   10.00
   75   23.89
  100   37.78
  125   51.67
  150   65.56
  175   79.44
  200   93.33
  225  107.22
  250  121.11

4. 單行定義多個變量或賦值

你甚至可以在一行內將多個值賦值給多個變量。

>>> a , b = 45, 54 >>> a 45 >>> b 54 

這個技巧用來交換兩個數的值非常方便。

>>> a, b = b , a >>> a 54 >>> b 45 

要明白這是怎么工作的,你需要學習元組(tuple)這個數據類型。我們是用逗號創建元組。在賦值語句的右邊我們創建了一個元組,我們稱這為元組封裝(tuple packing),賦值語句的左邊我們則做的是元組拆封 (tuple unpacking)。

下面是另一個元組拆封的例子:

>>> data = ("shiyanlou", "China", "Python") >>> name, country, language = data >>> name 'shiyanlou' >>> country 'China' >>> language 'Python' 

總結

完成這個實驗我們應該了解 python 關鍵字有哪些(在這里不要求全部記住),如何賦值變量,怎樣從鍵盤讀取輸入,以及字符串的格式化,在這里可以了解更多有關字符串格式化的信息:https://docs.python.org/3/library/string.html#formatstrings。最后我們接觸了元組封裝和元組拆封,這是一個很有用很方便的技巧,希望你能掌握它。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM