2.1 常用資料型別

weixin_50244954發表於2020-10-13

2.1 一部分常用資料型別

其實程式在大部分情況下做的都是對各種資料的處理

下面介紹python常見的資料型別

整數(int):就是數學裡面的整數,比如:2558

浮點數(float):也叫小數,比如:3.14

布林型:True、False

字串:例如 ‘my name is TOM’

試一試常見運算

加法

>>>3+5
8

減法

>>>5-2
3

乘法

>>>2*8
16

除法,結果保留小數點

>>>9/4
2.25

除法,取商

>>>9//4
2

除法,取餘數

>>>9%4
1

次方

>>>2**4
16

混合運算,括號可以提高運算優先順序

[複製程式碼](javascript:void(0)?

>>>7+2*2
11
>>>(7+2)*2
18
>>>(118+998)*2.0/45
49.15555555555556

[複製程式碼](javascript:void(0)?

字串

>>>'my name is tom'
my name is tom

簡單的字串拼接

>>>'my name is ' + 'tom'
my name is tom

2.2 python的輸入和輸出

之前的課程我使用過print()函式,print()不僅僅只有輸出內容一個引數,還可以使用help()函式檢視print()函式的引數列表

img

print()函式裡面的引數分別是:

1、value:該引數在print中表示要輸出的值,此值可以是任意資料型別,其後面的省略號表示一次可以輸出多個多個值

2、sep:該參數列示在輸出多個值時,多個值之間用什麼分隔,預設為空格

img

3、end:該引數是用來表示在輸出之後怎麼處理游標位置的,預設為換行等待下次輸出。這個引數也可以重新賦值,如果期望每次輸出都在一行顯示。那麼,只需要將此引數設定為end="" **此處教材有錯誤

img

4、file:該引數用來處理I/O的inputstream的,我們可以給file賦值檔案流物件,比如:

img

5、輸入函式input()

>>>a = input("請輸入:")
請輸入:1
>>>a
'1'
>>>

python3版本中input()函式,將所有輸入的型別都變成了一個字串!!!,當我們需要將輸入的序列從字串轉換到相應的物件時:

>>> a = int(input("請輸入:"))
請輸入:12
>>>type(a)
<class 'int'>
>>>

2.3 變數

假設我們要把字串,輸入5遍

print(“my name is Augus,  i feel ver good today”+    “my name is Augus,  i feel ver good today”+    “my name is Augus,  i feel ver good today”+    “my name is Augus,  i feel ver good today”+    “my name is Augus,  i feel ver good today”)

可上面這樣子,這麼長,輸入5遍太累把???

小白呢?就去查資料,發現可以使用一個東西來代表上面的字串物件。這個東西就是變數

num = “my name is Augus,I feel very good today”
print(num+num+num+num+num)

這裡面num就是一個變數,這句話定義了num變數,並且給他賦值為“my name is Augus, I feel verry good tody”,以後,凡是程式碼裡面用到了num,直譯器就知道指的是“my name is Augus,I feel very good tody”

變數的主要作用是,用來指向一個記憶體中的資料

1、變數的命名規則

python變數的命名和其他高階語言,比如C語言,差別不大。一般以字母開頭,中間可以按需要使用下劃線——或者數字。如下變數名都是合法:

My,my,my_name,name1,name2sid

變數進行命名的時候,要儘量使用容易理解這個變數作用的詞語,作為變數名

2、變數的賦值和物件的儲存

C語言或者java語言,它們對變數需要先定義後使用。而python中變數在首次賦值的過程中就同時被定義了

比如:

username = “Augus”

這個語句會在記憶體中建立一個字串物件“Augus”,並在名稱空間(namespace)裡面用username這個名字指向它的地址,就像下面的圖示一樣

img

這個指向物件的指向,術語叫做引用

如果我們在執行完上述程式碼後,在執行下面的程式碼

username = ‘songziwen’

會發什麼什麼情況

這個時候,直譯器會在記憶體中建立一個字串物件“songziwen”。並且讓username這個變數指向心得字串物件,如下圖所示

img

原來的字串物件“Augus”,現在沒有任何變數指向它了

這是什麼情況呢?

python直譯器定期會檢查有 哪些物件沒有任何東西指向它。python直譯器就會認為這些沒有任何引用的物件就已經沒用了。會在適當的時候,

把它們從記憶體中清除掉,這樣子它們所佔的記憶體空間可以用來存放其他別的物件

img-VvMyeO6A-1602591612749)]

原來的字串物件“Augus”,現在沒有任何變數指向它了

這是什麼情況呢?

python直譯器定期會檢查有 哪些物件沒有任何東西指向它。python直譯器就會認為這些沒有任何引用的物件就已經沒用了。會在適當的時候,

把它們從記憶體中清除掉,這樣子它們所佔的記憶體空間可以用來存放其他別的物件

所以原來的字串物件“Augus”,會在某個時候被清除

相關文章