python四大資料型別總結

2021-10-06 11:18:26 字數 2994 閱讀 1491

python 中的資料皆是物件,比如被熟知的 int 整型物件、float 雙精度浮點型、bool 邏輯物件,它們都是單個元素。

可容納多個元素的容器物件,常用的比如:list 列表物件、 tuple 元組物件、dict 字典物件、set 集合物件。

python 中所有的字元或串都被統一為 str 物件。如單個字元 c 的型別也為 str。常見字串操作方法:

'_'

.join(

['book'

,'store'

,'count'])

#輸出'book_store_count'

除了常見的str封裝的字串操作方法,也提供了re正則匹配:

例1:

功能:密碼的安全檢查

密碼安全要求:

(1)要求密碼為 6 到 20 位;

(2)密碼只包含英文本母和數字;

python實現:

import re

pat = re.

compile

(r'\w'

)# 這是錯誤的,因為 \w 萬用字元匹配的是字母,數字和下劃線,題目要求不能含有下劃線

# 使用最穩的方法:\da-za-z 滿足「密碼只包含英文本母和數字」

# \d匹配數字 0-9

# a-z 匹配所有小寫字元;a-z 匹配所有大寫字元

pat = re.

compile

(r'[\da-za-z]'

)#測試,可通過fullmatch方法,匹配不成功返回none,否則返回匹配物件說明

pat.fullmatch(

'qaz12'

)# 返回 none,長度小於 6

pat.fullmatch(

'qaz12wsxedcrfvtgb67890942234343434'

)# none 長度大於 22

pat.fullmatch(

'qaz_231'

)# none 含有下劃線

pat.fullmatch(

'n0passw0rd'

)#返回

python 使用關鍵字 class 定製自己的類,self 表示類例項物件本身。乙個自定義類內包括屬性、方法,其中有些方法是自帶的,可使用__dir__() 檢視這些自帶方法。

class

dog(

object):

pass

#定義乙個 dog 物件,它繼承於根類 object,pass 表示沒有自定義任何屬性和方法。

#通過 __init__,定義 dog 物件的兩個屬性:name、dtype。

def__init__

(self, name, dtype)

: self.name = name

self.dtype = dtype

#wangwang 是 dog 類的例項

wangwang = dog(

'wangwang'

,'cute_type'

)

def

shout

(self)

:print

('i\'m %s, type: %s'

%(self.name, self.dtype)

)

注意:

(1)自定義方法的第乙個引數必須是 self,它指向例項本身,如 dog 型別的例項 dog;

(2) 引用屬性時,必須前面新增 self,比如 self.name 等;

(3)若要將某個變數或方法變為私有變數或方法,直接在變數名或方法名前加兩個』_』;

(4)若要將(3)中的某個類下定義的私有屬性改變為唯讀或只寫的特性,可採用@property裝飾,如:

class

book

(object):

def__init__

(self,name,sale)

: self.__name = name #私有

self.__sale = sale #私有

@property

defname

(self)

:return self.__name

a_book = book(

'magic_book'

,100000

)#例項化

#直接.name就可訪問,而不需要寫成:a_book.name()函式呼叫的形式

a_book.name

#輸出: 'magic_book'

(4)若要將(3)中的某個類下定義的私有屬性改變為既可讀又可寫的特性,可增加裝飾器@name.setter裝飾,也就是在@property裝飾之後,加上setter函式再包裝已被包裝為property例項的name,如:

class

book

(object):

def__init__

(self,name,sale)

: self.__name = name #私有

self.__sale = sale #私有

@property

defname

(self)

:return self.__name #唯讀

@name.setter

defname

(self,new_name)

: self.__name = new_name #既可讀又可寫

a_book = book(

'magic_book'

,100000

)a_book.name =

'magic_book_2.0'

a_book.name

#輸出: 'magic_book_2.0'

大資料的四大特點

說起大資料,估計大家都覺得只聽過概念,但是具體是什麼東西,怎麼定義,沒有乙個標準的東西,因為在我們的印象中好像很多公司都叫大資料公司,業務形態則有幾百種,感覺不是很好理解,所以我建議還是從字面上來理解大資料,在維克托邁爾 捨恩伯格及肯尼斯庫克耶編寫的 大資料時代 提到了大資料的4個特徵 在這裡相信有...

Redis學習 Nosql概述,資料型別,四大分類

1 單機mysql的時代 2 memcached 快取 mysql 垂直拆分 80 的情況都是在讀取,每次都要去查詢資料庫的話就會很麻煩,所以說我們希望減輕資料庫的壓力,我們可以使用快取來 保證效率。發展過程 優化資料結構和索引 檔案快取 io memcached 當時最熱門的技術 3 分庫分表 水...

四 Redis五大資料型別

redis的五大資料型別 1.string 字串 string是redis最基本的型別,你可以理解成與menmcached一模一樣的型別,乙個key對應乙個value string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg或者序列化物件 string型別是red...