Python 03_變量和數據類型

01 數據類型

在 Python 中,能夠直接處理的數據類型有以下幾種:

整數

Python 可以直接處理任意大小的整數,包含負整數。 十進制表示整數和數學上一樣;十六進制表示整數需要在前面加 0x , 后面用十六進制表示。

浮點數

浮點數即小數,之所以叫浮點數,是因為按照科學計數法表示時,一個浮點數的小數點位置是可變的。 整數和浮點數在計算機內部的儲存方式是不同的,整數運算永遠是精確的( 除法也是精確的!) ,而浮點數可能會有四舍五入的誤差。

字符串

字符串是以 ' ' ," " , 括起來的任意文本。

布爾值

布爾值和布爾代數的表示完全一致,一個布爾值只有 True、False 兩種值;Python 中可以直接使用 True、False 表示布爾值(注意大小寫),也可以通過布爾運算計算出來,布爾值可以用 and (與) 、or (或)、not(非)運算 。

空值

空值是 Python 里一個特殊的值,用 None 表示。 None 不能理解為 0 ,因為 0 是有意義的,而 None 是一個特殊的空值。

此外, Python 還提供了列表、字典、等多種數據類型; 還允許創建自己定義的數據類型, 后面繼續學習。

練習:
1.計算十進制整數和十六進制整數之和, 自己隨便相加。 (Python 可以直接進行操作!)
2.用字符串表示一串字符。 例如: Learn Python in 2017.6
3.計算表達式的布爾值。例如: 99>100, 0xff == 255 。
使用 print 命令打印

02 print 語句

print語句可以向屏幕上輸出指定的文字。比如輸出'hello, world',用代碼實現如下:

>>> print 'Hello,World'
  • 在 Python 交互式環境下編寫代碼時, >>> 是 Python 解釋器的提示符,而不是代碼。
  • 在自己寫的時候不要加 >>> 。

print 語句也可以跟多個字符串, 用逗號隔開,就可以連成一串輸出:

>>> print  'one', 'two', 'three'

print 會一次打印每個字符串,遇到逗號 '','' 會輸出一個空格。 從而輸出:

one two three

03 Python 的注釋

Python 中使用 # 來注釋代碼。

04 Python 中什么是變量

Python 程序中的變量, 是用一個變量名表示,變量名必須是 大小寫英文、數字和下劃線(_)的組合,且不能用數字開頭。
在 Python 中 = 號是賦值語句,可以把任意數據類型賦值給變量,同一個變量可以反復賦值, 而且可以是不同類型的變量。例如:

x = 100      # x 是整數
print x
x = 'learn python'    # x 為字符串
print x

這種變量本身類型不固定的語言稱為動態語言,與之對應的是靜態語言;靜態語言在定義變量時必須指定變量類型,否則在賦值的時候就會出錯、像Java、C/C++ 這樣的靜態語言在賦值前都要指定變量類型。

練習:
等差數列可以定義為每一項與它的前一項的差等于一個常數,可以用變量 a1 表示等差數列的第一項, 用 d 表示公差,請計算數列 1 4 7 10 13 16 19 ...
前 100 項的和。

a1 = 1
d = 3
n = 100
an = a1 + (n-1) * d
s = n * a1 + n * (n-1) * d/2
print  s

05 Python 中定義字符串

當然字符串都知道是怎么定義的了。 這里主要提及到 ' ' 和 '' '' 在某些時候互相包含,或者同時存在的情況。如果同時存在, 那么就要用轉義字符 \ 來表示一個普通的字符,不代表字符串的起始。

'Jane said \" I\' m OK\"!'

其他轉義字符:

\n 表示換行
\t  表示一個制表符
\\  表示 \ 字符本身
等等......

06 Python 中 raw 字符串與多行字符串

為了避免一個字符串里包含了很多需要轉義的字符, 對每一個都進行轉義那么就很麻煩, Python 中, 可以在前面加一個 r , 表示這是一個 raw 字符串,里面需要轉義的字符就不用轉義了; 但是 r'...' 表示法不能表示多行字符串, 也不能表示包含 ' 和 '' 的字符串 !
如果要表示多行, 就用 '''......''' 來表示。( 也可以在多行字符串前面加 r , 把這個多行變成一個 raw 字符串。 )

07 Python 中的 Unicode 字符串

當然字符串還會涉及一個編碼的問題。 一些關于 Unicode 的歷史,這里就不說了。
在 Python 中后來添加了對 Unicode 的支持, 以 Unicode 表示的字符串用 u'...' 表示, 例如 :

print u'我的世界'

注意: 不加 u 中文就不能正常顯示。 所以 Unicode 字符串除了多了一個 u 之外,與普通的字符串沒什么區別。 轉義字符和多行字符串表示法,raw + 多行 仍然有效。

如果中文字符串在 Python 環境下遇到 UnicodeDecodeError, 這是因為 .py 文件保存的格式有問題。可以在第一行添加注釋。

# -*- coding: utf-8 -*-

這樣的作用就是告訴 Python 解釋器,用 UTF-8 編碼讀取的源代碼,然后用 Notepad++ 或者其他 另存為...并選擇 UTF-8 格式保存。

07 Python 中整數和浮點數

Python 中對整數和浮點數的運算跟數學中的四則運算規則完全一致, 但和數學運算不同的地方是, Python 的整數運算結果仍然是整數, 浮點數運算結果仍然是浮點數。但整數和浮點數的運算結果就變成了浮點數。
為什么要區分整數和浮點數?

計算機的無法表示無限循環小數。

小練習:
請計算 2.5 + 10 / 4 ,并解釋計算結果為什么不是期望的 5.0 ?
請修復上述運算,使得計算結果是 5.0

print 2.5 + 10.0 / 4

08 Python 中的布爾類型

布爾值只有 2 種: True & False 。但是在布爾類型運算有以下幾種:
與運算:
兩個布爾值都為 True 時, 計算結果才為 True。

True and True   # ==> True
True and False   # ==> False
False and True   # ==> False
False and False   # ==> False

或運算:
一個布爾值為 True 時, 計算結果才為 True。

True or True      # ==> True
True or False     # ==> True
False or True     # ==> True
False or False   # ==> False

非運算:
把 True 變為 False, 或者把 False 變為 True。

not True   # ==> False
not False   # ==> True

在 Python 中把 0 、 空字符串''None看成是 False,其他數值和非空字符串都看成是 True。
Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果; 這涉及到 Python 中 and 和 or 運算的一條重要法則短路計算

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容