python 中的資料皆是物件,比如被熟知的 int 整型物件、float 雙精度浮點型、bool 邏輯物件,它們都是單個元素。
可容納多個元素的容器物件,常用的比如:list 列表物件、 tuple 元組物件、dict 字典物件、set 集合物件。
python 中所有的字元或串都被統一為 str 物件。如單個字元 c 的型別也為 str。常見字串操作方法:
除了常見的str封裝的字串操作方法,也提供了re正則匹配:'_'
.join(
['book'
,'store'
,'count'])
#輸出'book_store_count'
例1:
功能:密碼的安全檢查python實現:密碼安全要求:
(1)要求密碼為 6 到 20 位;
(2)密碼只包含英文本母和數字;
python 使用關鍵字 class 定製自己的類,self 表示類例項物件本身。乙個自定義類內包括屬性、方法,其中有些方法是自帶的,可使用__dir__() 檢視這些自帶方法。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'
)#返回
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)
('i\'m %s, type: %s'
%(self.name, self.dtype)
)
(1)自定義方法的第乙個引數必須是 self,它指向例項本身,如 dog 型別的例項 dog;
(2) 引用屬性時,必須前面新增 self,比如 self.name 等;
(3)若要將某個變數或方法變為私有變數或方法,直接在變數名或方法名前加兩個』_』;
(4)若要將(3)中的某個類下定義的私有屬性改變為唯讀或只寫的特性,可採用@property裝飾,如:
(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
a_book = book(
'magic_book'
,100000
)#例項化
#直接.name就可訪問,而不需要寫成:a_book.name()函式呼叫的形式
a_book.name
#輸出: 'magic_book'
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...