天天看點

好程式員Python教程系列分享之Python語言元素之變量

  好程式員Python教程系列分享之Python語言元素之變量,經常被外行問到兩個問題,其一是“什麼是(計算機)程式”,其二是“寫(計算機)程式能做什麼”,這裡我們先來回答這兩個問題。程式是指令的集合,寫程式就是用指令控制計算機做我們想讓它做的事情。那麼,為什麼要用Python語言來寫程式呢?因為Python語言簡單優雅,相比C、C++、Java這樣的語言,Python對初學者更加友好,當然這并不是說Python不像其他語言那樣強大,Python幾乎是無所不能的,還能用來粘合其他語言開發的系統,是以也被戲稱為“膠水語言”。

  一些計算機常識

計算機的硬體系統通常由五大部件構成,包括:運算器、控制器、存儲器、輸入裝置和輸出裝置。其中,運算器和控制器放在一起就是我們通常所說的中央處理器,它的功能是執行各種運算和控制指令。剛才說過了,程式是指令的集合,寫程式就是将一系列的指令按照某種方式組織到一起,然後通過這些指令去控制計算機做我們想讓它做的事情。今天我們大多數人使用的計算機都是“馮·諾依曼體系結構”的計算機,這種計算機有兩個關鍵點:一是要将儲存設備與中央處理器分開;二是将資料以二進制方式編碼。

  二進制是一種“逢二進一”的計數法,跟我們人類使用的“逢十進一”的計數法沒有實質性的差別,人類因為有十根手指是以使用了十進制,因為在數數時十根手指用完之後就隻能進位了。當然凡事都有例外,瑪雅人可能是因為長年光着腳的原因把腳趾頭也算上了,于是他們使用了二十進制的計數法,在這種計數法的指導下,瑪雅人的曆法就與我們平常使用的曆法不一樣。按照瑪雅人的曆法,2012年是上一個所謂的“太陽紀”的最後一年,而2013年則是新的“太陽紀”的開始,後來這件事情被以訛傳訛的方式誤傳為”2012年是瑪雅人預言的世界末日“的荒誕說法。今天很多人都在猜測,瑪雅文明之是以發展緩慢跟使用了二十進制是有關系的。對于計算機來說,二進制在實體器件上來說是最容易實作的(高電壓表示1,低電壓表示0)。不是說寫程式的人必須都需要知道十進制與二進制如何互相轉換,大多數時候我們也用不上這些知識,但是我們必須要知道的是我們的計算機使用二進制,不管什麼資料到了計算機記憶體中都是以二進制形式存在的。

  變量和類型

在程式設計中,變量是一種存儲資料的載體。簡單的說,變量是儲存資料的一塊記憶體空間,變量的值可以被讀取和修改,這是所有計算和控制的基礎。計算機能處理的資料有很多種類型,除了數值之外還可以處理文本、圖形、音頻、視訊等各種各樣的資料。雖然最終資料都是以二進制的形态存在的,但是我們可以用不同類型的變量來表示資料類型的差異。Python中的資料類型很多,而且也允許我們自定義新的資料類型(這一點在後面會講到),我們先介紹幾種常用的資料類型。

  整型(int):Python中可以處理任意大小的整數,而且支援二進制(如0b100,換算成十進制是4)、八進制(如0o100,換算成十進制是64)、十進制(100)和十六進制(0x100,換算成十進制是256)的表示法。

  浮點型(float):浮點數也就是小數,之是以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,浮點數除了數學寫法(如123.456)之外還支援科學計數法(如1.23456e2)。

  字元串型(str):字元串是以單引号或雙引号括起來的任意文本,比如'hello'和`"hello"。

  布爾型(bool):布爾值隻有True、False兩種值,要麼是True,要麼是False。

  變量命名

對于每個變量我們需要給它取一個名字,就如同我們每個人都有屬于自己的響亮的名字一樣。在Python中,變量命名需要遵循以下這些規則和注意事項。

  變量名由字母(廣義的Unicode字元,不包括特殊字元)、數字和下劃線構成,數字不能開頭。

  大小寫敏感(大寫的a和小寫的A是兩個不同的變量)。

  不要跟關鍵字(有特殊含義的單詞,後面會講到)和系統保留字(如函數、子產品等的名字)沖突。

  當然,作為一個專業的程式員,給變量命名時做到見名知意也是非常重要的。

  變量的使用

下面通過幾個例子來說明變量的類型和變量使用。

  """

  使用變量儲存資料并進行加減乘除運算

  Version: 0.1

  Author: 駱昊

  a = 321

  b = 12

  print(a + b) # 333

  print(a - b) # 309

  print(a * b) # 3852

  print(a / b) # 26.75

  在Python中可以使用type函數對變量的類型進行檢查。程式設計中函數的概念跟數學上函數的概念是一緻的,數學上的函數相信大家并不陌生,它包括了函數名、自變量和因變量。如果暫時不了解這個概念也不要緊,我們會在後續的内容中專門講解函數的定義和使用。

  使用type()檢查變量的類型

  a = 100

  b = 12.345

  c = 'hello, world'

  d = True

  print(type(a)) #

  print(type(b)) #

  print(type(c)) #

  print(type(d)) #

  可以使用Python中内置的函數對變量類型進行轉換。

  int():将一個數值或字元串轉換成整數,可以指定進制。

  float():将一個字元串轉換成浮點數。

  str():将指定的對象轉換成字元串形式,可以指定編碼。

  chr():将整數轉換成該編碼對應的字元串(一個字元)。

  ord():将字元串(一個字元)轉換成對應的編碼(整數)。

  下面的例子為大家示範了Python中的類型轉換。

  Python中的類型轉換

  # 整數轉成浮點數

  print(float(a)) # 100.0

  # 浮點型轉成字元串 (輸出字元串時不會看到引号喲)

  print(str(b)) # 12.345

  # 字元串轉成布爾型 (有内容的字元串都會變成True)

  print(bool(c)) # True

  # 布爾型轉成整數 (True會轉成1,False會轉成0)

  print(int(d)) # 1

  # 将整數變成對應的字元(97剛好對應字元表中的字母a)

  print(chr(97)) # a

  # 将字元轉成整數(Python中字元和字元串表示法相同)

  print(ord('a')) # 97

  總結

在Python程式中,我們可以使用變量來儲存資料,變量有不同的類型,變量可以做運算(下一課會有詳細的講解),變量還可以進行類型轉換。