當前位置:成語大全網 - 英語詞典 - python中的數據類型有哪些

python中的數據類型有哪些

python中的數據類型有9種,分別是1、字符串2、布爾類型3、整數4、浮點數5、數字6、列表7、元組8、字典9、日期。

1、字符串

1.1、如何在Python中使用字符串

a、使用單引號(')

用單引號括起來表示字符串,例如:

str='this is string';

print str;b、使用雙引號(")

雙引號中的字符串與單引號中的字符串用法完全相同,例如:

str="this is string";

print str;

c、使用三引號(''')

利用三引號,表示多行的字符串,可以在三引號中自由的使用單引號和雙引號,例如:

str='''this is string

this is pythod string

this is string'''

print str;2、布爾類型

bool=False;

print bool;

bool=True;

print bool;3、整數

int=20;

print int;4、浮點數

float=2.3;

print float;5、數字

包括整數、浮點數。

5.1、刪除數字對象引用,例如:

a=1;

b=2;

c=3;

del a;

del b, c;

#print a; #刪除a變量後,再調用a變量會報錯5.2、數字類型轉換

int(x [,base]) 將x轉換為壹個整數

float(x ) 將x轉換到壹個浮點數

complex(real [,imag]) 創建壹個復數

str(x) 將對象x轉換為字符串

repr(x) 將對象x轉換為表達式字符串

eval(str) 用來計算在字符串中的有效Python表達式,並返回壹個對象

tuple(s) 將序列s轉換為壹個元組

list(s) 將序列s轉換為壹個列表

chr(x) 將壹個整數轉換為壹個字符

unichr(x) 將壹個整數轉換為Unicode字符

ord(x) 將壹個字符轉換為它的整數值

hex(x) 將壹個整數轉換為壹個十六進制字符串

oct(x) 將壹個整數轉換為壹個八進制字符串5.3、數學函數

abs(x) 返回數字的絕對值,如abs(-10) 返回 10

ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5

cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045

fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0

floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4

log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x) 返回以10為基數的x的對數,如math.log10(100)返回 2.0

max(x1, x2,...) 返回給定參數的最大值,參數可以為序列。

min(x1, x2,...) 返回給定參數的最小值,參數可以為序列。

modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。

pow(x, y) x**y 運算後的值。

round(x [,n]) 返回浮點數x的四舍五入值,如給出n值,則代表舍入到小數點後的位數。

sqrt(x) 返回數字x的平方根,數字可以為負數,返回類型為實數,如math.sqrt(4)返回 2+0j6、列表

6.1、初始化列表,例如:

list=['physics', 'chemistry', 1997, 2000];

nums=[1, 3, 5, 7, 8, 13, 20];6.2、訪問列表中的值,例如:

'''nums[0]: 1'''

print "nums[0]:", nums[0]

'''nums[2:5]: [5, 7, 8] 從下標為2的元素切割到下標為5的元素,但不包含下標為5的元素'''

print "nums[2:5]:", nums[2:5]

'''nums[1:]: [3, 5, 7, 8, 13, 20] 從下標為1切割到最後壹個元素'''

print "nums[1:]:", nums[1:]

'''nums[:-3]: [1, 3, 5, 7] 從最開始的元素壹直切割到倒數第3個元素,但不包含倒數第三個元素'''

print "nums[:-3]:", nums[:-3]

'''nums[:]: [1, 3, 5, 7, 8, 13, 20] 返回所有元素'''

print "nums[:]:", nums[:]6.3、更新列表,例如:

nums[0]="ljq";

print nums[0];6.4、刪除列表元素

del nums[0];

'''nums[:]: [3, 5, 7, 8, 13, 20]'''

print "nums[:]:", nums[:];6.5、列表腳本操作符

列表對+和*的操作符與字符串相似。+號用於組合列表,*號用於重復列表,例如:

print len([1, 2, 3]); #3

print [1, 2, 3] + [4, 5, 6]; #[1, 2, 3, 4, 5, 6]

print ['Hi!'] * 4; #['Hi!', 'Hi!', 'Hi!', 'Hi!']

print 3 in [1, 2, 3] #True

for x in [1, 2, 3]: print x, #1 2 36.6、列表截取

L=['spam', 'Spam', 'SPAM!'];

print L[2]; #'SPAM!'

print L[-2]; #'Spam'

print L[1:]; #['Spam', 'SPAM!']6.7、列表函數&方法

list.append(obj) 在列表末尾添加新的對象

list.count(obj) 統計某個元素在列表中出現的次數

list.extend(seq) 在列表末尾壹次性追加另壹個序列中的多個值(用新列表擴展原來的列表)

list.index(obj) 從列表中找出某個值第壹個匹配項的索引位置,索引從0開始

list.insert(index, obj) 將對象插入列表

list.pop(obj=list[-1]) 移除列表中的壹個元素(默認最後壹個元素),並且返回該元素的值

list.remove(obj) 移除列表中某個值的第壹個匹配項

list.reverse() 反向列表中元素,倒轉

list.sort([func]) 對原列表進行排序7、元組(tuple)

Python的元組與列表類似,不同之處在於元組的元素不能修改;元組使用小括號(),列表使用方括號[];元組創建很簡單,只需要在括號中添加元素,並使用逗號(,)隔開即可,例如:

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";創建空元組,例如:tup = ();

元組中只有壹個元素時,需要在元素後面添加逗號,例如:tup1 = (50,);

元組與字符串類似,下標索引從0開始,可以進行截取,組合等。

7.1、訪問元組

tup1 = ('physics', 'chemistry', 1997, 2000);

#tup1[0]: physics

print "tup1[0]: ", tup1[0]

#tup1[1:5]: ('chemistry', 1997)

print "tup1[1:5]: ", tup1[1:3]7.2、修改元組

元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,例如:

tup1 = (12, 34.56);

tup2 = ('abc', 'xyz');

# 以下修改元組元素操作是非法的。

# tup1[0] = 100;

# 創建壹個新的元組

tup3 = tup1 + tup2;

print tup3; #(12, 34.56, 'abc', 'xyz')7.3、刪除元組

元組中的元素值是不允許刪除的,可以使用del語句來刪除整個元組,例如:

tup = ('physics', 'chemistry', 1997, 2000);

print tup;

del tup;7.4、元組運算符

與字符串壹樣,元組之間可以使用+號和*號進行運算。這就意味著他們可以組合和復制,運算後會生成壹個新的元組。

7.5、元組索引&截取

L = ('spam', 'Spam', 'SPAM!');

print L[2]; #'SPAM!'

print L[-2]; #'Spam'

print L[1:]; #['Spam', 'SPAM!']7.6、元組內置函數

cmp(tuple1, tuple2) 比較兩個元組元素。

len(tuple) 計算元組元素個數。

max(tuple) 返回元組中元素最大值。

min(tuple) 返回元組中元素最小值。

tuple(seq) 將列表轉換為元組。8、字典

8.1、字典簡介

字典(dictionary)是除列表之外python中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典由鍵和對應的值組成。字典也被稱作關聯數組或哈希表。基本語法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};也可如此創建字典:

dict1 = { 'abc': 456 };

dict2 = { 'abc': 123, 98.6: 37 };每個鍵與值必須用冒號隔開(:),每對用逗號分割,整體放在花括號中({})。鍵必須獨壹無二,但值則不必;值可以取任何數據類型,但必須是不可變的,如字符串,數或元組。

8.2、訪問字典裏的值

#!/usr/bin/python

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};

print "dict['name']: ", dict['name'];

print "dict['age']: ", dict['age'];8.3、修改字典

向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

#!/usr/bin/python

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};

dict["age"]=27; #修改已有鍵的值

dict["school"]="wutong"; #增加新的鍵/值對

print "dict['age']: ", dict['age'];

print "dict['school']: ", dict['school'];8.4、刪除字典

del dict['name']; # 刪除鍵是'name'的條目

dict.clear(); # 清空詞典所有條目

del dict ; # 刪除詞典例如:

#!/usr/bin/python

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};

del dict['name'];

#dict {'age': 7, 'class': 'First'}

print "dict", dict;註意:字典不存在,del會引發壹個異常

8.5、字典內置函數&方法

cmp(dict1, dict2) 比較兩個字典元素。

len(dict) 計算字典元素個數,即鍵的總數。

str(dict) 輸出字典可打印的字符串表示。

type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。

radiansdict.clear() 刪除字典內所有元素

radiansdict.copy() 返回壹個字典的淺復制

radiansdict.fromkeys() 創建壹個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值

radiansdict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值

radiansdict.has_key(key) 如果鍵在字典dict裏返回true,否則返回false

radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數組

radiansdict.keys() 以列表返回壹個字典所有的鍵

radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設為default

radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict裏

radiansdict.values() 以列表返回字典中的所有值9、日期和時間

9.1、獲取當前時間,例如:

import time, datetime;

localtime = time.localtime(time.time())

#Local current time : time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yday=80, tm_isdst=0)

print "Local current time :", localtime說明:time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yday=80, tm_isdst=0)屬於struct_time元組,struct_time元組具有如下屬性:

9.2、獲取格式化的時間

可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函數是asctime():

2.1、日期轉換為字符串

首選:print time.strftime('%Y-%m-%d %H:%M:%S');

其次:print datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')

最後:print str(datetime.datetime.now())[:19]

2.2、字符串轉換為日期

expire_time = "2013-05-21 09:50:35"

d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")

print d;9.3、獲取日期差

oneday = datetime.timedelta(days=1)

#今天,2014-03-21

today = datetime.date.today()

#昨天,2014-03-20

yesterday = datetime.date.today() - oneday

#明天,2014-03-22

tomorrow = datetime.date.today() + oneday

#獲取今天零點的時間,2014-03-21 00:00:00

today_zero_time = datetime.datetime.strftime(today, '%Y-%m-%d %H:%M:%S')

#0:00:00.001000

print datetime.timedelta(milliseconds=1), #1毫秒

#0:00:01

print datetime.timedelta(seconds=1), #1秒

#0:01:00

print datetime.timedelta(minutes=1), #1分鐘

#1:00:00

print datetime.timedelta(hours=1), #1小時

#1 day, 0:00:00

print datetime.timedelta(days=1), #1天

#7 days, 0:00:00

print datetime.timedelta(weeks=1)