Python 變數與資料型態

變數是什麼?

程式設計中不外乎就是在處理很多的資料,這些資料都由不同的變數為名來存取。

變數(Variable)是指一個資料在記憶體中的儲存位址,也就是記憶體中資料他家的地址

可以隨時賦予一個變數新的值,也可以隨時提取該變數的值。都是透過變數的名稱來存取。


變數命名

1. python 變數命名規則

a. 只能用大小寫字母、數字、 _ 、中文(或其他除了關鍵字、特殊符號等之外的Unicode字元)。

b. 第一個字不能是數字。

c. 英文大小寫字母視為不同。 (Case Sensitive)

d. 不能用保留字。

2. 正確的變數

myName= "吳辛巴"

my_name= "吳辛巴"

_my_name = "吳辛巴"

姓名 = "吳辛巴"

myFullName = "吳辛巴"

MYFIRSTName = "吳辛巴"

myfirstname = "吳辛巴"

3. 錯誤變數

例如: 4季、 $price、first&lastName、for、input 等等

4. 有一種命名規則

首字小寫,之後每個單字首字大寫。

例如:customerName、studentHeight、studentBloodType、movieTheaterAddress 等等。

保留字-列表參考

Python 保留字是 Python 已經保留作特定用途的、有特殊義意的字,不能再用來命名為變數、函式、類別等的名字。保留字列表如下:

變數與值的設定

1. 變數不需要宣告即可直接使用。語法為:

變數名稱 = 運算式值


2. Python 會根據資料,自己決定資料型態。

例如: a = 60 #Python 會設定為 int 整數

例如: b = "hello" #Python 會設定為 str 字串


3. Python 可以用一個敘述設定多個變數的值。這在其他語言則不合法。但在 Python 可以。

例如: a=b=c=120


4. Python 可以用一個敘述指定多個變數,各自的值

例如: price, pname = 520, 'John'


5. 變數不用時可以刪除。語法如下:

del 變數名稱

例如: del price


6. 字串可以用單引號或雙引號

print('Hello')

print("Hello")


內建資料型態種類

a. 數值型態:int, float, complex

int: 整數,沒有小數

x = 105

float: 浮點數,有小數

x = 105.65

complex: 複數,用大寫 J 或小寫 j 表示複數部分

x = 2 + 5j

y = 3 + 2J


b. 字串型態:str

可以用單引號或雙引號

x = 'Hello'

y = "World!"


c. 布林: bool

只有 True 或 False 2種值

x = True #大寫T

y = False #大寫F


d. 序列型態:list, tuple

list: 串列,用[中括號]。是有順序,可改變內容,型態可不一樣的資料。

x = ["中正", 1, "鳳山", 2]

y = ['中正', 1, '五福', 2, '鳳山', 3]

tuple: 元組,用(小括號)。是有順序,不可改變內容,型態可不一樣的資料。

x = ("中正", 1, "鳳山", 2)

y = ('中正', 1, '五福', 2, '鳳山', 3)

e . 對應型態:dict

用{大括號}是沒有順序,沒有重複,可改變內容,型態可不一樣的資料。

x = {"姓名" : "張三", "年齡" : 36}

f. 集合型態:set, frozenset

set:用{大括號}是沒有順序,沒有重複,可改變內容,型態可不一樣的資料。

x = {"apple", "banana", "cherry"}

frozenset:用{大括號}是沒有順序,沒有重複,不可改變內容,型態可不一樣的資料。

x = {"apple", "banana", "cherry"}


查詢變數資料型態的方法

使用 type() 這個函數來查詢。

例如:

x = 1

print(type(x))

執行結果是:

<class 'int'> #整數 的類別


資料型態轉換 (casting)

a. 自動轉換

若有多種形態運算,會自動把範圍小的轉成範圍大的,再做運算。

例如:

x = 7 + 8.5 #會將 7 變 7.0 再加上 8.5,結果是 15.5

y = 12 + True #會將 True 轉成 1, 再運算,結果是 13


b. 強制轉換

強制將一個值從一種型態轉變為另外一種型態,也叫做 casting

int(): 轉成整數,取整數部分

float():轉成浮點數

str():轉成字串

eval( 字串運算式 ):將字串中的運算式運算後,傳回計算結果。如果是數值會自動判斷回傳整數或浮點數。字串運算式中可以有變數。

例如:

a = int(5) #5

b = int(2.6) #2

c = int("4") #4

x = float(1) #1.0

y = float(4.68) #4.68

z = float("3") #3.0

w = float("4.2") #4.2

x = str("s1") # 's1'

y = str(3.7) # '3.7'

z = str(5) # '5'

h = 'test'

a='3+15' #3+15

b= eval('3+15') #18

c = 'hello ' + 'Simba!' #hello Simba!

eval('c') #hello Simba!

a = 5

b = 4.5

c = eval('a+b') #9.5

print('型態是',type(c)) #型態是 <class 'float'>

a = 3

b = 4

c = eval('a+b') #7

print('型態是',type(c)) #型態是 <class 'int'>


c. 如果本來的值就無法這樣轉換 (例如想要把字串轉換成整數),就會出現 Value Error。

a = 5566 + 'Hello!' #錯誤

b = '5566' + 10 #錯誤