1. 程式人生 > >Learn python with socratica [My notes]

Learn python with socratica [My notes]

Lesson 4

python2的資料型別與python3有一些不同,本節課使用python2做一做實驗:

Whole numbers: Int, Long

# Types of numbers in python2: int, long, float, complex

# python 2.7
# Whole numbers: int, long

a = 28 # This is a perfect number

# use type function to get a's type
type(a)

int

‘a’ 是一個整型資料,不是長整型。如果輸入a,python會怎麼輸出呢?

a

28

python直接輸出a的值。當然,python也可以使用print function把a的值打印出來:

print(a)

28

如果你想知道資料型別的邊界,可以呼叫sys包:

import sys
sys.maxint

9223372036854775807

下面,我們做一個有趣的實驗。如果我們輸入這個MaxInt邊界會是什麼資料型別,如果越界會是什麼型別:

b = 9223372036854775807
print('type of b:')
type(b)

type of b:

int

c = 9223372036854775808
print('type of c:')
type(c)

type of c:

long

如果輸入‘c’,python會如何輸出c的值呢?試一下:

c

9223372036854775808L

可以發現python在c值的後面加上了L,表示c是一個是長整型。這幫助python去區分整型和長整型的Numbers,但是print function不會對其進行區分,該函式都是將輸入處理成字串輸出。

print(c)

9223372036854775808

下面我們來看看int的下界:

d = - sys.maxint -1
type(d)

int

d

-9223372036854775808

當然如果學過C++或者java,這部分應該是瞭解的。

e = -9223372036854775809
type(e)

long

如果想要直接建立一個Long型的資料,直接賦值的時候在後面加上L,python就可以識別出來:

f = 1L
type(f)

long

Next: Floats

下面接著介紹python的下一個資料型別 Floats,也就是我們常說的浮點型。

得到浮點數的最簡單方式就是直接輸入:

e = 2.718281828
# get the type
type(e)

float

Another: Complex Numbers

python複數形式的表達,複數有兩個部分,python的表達與數學上有些許的不同:

# python way to create a complex number
z = 3 + 5.7j
# you can check the number z using type function
type(z)

complex


# the display is complex, and then
# you can get z's real part and imag part
print("z's real part:")
z.real

z's real part:

3.0

print("z's imag part:")
z.imag

z's imag part:

5.7

以上就是python2所有資料型別的講解,下節課我們來看看python3在這個方面有那些不同。