2019年5月22日 星期三

Python 自學方案- Step(四)

python變數使用無需事先宣告,但是必須先給予值,如果沒事先給值就直接使用變數,就會出現錯誤並告知尚未定義變數,如下:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x # 嘗試使用一個未定義的變數
Traceback (most recent call last):
  File "", line 1, in
NameError: name 'x' is not defined
>>>

Python的字串可以使用雙引號或單引號包覆

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a=12
>>> b=12.3
>>> c="Hello World"
>>> d=True
>>> e=a*b

Python內建型態的資料型態有以下幾種

  • 數值型態(Numeric type) - int, float, bool (python 3.7沒有Long型態,由int取代)
  • 字串型態(String type)
  • 容器型態(Container type) - list, set, dict, tuple

可以用type()函數來確認目前變數型態,如上述變數 a~e

>>> type(a)
〈class 'int'〉
>>> type(b)
〈class 'float'〉
>>> type (c)
〈class 'str'〉
>>> type(d)
〈class 'bool'〉
>>> type (e)
〈class 'float'〉
>>> 

有時候,需要對資料內置的類型進行轉換,資料類型的轉換,只需要將資料類型作為函數名即可。

  • int(x) 將x轉換為一個整數。
  • float(x) 將x轉換到一個浮點數。
  • complex(x) 將x轉換到一個複數,實數部分為 x,虛數部分為 0。
  • complex(x, y) 將 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數字運算式。

>>> a=12.55
>>> b=int(a) #將a轉成Integer(整數)
>>> print(type(b),"= ",b)
=  12 #轉成整數後小數點會被無條件省略
>>> 
>>> c=float(b) # 將b整數轉為浮點數
>>> print(type(c),"= ",c)
=  12.0 #轉成整數後小數點會自動帶出
>>>

文字轉數字,除非文字本身都是數字型態,否則會出現錯誤訊息,如下

>>> a="0123456789"
>>> b=int(a)
>>> print(b)
123456789
>>> a="abcd"
>>> b=int(a)
Traceback (most recent call last):
  File "", line 1, in
    b=int(a)
ValueError: invalid literal for int() with base 10: 'abcd'
>>> a="1234qwer"
>>> b=int(a)
Traceback (most recent call last):
  File "", line 1, in
    b=int(a)
ValueError: invalid literal for int() with base 10: '1234qwer'
>>>  

0123456789的文字可以正常轉換為整數 123456789
但是 abcd 以及 1234qwer,因帶有文字所以無法轉換,出現錯誤訊息

變數不使用,也可以將其刪除(釋放),使用del()函數

>>> del(a) #將變數a刪除
>>> a
#由於變數a已經刪除,故使用相同變數名稱就會出現錯誤訊息
Traceback (most recent call last):
  File "", line 1, in
    a
NameError: name 'a' is not defined
>>>  

沒有留言: