Python自學教程4-數據類型學什麼

Hi,我是九柄,全網同號,今天我們說說Python的數據類型。

python數據類型有什麼特點

每一門編程語言都要學數據類型的,每種類型的操作會稍微有一點區別。Python是一門非常靈活的編程語言,數據類型的指定和其他編程語言會稍微有一點區別。

首先,Python 不需要顯性聲明數據的類型,當定義變量的時候,會智能判斷變量存儲的類型。

name = "jiubing"
age = 19
公號 = "九柄"

其次,在定義變量時,不需要指定一個數據,這樣程序才知道它的數據類型。

name    # 錯誤寫法,變量沒寫數據

Python是強類型的編程語言

你可能經常會聽說一門編程語言是強類型還是弱類型,其實你不需要太去深究這個概念,只需要大概知道,強類型語言不能用兩個不同類型的數據進行運算就可以了(不是絕對的)。

python 是強類型的,所以運算時,要注意是否同類型。

"jiubing"  + 1    #錯誤寫法
"jiubing" * 3   # 但這個是正確的

數據類型有哪些

Python 裏面常用的數據類型有:

  • str 字符串
  • int 整型
  • float 浮點數
  • bool 布爾
  • list 列表
  • dict 字典
  • tuple 元組
  • set 集合
  • NoneType 空類型

每一個數據類型的表示都有一個小小案例,眼熟就夠了,後面每種數據類型都會詳細講。

# str
"hello"

int

3

float

3.1

bool

True

list

[1,2,3]

dict

{"name": "mingtian"}

tuple

(1,2)

set

{1,2,3}

NoneType

None

數據類型判斷

雖然我們寫了這麼多數據,但是並不知道在 python 中他們真的數據類型是什麼。isinstance() 這個操作可以判斷一個數據是否爲某個數據類型。 但是 None 不能用這個判斷。

# str
print(isinstance("hello", str))

int

print(isinstance(3, int))

float

print(isinstance(3.1, float))

bool

print(isinstance(True, bool))

list

print(isinstance([1,2,3], list))

dict

print(isinstance({"name": "mingtian"}, dict))

tuple

print(isinstance((1,2), tuple))

set

print(isinstance({1,2,3}, set))

NoneType

print(None is None)
True
True
True
True
True
True
True
True
True

有的教程會用 type() 這個操作判斷數據類型,但是 isinstance 會更加常用,我個人認爲 type 稍微瞭解就可以了。

數據類型轉換

幾乎所有的數據類型都是可以轉化成字符串的,但是反過來則不一定。數據類型轉換需要滿足特定的規則。

轉化成整型

  # float 轉成 int, 去掉小數點
  print(int(1.7))

bool 轉成 int, True 爲 1, False 爲 0

print(int(True))

str 轉成 int, 必須是整數格式

print(int("4"))
1
1
4

轉換成浮點數

  # int 轉換成 float
  print(float(3))

bool 轉換成 float

print(float(True))

str 轉成 float, 必須是浮點格式

print(float("4.6"))
3.0
1.0
4.6

轉換成布爾類型

  # int 轉換成 bool, 0 爲 False, 其他爲 True
  print(bool(3))
  print(bool(0))

float 轉換成 bool, 和 int 一樣

print(bool(-1.2))

str 轉成 bool, "" 爲 False, 其他爲 True

print(bool(""))
print(bool("ab"))

tuple 轉成 bool, 空爲 False

list 轉成 bool, 空爲 False

dict 轉成 bool, 空爲 False

set 轉成 bool, 空爲 False

print(bool([]))
True
False
True
False
True
False

轉換成列表

一般是容器類型才能相互完成轉換。

  # str -> list ,拆分字符
  print(list("沒那麼簡單"))

dict -> list ,得到所有的 key

print(list({"name": "mingtian"}))
['沒', '那', '麼', '簡', '單']
['name']

轉換成字典

首先原類型是一個序列,序列當中的每個元素需要包含兩個元素,作爲鍵值對。

  origin = [("name","mingtian"), ("age", "19")]
  print(dict(origin))
  {'name': 'mingtian', 'age': '19'}

可變數據類型和不可變類型

每一個數據都會存在電腦內存當中某個位置, 有的數據定義好了之後,可以修改,而有的數據類型則不能被修改。 數據類型可變性直接決定了以後的操作,如果不深入理解,代碼經常會出問題。

而現在只需要大概瞭解,後面再深入講解。

Python 的可變類型:

  • 列表
  • 字典
  • 集合

Python 的不可變類型:

  • 字符串
  • 整型
  • 浮點數
  • 布爾
  • 元組

數據類型學什麼

總體上來說,看到一個數據,能馬上能識別它是什麼類型就可以了。 隨後,就可以根據不同的數據類型執行對應的操作。 必要的時候,還需要對數據類型進行轉換。

數據類型中,列表、字典、元組經常會在面試題中出現,在面試之前需要額外留意,我整理的面試八股文中就有很多這樣的題。

數據類型還有很多非常詳細的操作,尤其是字符串、列表、字典需要使用非常多,需要仔細掌握。

我是九柄,下期見啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章