003:Python語言元素之變量

程序是指令的集合寫程序就是用指令控制計算機做我們想讓它做的事情。那麼,爲什麼要用Python語言來寫程序呢?因爲Python語言簡單優雅,相比C、C++、Java這樣的編程語言,Python對初學者更加友好,當然這並不是說Python不像其他語言那樣強大,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):布爾值只有TrueFalse兩種值,要麼是True,要麼是False

變量命名

對於每個變量需要給它取一個名字,就如同每個人都有自己的名字一樣。在Python中,變量命名需要遵循以下這些規則,這些規則又分爲必須遵守的硬性規則和建議遵守的非硬性規則。

  • 硬性規則:

    • 規則1:變量名由字母、數字和下劃線構成,數字不能開頭。需要說明的是,這裏說的字母指的是Unicode字符,Unicode稱爲萬國碼,囊括了世界上大部分的文字系統,這也就意味着中文、日文、希臘字母等都可以作爲變量名中的字符,但是像!@#這些特殊字符是不能出現在變量名中的,而且我們強烈建議大家儘可能使用英文字母

    • 規則2:大小寫敏感,簡單的說就是大寫的A和小寫的a是兩個不同的變量。

    • 規則3:變量名不要跟Python語言的關鍵字(有特殊含義的單詞,後面會講到)和保留字(如函數、模塊等的名字)發生重名的衝突

  • 非硬性規則:

    • 規則1:變量名通常使用小寫英文字母,多個單詞用下劃線進行連接。

    • 規則2:受保護的變量用單個下劃線開頭(後面會講到)。

    • 規則3:私有的變量用兩個下劃線開頭(後面會講到)。

當然,作爲一個專業的程序員,給變量(事實上應該是所有的標識符)命名時做到見名知意也非常重要。

變量的使用

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

"""

使用變量保存數據並進行加減乘除運算

"""
a = 45          # 變量a保存了45
b = 12          # 變量b保存了12
print(a + b)    # 57
print(a - b)    # 33
print(a * b)    # 540
print(a / b)    # 3.75

在Python中可以使用type函數對變量的類型進行檢查。程序設計中函數的概念跟數學上函數的概念基本一致,數學上的函數相信大家並不陌生,它包括了函數名、自變量和因變量。

"""

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

"""
a = 100
b = 12.345
c = 'hello, world'
d = True
print(type(a))    # <class 'int'>
print(type(b))    # <class 'float'>
print(type(c))    # <class 'str'>
print(type(d))    # <class 'bool'>

不同類型的變量可以相互轉換,這一點可以通過Python的內置函數來實現。

  • int():將一個數值或字符串轉換成整數,可以指定進制。

  • float():將一個字符串轉換成浮點數。

  • str():將指定的對象轉換成字符串形式,可以指定編碼。

  • chr():將整數轉換成該編碼對應的字符串(一個字符)。

  • ord():將字符串(一個字符)轉換成對應的編碼(整數)。

 下面的例子演示了Python中類型轉換的操作。

"""

Python中的類型轉換操作

"""
a = 100
b = 12.345
c = 'hello, world'
d = True
# 整數轉成浮點數
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

 

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