零基礎學Python--變量

本片文章介紹Python的變量,不同於C語言中的變量類型,Python的變量類型是不需要在定義時指定的,而變量的使用也可以想用時就用。下面我們就來介紹一下Python的變量的類型和使用方法。

變量賦值

Python的變量是等號右邊決定左邊,也就說你給它什麼,它就變成什麼?聽起來很隨便對吧!這就是Python的方便之處,但也會有因此帶來的需要注意的地方,這點我們後面再來討論。我們先來看Python賦值的例子,大家注意看註釋。

a = 1# 整型變量

b = 2.0 # 浮點型變量

c = 'Hello' # 字符串變量

如果我們用如下的print語句來打印他們的值,我們會發現輸出結果如下。

print(a, b, c)

1 2.0 Hello

多重賦值

Python裏支持多重賦值,這其實挺方便的,可以給多個變量賦同一個值,也可以將多個值賦給多個變量。

a = b = c = 123

a, b, c = 1, 2.0, 'Hello'

標準數據類型

在Python中有五種標準數據類型,分別是數字(Numbers)、字符串(String)、列表(List)、元組(Tuple)、字典(Dictionary)。下面我們就分別對它們進行一個簡要的介紹,具體詳細的討論我們會分幾篇文章來討論。

數字

數字類型顧名思義裏面存儲的是數字,當然數字的類型就多種多樣了。Python裏支持如下幾種數字類型。

整型

長整型

浮點

複數

支持複數這個很給力吧,事實上可能很多同學都已經忘記了複數是什麼了,我這裏提一句實部和虛部可能大家就想起來了。

變量的使用和賦值我們前面已經有講過了,很簡單。

a = 123

不過我們這裏額外介紹一個少有人用的技巧,由於Python和Java一樣也有垃圾回收機制,所以無論我們定義什麼變量,都不需要去釋放內存,基於這個原因,我一直認爲一個語言的靈魂在於它是否能讓程序員管理內存。我們在Python裏面可以告訴解釋器某個變量我不用了,使用如下的語句。

del a

字符串

在這裏我們對字符串只做一個簡略的介紹,因爲字符串算是可以講比較大篇幅的一個內容,也比較重要,我們會單獨來講一些技巧,儘可能的保證豐富。

s = 'Hello!'

字符串可以很方便的訪問每一個字符或者其中一部分,比如:

s[:3]

'Hel'

s[0]

'H'

列表

列表是Python中使用最廣泛的類型,而且功能強大。列表類似於C語言裏的數組,但是遠遠比C語言裏的用法要靈活的多。我們來看一個定義的例子:

l = [1 , 2, 3, 'hello', 'a']

print(l[0])

print(l[:3])

print(l[:])

print(l[2:])

print(l+l)

其運行結果分別爲:

1

[1, 2, 3]

[1, 2, 3, 'hello', 'a']

[3, 'hello', 'a']

[1, 2, 3, 'hello', 'a', 1, 2, 3, 'hello', 'a']

由此我們可以看到list的很多用法,此外list還可以進行排序、增加、刪除、修改、轉換爲字典等等一系列的操作,這部分我們後面會專門來講,本片文章僅僅是給大家一個基礎的概念。

元組

元組其實類似於列表,我們可以將其理解爲只讀的列表,也就是說元組的值是不可以修改的。它的定義方式如下:

t = (1 , 2, 3, 'hello', 'a')

print(t[0])

print(t[:3])

print(t[:])

print(t[2:])

print(t+t)

運行結果分別如下,我們可以看到和列表的結果是一樣的。

1

(1, 2, 3)

(1, 2, 3, 'hello', 'a')

(3, 'hello', 'a')

(1, 2, 3, 'hello', 'a', 1, 2, 3, 'hello', 'a')

但是如果我們對元組的值進行修改會發生什麼呢?我們用如下的列表和元組的例子分別來看一下。

l = [1 , 2, 3, 'hello', 'a']

l[0] = 6

print(l)

運行結果爲

[6, 2, 3, 'hello', 'a']

而元組的情況下呢?

t = (1 , 2, 3, 'hello', 'a')

t[0] = 6

print(t)

會如下錯誤

TypeError: 'tuple' object does not support item assignment

也就是說明了元組是隻讀的。

字典

字典也是Python裏面應用極廣的類型,並且非常的方便,個人非常喜歡使用。我們也在這裏只做簡單的介紹,它其實是一種哈希表。它擁有Key-Value的數據對,因此非常適合做一些數據分析和處理的時候使用,配合Pandas包使用更是如虎添翼。無論Key還是Value,都可以是任何類型的變量,因此使用起來非常的靈活。

d = {'a':1, 'b':2.0, 'c':'hello'}

print(d['a'])

print(d.keys())

print([k for k in d.keys()])

print(d.values())

print([v for v in d.values()])

其運行結果爲:

1

dict_keys(['a', 'b', 'c'])

['a', 'b', 'c']

dict_values([1, 2.0, 'hello'])

[1, 2.0, 'hello']

如果你去遍歷一個字典,你會發現它並不是按順序訪問的,這也是字典的特點。當然我們後面會介紹如何給字典排序,獲得順序輸出的字典。

數據類型轉換

我們這裏給出一些常用的數據類型轉換方式,供大家查閱。

int(x, base) # 轉整型,base表示指定x原來的類型,比如base=8,則原本爲八進制。

long(x, base) # 轉長整型,base表示指定x原來的類型,比如base=8,則原本爲八進制。

float(x) # 轉浮點。

complex(real, imag) # 創建一個複數。

str(x) # 轉字符串。

repr(x) # 轉爲機器可以理解的字符串,比如爲特殊字符添加轉義字符。

eval(str) #執行一個字符串表達式,返回運算結果。比如x=2; eval('3+x')結果爲5。

tuple(s) #轉爲元組。

list(s) # 轉爲列表。

10set(s) # 轉爲一個不重複的數據集,即將重複元素刪除。

11dict(d) # 將元組轉爲字典。

frozenset(s) # 轉爲一個不重複的數據集,即將重複元素刪除,但不可修改。

chr(x) # 將整型轉爲字符。

unichr(x) # 將整型轉爲Unicode字符。

ord(x) # 將字符轉爲整型。

hex(x) # 轉爲十六進制。

oct(x) # 轉爲八進制。

到此我們大家應該對Python的變量有了一個基本的感觀,也應該可以寫一些基本的驗證代碼了。其實Python的簡單是非常適合各行各業的人來使用的,事實上我接觸到一些國外的行業,他們跨學科的情況是比較普遍的。Python作爲一門膠水語言,確實應該普及到各行各業。

人工智能與深度學習做量化請關注:AI量化(https://t.zsxq.com/RvfY37y) 星球限時免費,如需加入,請私信我獲得免費邀請碼!

零基礎學習Python與深度學習應用請關注星球:Python與深度學習 https://t.zsxq.com/bUFayZ3

微信公衆號:QTechAI

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