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 #錯誤