Python 變數和資料型別

2021-09-26 04:24:28 字數 3170 閱讀 4536

此系列摘抄自廖雪峰python教程

變數和資料型別

list和tuple

條件語句和迴圈

dict和set

函式切片+迭代+生成器

生成器和迭代器

函式式程式設計

模組物件導向程式設計

物件導向高階程式設計

定製類列舉類和元類

錯誤及處理

python 可以處理任意大小的整數,包括負整數。

字串是以 『 』 或 「 」 括起來的任意文字。

布林值:true、false,可以用and、or、not運算(並、或、非)。

空值:none一、基本資料型別

版本2.7和3.7會有所不同,舊版輸出直接print ***x 但是新版輸出 print(***x)《僅此區別,下述皆遵循2.7>

print 'hello, world'(2.7)

print ('hello, world')(3.7)

print語句也可以跟上多個字串,用逗號「,」隔開,就可以連成一串輸出,列印時遇到逗號會輸出乙個空格

可以直接計算整數,例如:

print 100 + 200

300 #執行結果

python的注釋以 # 開頭,後面的文字直到行尾都算注釋。

例: # 這句話是個注釋;

但這一句不是。

在電腦程式中,變數不僅可以是數字,還可以是任意資料型別。

在python程式中,變數是用乙個變數名表示,變數名必須是大小寫英文、數字和下劃線(_)的組合,且不能用數字開頭。

在python中,等號=是賦值語句,可以把任意資料型別賦值給變數,同乙個變數可以反覆賦值,而且可以是不同型別的變數。例如:

a = 123    # a是整數

print a

a = 'hello' # a變為字串

print a

這種變數本身型別不固定的語言稱之為動態語言,與之對應的是靜態語言。

變數的儲存:

當我們寫:a = 'abc'時,python直譯器幹了兩件事情:

1.在記憶體中建立了乙個'abc'的字串;

2.在記憶體中建立了乙個名為a的變數,並把它指向'abc'。

定義字串可以用''""括起來表示。

當字串中包含 單引號時 可以用""表示,同理字串中有雙引號時 可以用''表示。(小技巧)

轉義:用轉義字元\進行轉義。\' \"

\n 表示換行

\t 表示乙個製表符

\\ 表示 \ 字元本身

如果乙個字串包含很多需要轉義的字元,對每乙個字元都進行轉義會很麻煩。為了避免這種情況,我們可以在字串前面加個字首r,表示這是乙個 raw 字串,裡面的字元就不需要轉義了。

例如:r'\(~_~)/ \(~_~)/'

但是r'...'表示法不能表示多行字串,也不能表示包含'和 "的字串(為什麼?)

如果要表示多行字串,可以用'''...'''表示:

'''line 1

line 2

line 3'''

等同於'line 1\nline 2\nline 3'

還可以在多行字串前面新增r,把這個多行字串也變成乙個raw字串:

r'''python is created by "guido".

it is free and easy to learn.

let's start learn python in imooc!'''

為了統一所有文字的編碼,unicode應運而生。unicode把所有語言都統一到一套編碼裡,這樣就不會再有亂碼問題了。

unicode通常用兩個位元組表示乙個字元,原有的英文編碼從單位元組變成雙位元組,只需要把高位元組全部填為0就可以。

因為python的誕生比unicode標準發布的時間還要早,所以最早的python只支援ascii編碼,普通的字串'abc'在python內部都是ascii編碼的。

python在後來新增了對unicode的支援,以unicode表示的字串用u'...'表示,比如:

print u'中文'

中文

如果中文字串在python環境下遇到 unicodedecodeerror,這是因為.py檔案儲存的格式有問題。

可以在第一行新增注釋 :

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

目的是告訴python直譯器,用utf-8編碼讀取源**。然後用notepad++ 另存為... 並選擇utf-8格式儲存。

python的整數運算結果仍然是整數,浮點數運算結果仍然是浮點數:

1 + 2    # ==> 整數 3

1.0 + 2.0 # ==> 浮點數 3.0

但是整數和浮點數混合運算的結果就變成浮點數了:

1 + 2.0    # ==> 浮點數 3.0
只有true和false兩個值,可以用and、or、not運算(並、或、非)。

布林型別還可以與其他資料型別做 and、or和not運算,例如

a = true

print a and 'a=t' or 'a=f'

python把0、空字串''和none看成 false,其他數值和非空字串都看成 true,所以:

true and 'a=t' 計算結果是 'a=t'

繼續計算 'a=t' or 'a=f' 計算結果還是 'a=t'

短路計算:(可以解釋第3條)

python變數和資料型別

變數儲存在記憶體中的值。這就意味著在建立變數時會在記憶體中開闢乙個空間。基於變數的資料型別,直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中。因此,變數可以指定不同的資料型別,這些變數可以儲存整數,小數或字元。python 中的變數賦值不需要型別宣告。每個變數在記憶體中建立,都包括變數的標...

Python變數和資料型別

本節內容如下 變數是程式用來儲存資料的記憶體單元,可以通過變數名稱來操作這些資料和記憶體分配情況。既然,變數要占用記憶體空間,那麼,就要考慮如何分配記憶體的問題,何時分配 分配多大 何時 不過這些在python中都非常簡單,python通過自動記憶體管理以及實現了這些功能。上面我們說了變數是用來儲存...

Python變數和資料型別

變數命名規則 宣告變數 python不需要申明變數,變數一旦初始化,型別和值便確定了。根據值得型別來確定變數的型別。變數賦值 python中使用等號 作為賦值運算子,例如num 20就是一條賦值語句,這條語句用於將20裝入變數a中,這個過程就是賦值。num 20string mayun 多元賦值 另...