Python基礎(chǔ)知識

1. 數(shù)據(jù)類型:

Numbers(數(shù)字):包括int(有符號整型)吗蚌、long(長整型[也可以代表8進制和16進制])楣责、float(浮點型)、complex(復(fù)數(shù))
布爾類型:包括True和False
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
可變數(shù)據(jù)類型:列表,字典
不可變數(shù)據(jù)類型:數(shù)字氧猬、字符串妈嘹、元組

2. 切片

字符串柳琢、列表、元組都支持切片操作
切片操作語法[起始:結(jié)束:步長]
切片區(qū)間左閉右開

3. 字符串操作

find 檢查str是否包含在mystr中,如果是返回索引柬脸,否則返回-1
mystr.find(str, start=0, end=len(mystr))

index 跟find一樣痘绎,只不過如果str不在mystr會報異常
mystr.index(str, start=0, end=len(mystr))

rfind 返回字符串最后一次出現(xiàn)的位置,如果沒有匹配項則返回 -1
mystr.rfind(str, beg=0 end=len(string))

rindex 跟rfind一樣肖粮,只不過如果str不在mystr會報異常
mystr.rindex(str, start=0, end=len(mystr))

count 返回str在start和end之間孤页,在mystr里面出現(xiàn)的次數(shù)
mystr.count(str, start, end=len(mystr))

replace 把mystr中的str1替換成str2,如果count指定涩馆,則替換不超過count次
mystr.replace(str1, str2, mystr.count(str1))

split 以str為分隔符切片mystr, 如果maxsplit有指定值行施,則僅分割maxsplit個子字符串
mystr.split(str=" ", 2)

capitalize 把字符串的第一個字符大寫
mystr.capitalize()

title 把字符串的每個單詞首字母大寫
mystr.title()

startswith 檢查字符串是否以obj開頭,是則返回True魂那,否則返回False
mystr.startwith('obj')

endswith 檢查字符串是否以obj結(jié)尾蛾号,是則返回True,否則返回False
mystr.endswith('obj')

lower 轉(zhuǎn)換mystr中所有大寫字符為小寫
mystr.lower()

upper 轉(zhuǎn)換mystr中所有小寫字符為大寫
mystr.upper()

ljust 返回一個原字符串左對齊涯雅,并使用空格填充至長度width的新字符串
mystr.ljust(width)

rjust 返回一個原字符串右對齊鲜结,并使用空格填充至長度width的新字符串
mystr.rjust(width)

center 返回一個原字符串居中,并使用空格填充至長度width的新字符串
mystr.center(width)

lstrip 刪除mystr左邊的空白字符
mystr.lstrip()

rstrip 刪除mystr右邊的空白字符
mystr.rstrip()

strip 刪除mystr字符串兩端的空白字符
mystr.strip()

partition 把mystr以str分割成三部分活逆,str前精刷,str,str后
mystr.partition(str)

splitlines 按照行分隔蔗候,返回一個包含各行作為元素的列表
mystr.splitlines()

isalpha 如果mystr所有字符都是字母怒允,則返回True,否則返回False
mystr.isalpha()

isdigit 如果mystr只包含數(shù)字則返回True锈遥,否則返回False
mystr.isdigit()

isalnum 如果mystr所有字符都是字母或數(shù)字則返回True纫事,否則返回False
mystr.isalnum()

isspace 如果mystr中只包含空格則返回True,否則返回False
mystr.isspace()

join 將序列中的元素以指定的字符(str)連接生成一個新的字符串
str.join(sequence)

5. 列表

添加元素(append, extend, insert)
append 向列表添加元素
A.append(str)
A.insert(index, object)

修改元素
通過下標直接修改
A[1] = str

查找元素
in(存在) 如果存在為True所灸,否則為False
not in(不存在) 如果不存在為True丽惶,否則為False
index 查詢元素并返回下標,如不存在爬立,拋出異常 A.index('a', start, end)
count 統(tǒng)計元素個數(shù) A.count('a')

刪除元素 (del, pop, remove)
del 根據(jù)下標刪除 del A[2]
pop 刪除并返回最后一個元素
remove 根據(jù)元素值刪除

排序(sort, reverse)
sort 默認從小到大排序 參數(shù)reverse=True 可以改為倒序钾唬,從大到小 A.sort()
reverse 將列表倒序 A.reverse()

排序(sorted)
sorted(iterable,key=None,reverse=False) # cmp參數(shù)在Python3中廢除

a = [5, 7, 6, 3, 4, 1, 2]
b = sorted(a) # 保留原列表
print(a)
print(b)

返回

[5, 7, 6, 3, 4, 1, 2]
[1, 2, 3, 4, 5, 6, 7]

通過key排序

L = [('b', 2), ('a', 1), ('c', 3), ('d', 4)]
M = sorted(L, key=lambda x: x[1])
N = sorted(L, key=lambda x: x[1], reverse=True) # 倒序
print(L)
print(M)
print(N)

返回

[('b', 2), ('a', 1), ('c', 3), ('d', 4)]
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
[('d', 4), ('c', 3), ('b', 2), ('a', 1)]
6. 元組

元組與列表類似懦尝,不同之處是元組不能修改知纷,使用小括號
通過下標訪問元組,修改元組值會報異常

index和count與字符串和列表中的用法相同
index 查詢元素并返回下標陵霉,如不存在琅轧,拋出異常 A.index('a', start, end)
count 統(tǒng)計元素個數(shù) A.count('a')

7. 字典

數(shù)字、元組也可以是字典的key踊挠,只要不可變數(shù)據(jù)類型就可以
查詢 通過key訪問字典
info['name'] 如果不存在會報錯
get 如果字典存在key乍桂,返回key值冲杀,如果不存在,返回None睹酌。如果不存在权谁,并且指定了默認值,返回默認值憋沿。
name = info.get('name', 'Bill')

刪除(del, clear())
del 刪除指定元素 del info['name']
clear 清空字典 info.clear()

常用操作
len() 查詢字典鍵值對個數(shù) len(info)
keys() 返回一個包含字典所有key的列表 info.keys()旺芽,Python3返回類型是dict_keys,可用list轉(zhuǎn)為列表使用 res = list(info.keys())
values() 返回一個包含字典所有value的列表 info.values()辐啄,Python3返回類型是dict_values采章,可用list轉(zhuǎn)為列表使用 res = list(info.values())
items() 返回一個包含字典所有鍵值元組的列表 info.items(),Python3返回類型是dict_items壶辜,可用list轉(zhuǎn)為列表使用 res = list(info.items())
kas_key() Python2中如果key存在字典中悯舟,返回True,如果不存在砸民,返回False抵怎。info.has_key('name')
in(存在) Python3中使用in判斷key是否存在,存在返回True岭参,不存在返回False反惕。'name' in info
not in(不存在) Python3中使用not in判斷key,不存在返回True冗荸,存在返回False承璃。'name' not in info

遍歷
字符串遍歷 for char in str: 或者 for i, char in enumerate(str):可以返回下標和值
列表遍歷
字典遍歷

8. 運算符
  • 合并字符串、列表蚌本、元組
  • 復(fù)制字符串、列表隘梨、元組
    in 字符串程癌、列表、元組轴猎、字典中元素是否存在
    not in 字符串嵌莉、列表、元組捻脖、字典中元素是否不存在
9. 內(nèi)置函數(shù)

cmp(item1, item2) 比較兩個值
len(item) 計算容器中元素個數(shù)
max(item) 返回容器中最大值
min(item) 返回容器中最小值
del(item) 刪除變量
help() 函數(shù)用于查看函數(shù)或模塊用途的詳細說明
eval() 函數(shù)用來執(zhí)行一個字符串表達式锐峭,將字符串當成有效的表達式,并返回表達式的值eval('2 + 2')返回4

10. 函數(shù)

返回值:一個函數(shù)執(zhí)行完成后可婶,把一個結(jié)果返回給調(diào)用者沿癞。使用return返回結(jié)果并結(jié)束函數(shù)
函數(shù)的4種類型:
無參數(shù) 無返回值 多用于打印信息
無參數(shù) 有返回值
有參數(shù) 無返回值 用于對變量設(shè)置數(shù)據(jù),但是不需要結(jié)果
有參數(shù) 有返回值

局部變量:在函數(shù)里定義的變量矛渴,只在定義的函數(shù)中有效
全局變量:在函數(shù)外定義的變量
在函數(shù)中修改全局變量會產(chǎn)生異常椎扬,如果需要修改,可以聲明 global xxx

缺省參數(shù):如果沒有傳入?yún)?shù),則使用函數(shù)聲明中的默認值
帶有默認值的參數(shù)一定要位于參數(shù)列表的最后面

不定長參數(shù):有時可能需要一個函數(shù)能處理比當初聲明時更多的參數(shù)蚕涤,這些參數(shù)叫做不定長參數(shù)筐赔,聲明時不會命名。聲明如下:

def test(a,b,*args,**kwargs):
  pass
A=[11,22,33]
B={'aa':100, 'bb':200}
# 解包:列表/元組作為實參傳遞的時候揖铜,如果前面有一個*茴丰,表示對齊解包。
# 字典作為實參傳遞的時候天吓,如果前面有兩個個*较沪,表示對齊解包。
test(11,22,*A,**B) 相當于 test(11,22,11,22,33,'aa'=100,'bb'=200)

引用傳參:Python中函數(shù)參數(shù)是引用傳遞(注意不是值傳遞)失仁。對于不可變類型尸曼,因變量不能修改,所以運算不會影響到變量自身萄焦;而對于可變類型來說控轿,函數(shù)體中的運算有可能會更改傳入的參數(shù)變量。

遞歸函數(shù)
一個函數(shù)調(diào)用了它本身拂封,那么這樣的函數(shù)就叫遞歸函數(shù)

匿名函數(shù)

aaaa = lambda a,b:a+b  #(a,b為入?yún)⒉缟洌琣+b為返回值)
print(aaaa(8,9)) 

# 使用lambda函數(shù)將字典按照key值從小到大排序
b.sort(key = lambda x:x['id'])

重復(fù)聲明
多個函數(shù)名相同時,后面的覆蓋前面的冒签,只調(diào)用最后一個函數(shù)

11. 文件操作

open(文件名在抛,訪問模式),打開一個存在文件萧恕,或者創(chuàng)建一個新文件
f = open('test.txt', 'w')
f.read(n) #讀取文件刚梭,讀取n個字符
f.close() #關(guān)閉文件
訪問模式:
r 只讀方式打開文件,文件指針放在文件的開頭
w 打開一個文件只用于寫入票唆,如果存在則覆蓋朴读,不存在則創(chuàng)建
a 打開一個文件用于追加,如果文件存在走趋,文件指針放在文件結(jié)尾衅金。如果不存在則創(chuàng)建
rb 以二進制格式打開一個文件只讀,文件指針放在文件開頭簿煌,這是默認模式
wb 以二進制格式打開一個文件只用于寫入氮唯,如果存在則覆蓋,不存在則創(chuàng)建
ab 以二進制格式打開一個文件用于追加姨伟,如果文件存在惩琉,文件指針放在文件結(jié)尾。如果不存在則創(chuàng)建
r+ 打開一個文件用于讀寫授滓,文件指針放在文件開頭
w+ 打開一個文件用于讀寫琳水,如果存在則覆蓋肆糕,不存在則創(chuàng)建

讀數(shù)據(jù)
readline:每次讀取一行
readlines:按照行的方式讀取文件整個內(nèi)容,返回一個列表在孝,每一行數(shù)據(jù)為一個元素诚啃。

移動指針:
seek() 方法用于移動文件讀取指針到指定位置。
f.seek(offset, from) # offset 偏移量私沮,from 方向:0表示文件開頭始赎,1表示當前位置,2表示末尾
f.seek(-3, 2) 表示把位置設(shè)置為:離文件末尾仔燕,3字節(jié)處

文件重命名 os.rename(需要修改的文件名造垛,新文件名)
刪除文件 os.remove(需要刪除的文件名)
創(chuàng)建文件夾 os.mkdir(文件夾名)
獲取當前目錄 os.getcwd()
改變默認目錄 os.chdir("../")
獲取目錄列表 os.listdir("./")
刪除文件夾 os.rmdir(文件夾名)
判斷是否是文件 os.path.isdir(文件路徑)

文本文件的編碼格式
Python2 默認使用ASCII編碼
Python3 默認使用utf-8編碼

12. 面向?qū)ο?/h5>

在一個對象中封裝多個方法
怎么設(shè)計?
在完成某個需求前晰搀,先確定職責--要做的事情(方法)
根據(jù)職責確定不同的對象五辽,在對象內(nèi)部封裝不同的方法(多個)
最后完成的代碼,就是讓不同的對象調(diào)用不同的方法


類是對一群具有相同特征或者行為的事物的一個統(tǒng)稱外恕,是抽象的杆逗,不能直接使用。特征被稱為屬性鳞疲,行為被稱為方法罪郊。類是負責創(chuàng)建對象的模板。

類名滿足大駝峰命名法:Capwords尚洽,整個業(yè)務(wù)流程中出現(xiàn)的名字悔橄,通常就是類名。
每一個單詞的首字母大寫腺毫,單詞與單詞之間沒有下劃線

dir()內(nèi)置函數(shù)可以查看對象內(nèi)的所有屬性和方法癣疟,例如:
__new__ 創(chuàng)建對象時會自動調(diào)用
__init__ 對象被初始化時會自動調(diào)用
__del__對象被從內(nèi)存中銷毀前會自動調(diào)用
__str__ 返回對象的描述信息,print函數(shù)輸出使用

初始化方法
使用“類名()”創(chuàng)建對象時拴曲,會自動執(zhí)行以下操作:
為對象在內(nèi)存中分配空間争舞,創(chuàng)建對象
為對象的屬性設(shè)置初始值,自動調(diào)用初始化方法__init__

定義類

class 類名:
    def 方法1(self, 參數(shù)列表):
        # 哪一個對象調(diào)用的方法澈灼,self就是哪一個對象的引用
        pass
    def 方法2(self, 參數(shù)列表):
        pass

創(chuàng)建類的對象:對象變量=類名()
在類的外部,通過“變量名.”訪問對象的屬性和方法
在類封裝的方法中店溢,通過self.訪問對象的屬性和方法
del關(guān)鍵字可以刪除一個對象 del object_name
定義屬性時叁熔,如果不需要值,可以設(shè)置為None
創(chuàng)建出來的對象叫做類的實例床牧,創(chuàng)建對象的動作叫做實例化荣回,對象的屬性叫做實例屬性,對象調(diào)用的方法叫做實例方法戈咳。

每一個對象都有自己獨立的內(nèi)存空間心软,保存各自不同的屬性
多個對象的方法壕吹,在內(nèi)存中只有一份,在調(diào)用方法時删铃,需要把對象的引用傳遞到方法內(nèi)部耳贬。

面向?qū)ο笕筇匦?br> 封裝:面向?qū)ο缶幊淌菍傩院头椒ǚ庋b在一個抽象的類中,外界使用類來創(chuàng)建對象猎唁,讓對象調(diào)用方法咒劲。對象方法的細節(jié)都被封裝在類的內(nèi)部。
繼承:實現(xiàn)代碼的重用诫隅,相同的代碼不需要重復(fù)編寫腐魂。
多態(tài):不同子類對象調(diào)用相同的父類方法,產(chǎn)生不同的執(zhí)行結(jié)果逐纬,以繼承和重寫父類方法為前提蛔屹,增加代碼的靈活度。

身份運算符(is和==的區(qū)別)
is 用于判斷兩個變量引用的對象是否為同一個
== 用于判斷引用變量的值是否相等

私有屬性和私有方法(只希望在類內(nèi)部被使用的屬性和方法)定義方式:
在屬性名或者方法名前面加兩個下劃線__
Python中沒有真正意義的私有豁生,只是在給屬性和方法命名時兔毒,對名稱做了特殊處理,使外界無法訪問到沛硅⊙廴校可以在名稱前面加上 類名來訪問(對象.類名__名稱)

繼承:(父類,子類 = 基類摇肌,派生類)
子類擁有父類以及父類的父類中封裝的所有的方法和屬性擂红。
子類根據(jù)職責封裝子類特有的屬性和方法

class 類名(父類名):
        pass

方法重寫的兩種情況:當父類的方法實現(xiàn)不能滿足子類的需求時,可以對方法重寫(override)
覆蓋父類的方法:父類和子類方法實現(xiàn)完全不同围小,可以在子類重新編寫方法昵骤,在子類中定義一個和父類同名的方法并且實現(xiàn)。運行時只會調(diào)用子類中重寫的方法肯适。

對父類方法進行擴展:父類封裝的方法是子類方法的一部分变秦,可以在子類中擴展重寫父類的方法。在需要的位置使用 super().父類方法 來調(diào)用父類方法的執(zhí)行框舔。代碼其他位置針對子類的需求蹦玫,編寫子類特有的代碼實現(xiàn)。相當于在重寫方法的同時也包含了父類的方法刘绣。

關(guān)于super()
Python中super是一個特殊的類
super()就是super類創(chuàng)建出來的對象
最常用的場景就是在重寫父類方法時樱溉,調(diào)用在父類中封裝的方法實現(xiàn)。

父類的私有屬性和方法
不能被子類對象直接訪問到纬凤,通常用于做一些內(nèi)部的事情福贞。
可以通過父類的公有方法間接訪問到私有屬性和私有方法。

多繼承:子類可以擁有多個父類停士,并且具有所有父類的屬性和方法

class 子類名(父類名1挖帘,父類名2)
        pass

不同父類存在同名的方法時完丽,子類會調(diào)用到哪個父類的方法?這種情況要避免使用多繼承拇舀。
Python中針對類提供了一個內(nèi)置屬性mro可以查看方法搜索順序逻族。
MRO(method resolution order),主要用于在多繼承時判斷方法你稚、屬性的調(diào)用路徑瓷耙。

新式類與舊式類:
以object為基類的類,Python3中如果沒有指定父類刁赖,默認使用object作為基類搁痛。Python2不會。
定義類時宇弛,如果沒有父類鸡典,建議統(tǒng)一繼承自object

class 類名(object):
    pass

類是一個特殊的對象,除了封裝實例的屬性和方法枪芒,類對象還可以擁有自己的屬性和方法
類屬性:給類對象定義的屬性彻况,通常記錄與這個類相關(guān)的特征(例:創(chuàng)建對象數(shù)量統(tǒng)計),類屬性不會去記錄具體對象的特征舅踪。訪問方式(類名.類屬性) 和 (對象.類屬性(不推薦))

類屬性的獲取機制:向上查找
首先在對象內(nèi)部查找對象屬性纽甘,如果沒有找到就會想向上尋找類屬性。
如果使用(對象.類屬性=值)賦值語句抽碌,只會給對象添加一個屬性悍赢,而不會影響到類屬性的值。

類方法(cls):針對類對象定義的方法货徙,外部訪問方式(類名.方法名)
在類方法內(nèi)部可以直接訪問類屬性和調(diào)用其他的類方法
語法如下:由哪一個類調(diào)用的方法左权,cls就是哪一個類的引用

@classmethod
def 類方法名(cls):
    pass

在方法內(nèi)部,可以通過cls.訪問類的屬性痴颊,也可以通過cls.調(diào)用其他的類方法

靜態(tài)方法
既不需要訪問實例屬性或者調(diào)用實例方法赏迟,也不需要訪問類屬性或者調(diào)用類方法。
語法如下:

@staticmethod
def 靜態(tài)方法名():
    pass

調(diào)用時不需要創(chuàng)建對象: 類名. 靜態(tài)方法名()

__new__和__init__
先執(zhí)行__new__:1.為對象分配空間蠢棱;2.返回對象引用
再執(zhí)行__init__:1.對象初始化锌杀;2.定義實例屬性

13. 捕獲異常

簡單代碼:

try:
  嘗試執(zhí)行的代碼
except:
  出現(xiàn)錯誤的處理

錯誤類型捕獲:

try:
  嘗試執(zhí)行的代碼
except 錯誤類型1:
  針對錯誤類型1的代碼處理
except (錯誤類型2, 錯誤類型3):
  針對錯誤類型2和3的代碼處理
except Exception as result:
  print('位置錯誤 %s', result)
else:
  沒有異常才會執(zhí)行的代碼
finally:
  是否有異常都會執(zhí)行的代碼

Python解釋器拋出異常時干发,最后一行錯誤信息的第一個單詞就是錯誤類型歹颓。

異常的傳遞:
當函數(shù)/方法執(zhí)行出現(xiàn)異常,會講異常傳遞給函數(shù)/方法的調(diào)用一方晌缘,如果傳遞到主程序饰豺,仍然沒有異常處理,程序才會被終止允蜈≡┒郑可以在主函數(shù)中增加異常捕獲蒿柳,保證代碼簡潔。

拋出raise異常
開發(fā)中除了代碼出錯解釋器拋出異常外漩蟆,還可以根據(jù)業(yè)務(wù)需求主動拋出異常垒探。
Python中提供了一個Exception異常類。如果在業(yè)務(wù)需求中需要拋出異常怠李,可以創(chuàng)建一個Exception的對象圾叼,使用raise關(guān)鍵字拋出異常對象。

ex = Exception("異常信息") # 創(chuàng)建異常對象
raise ex # 主動拋出一行
14. 模塊

模塊是Python程序架構(gòu)的一個核心概念捺癞,每一個.py結(jié)尾的源代碼文件都是一個模塊夷蚊。
導(dǎo)入方式

# import應(yīng)該統(tǒng)一寫在代碼頂部
import 模塊1, 模塊2
import 模塊1
import 模塊2
# 使用as指定模塊別名,模塊別名使用大駝峰命名法
import 模塊1 as 模塊別名
# 從一個模塊中導(dǎo)入部分工具
from 模塊名 import 工具名

導(dǎo)入之后髓介,通過 模塊名. 使用模塊提供的工具:全局變量惕鼓、函數(shù)、類
注意:如果2個模塊唐础,存在同名函數(shù)箱歧,后導(dǎo)入模塊的函數(shù),會覆蓋掉先導(dǎo)入的函數(shù)

模塊的搜索順序
Python解釋器導(dǎo)入模塊時一膨,先搜索當前目錄呀邢,再搜索系統(tǒng)目錄。如果當前目錄有同名模塊豹绪,會直接導(dǎo)入价淌。所以給文件起名不要和系統(tǒng)模塊重名。
模塊內(nèi)置屬性__file__可以查看模塊的完整路徑森篷。

__name__屬性
一個獨立的py文件就是一個模塊输钩,導(dǎo)入文件時,文件中所有沒有任何縮進的代碼都會被執(zhí)行一遍仲智。
開發(fā)時买乃,會在模塊下方增加測試代碼,只在模塊內(nèi)使用钓辆,被導(dǎo)入到其他文件時不需要執(zhí)行剪验。
__name__屬性可以做到測試模塊的代碼,只在測試情況下被運行前联,而在被導(dǎo)入時不會被執(zhí)行功戚。
__name__是Python的一個內(nèi)置屬性,記錄這一個字符串似嗤。
如果是被其他文件導(dǎo)入的啸臀,__name__就是模塊名
如果是當前執(zhí)行的程序,__name__就是__main__

# 根據(jù)``__name__``判斷是否執(zhí)行下面代碼
``if __name__ == "__main__":``
    main()
15. 包

包是一個包含多個模塊的特殊目錄,目錄下有一個特殊的文件__init__.py
包名的命名方式和變量名一致乘粒,小寫字母+'_'
使用import包名可以一次性導(dǎo)入包中所有模塊
__init__.py中指定對外界提供的模塊列表

# 從當前目錄導(dǎo)入的模塊列表
from . import 模塊1
from . import 模塊2

發(fā)布模塊
如果希望自己開發(fā)的模塊分享給其他人豌注,可以按照以下步驟發(fā)布
創(chuàng)建setup.py文件

from distutils.core import setup
setup(
        name="mytest", # 包名
        version="1.0", # 版本
        author="test", # 作者
        author_email="test@test.com", # 作者郵箱
        description="Learn to Pack Python Module", # 描述信息
        url="http://test.com/", # 主頁
        py_modules = ["模塊1", "模塊2"], # 提供的模塊)

構(gòu)建模塊

python3 setup.py build

生成發(fā)布壓縮包

python3 setup.py sdist

安裝模塊

tar -zxvf 模塊名.tar.gz
sudo python3 setup.py install

卸載模塊

cd /usr/local/lib/python3.5/dist-packages/
sudo rm -f 模塊名

第三方模塊通過pip install安裝

Python2中如何使用中文

# *-* coding:utf8 *-*
# coding=utf8

常量命名:所有字母大寫,單詞之間下劃線連接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灯萍,一起剝皮案震驚了整個濱河市轧铁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旦棉,老刑警劉巖齿风,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绑洛,居然都是意外死亡救斑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門诊笤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來系谐,“玉大人,你說我怎么就攤上這事讨跟〖退” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵晾匠,是天一觀的道長茶袒。 經(jīng)常有香客問我,道長凉馆,這世上最難降的妖魔是什么薪寓? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮澜共,結(jié)果婚禮上向叉,老公的妹妹穿的比我還像新娘。我一直安慰自己嗦董,他們只是感情好母谎,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著京革,像睡著了一般奇唤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匹摇,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天咬扇,我揣著相機與錄音,去河邊找鬼廊勃。 笑死懈贺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隅居,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼钠至,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胎源?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤屿脐,失蹤者是張志新(化名)和其女友劉穎涕蚤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體的诵,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡万栅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了西疤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烦粒。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖代赁,靈堂內(nèi)的尸體忽然破棺而出扰她,到底是詐尸還是另有隱情,我是刑警寧澤芭碍,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布徒役,位于F島的核電站,受9級特大地震影響窖壕,放射性物質(zhì)發(fā)生泄漏忧勿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一瞻讽、第九天 我趴在偏房一處隱蔽的房頂上張望鸳吸。 院中可真熱鬧,春花似錦速勇、人聲如沸晌砾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贡羔。三九已至,卻和暖如春个初,著一層夾襖步出監(jiān)牢的瞬間乖寒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工院溺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留楣嘁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像逐虚,于是被迫代替她去往敵國和親聋溜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容