數(shù)據(jù)分析之 Python 基礎(chǔ)

基礎(chǔ)知識(shí)

一溶弟、Python3 中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型:

  • Number(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

二心包、Python3 的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型中:

  • 不可變數(shù)據(jù)(3 個(gè)):Number(數(shù)字)佑刷、String(字符串)、Tuple(元組)抠蚣;
  • 可變數(shù)據(jù)(3 個(gè)):List(列表)、Dictionary(字典)、Set(集合)冬骚。

三、四種不同的數(shù)值類(lèi)型

  • int(有符號(hào)整型):在 64 位系統(tǒng)上懂算,取值范圍為 [-2^63 ~ 2^63-1]只冻;
  • long(長(zhǎng)整型,可代表八進(jìn)制和十六進(jìn)制):沒(méi)有指定位寬计技,即沒(méi)有限制長(zhǎng)整型數(shù)值的大邢驳隆;
  • float(浮點(diǎn)型):帶有小數(shù)的數(shù)字垮媒,占 8 個(gè)字節(jié)(64 bit)舍悯,其中 52 位表示底,11 位表示指數(shù)睡雇,剩下的一位表示符號(hào)贱呐;
  • complex(復(fù)數(shù)):由實(shí)數(shù)部分和虛數(shù)部分組成,一般形式為 x + yj入桂,其中 x 為實(shí)數(shù)部分奄薇,y 為虛數(shù)部分。

四抗愁、變量賦值

賦值語(yǔ)句包含一個(gè)變量名馁蒂,一個(gè)等號(hào)(稱為賦值操作符)呵晚,以及要存儲(chǔ)的值。Python 中的變量不需要聲明數(shù)據(jù)類(lèi)型沫屡,變量的類(lèi)型是指內(nèi)存中被賦值對(duì)象的類(lèi)型饵隙。

五、變量賦值傳遞時(shí)的引用和拷貝

Python 賦值過(guò)程中不明確區(qū)分拷貝和引用時(shí)沮脖,一般對(duì)靜態(tài)變量(不可變數(shù)據(jù)變量)的傳遞為拷貝金矛,對(duì)動(dòng)態(tài)變量(可變數(shù)據(jù)變量)的傳遞為引用。

## Tuple 與 Set
## Tuple 元祖與列表類(lèi)似勺届,不同之處在于元祖的元素不能修改驶俊。可以使用小括號(hào)創(chuàng)建元祖免姿,里面的元素可以重復(fù)
## Set 是一個(gè)無(wú)序的不重復(fù)元素序列饼酿。可以使用大括號(hào)創(chuàng)建集合胚膊,往里添加的元素將會(huì)去重輸出故俐,使用 set() 可以轉(zhuǎn)換其他數(shù)據(jù)類(lèi)型為集合。
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 3, 4, 5, 6, 7)
print("tup1[0]:", tup1[0])
print("tup2[1:5]:", tup2[1:5])

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
print(set(tup2))

## 復(fù)數(shù)
aa = 123-12j
print(aa.real)
print(aa.imag)

## 拷貝(傳值)與引用(傳址)
dict = {'a': [1, 2, 3, 4, 5], 'b':2}
x = dict['a']
for i in range(5):
    x[i] = 0
print(dict)

x = dict['b']
x = x+3
print(dict)

控制流

一紊婉、操作符

  • 比較操作符:==药版,!=,<喻犁,>刚陡,<=,>=株汉,
  • 布爾操作符:and筐乳,or,not

二乔妈、控制流語(yǔ)句
控制流語(yǔ)句會(huì)根據(jù)判斷條件是 True 還是 False蝙云,來(lái)決定后面執(zhí)行什么。有時(shí)候判斷條件為某些特定值路召,如 0勃刨,0.0 和 ''(空字符串)等價(jià)于 False,其他值等價(jià)于 True

  • if-else
  • while(只要 while 語(yǔ)句的條件為 True股淡,while 子句的代碼就會(huì)一遍又一遍地執(zhí)行)身隐,可結(jié)合 break,continue唯灵,讓執(zhí)行提前跳出 while 循環(huán)子句.
    • break 是跳出整個(gè)循環(huán)
    • continue 是跳出本次循環(huán)并重新跳回到循環(huán)開(kāi)始處
## while 循環(huán)
name = ''
while name != 'davidac':
    print('Please type your name.')
    name = input()
print('Thank you!')

while True:
    print('Who are you?')
    name = input()
    if name != 'davidac':
        continue
    print('Hello, davidac. What is the password?')
    password = input()
    if password == '123':
        break
print('Access granted.')

函數(shù)

一贾铝、def 語(yǔ)句

def 語(yǔ)句滯后的代碼塊是函數(shù)體,在函數(shù)調(diào)用時(shí)執(zhí)行,而不是在函數(shù)第一次定義時(shí)執(zhí)行垢揩。在代碼中玖绿,函數(shù)調(diào)用就是函數(shù)名后跟上括號(hào),如果需要參數(shù)叁巨,則把參數(shù)寫(xiě)在括號(hào)內(nèi)斑匪。

二、返回值和 return 語(yǔ)句

return 語(yǔ)句指定應(yīng)該返回什么值锋勺,可以返回特定值蚀瘸,也可以將返回值作為參數(shù)傳遞給另一個(gè)函數(shù)調(diào)用。

三庶橱、None 值

None 是 NoneType 數(shù)據(jù)類(lèi)型的唯一值贮勃,必須大寫(xiě)首字母 N。對(duì)于沒(méi)有 return 語(yǔ)句的函數(shù)定義悬包,Python 都會(huì)在末尾加上 return None。如果函數(shù)里只有 return 關(guān)鍵字本身馍乙,那么就返回 None布近。

四、關(guān)鍵字參數(shù)

大多數(shù)參數(shù)是由他們?cè)诤瘮?shù)調(diào)用中的位置來(lái)識(shí)別的丝格,但關(guān)鍵字參數(shù)是由調(diào)用時(shí)加在它們前面的額關(guān)鍵字來(lái)識(shí)別的撑瞧。比如 print('cats', 'dogs', 'mice', sep=',')

五、局部和全局變量

在被調(diào)用函數(shù)內(nèi)賦值的變?cè)▍?shù)賦值的變量)和變量显蝌,處于該函數(shù)的「局部作用域」预伺,稱為局部變量,在所有函數(shù)之外賦值的變量曼尊,屬于「全局作用域」酬诀,被稱為全局變量。

  • 全局作用域的代碼不能使用任何局部變量
  • 局部作用域可以訪問(wèn)全局變量
  • 一個(gè)函數(shù)的局部作用域中的代碼不能使用其他局部作用域中的變量
  • 避免局部變量與全局變量或其他局部變量同名
  • 在一個(gè)函數(shù)中骆撇,一個(gè)變量要么總是全局變量瞒御,要么總是局部變量

六、global 語(yǔ)句

使用 global 語(yǔ)句神郊,可以將函數(shù)內(nèi)的變量修改為全局變量肴裙。

七、異常處理

錯(cuò)誤可以由 try 和 except 語(yǔ)句來(lái)處理涌乳,那些可能出錯(cuò)的語(yǔ)句被放在 try 子句中蜻懦,如果錯(cuò)誤發(fā)生,程序執(zhí)行就轉(zhuǎn)到接下來(lái)的 except 子句開(kāi)始處夕晓。此處若在 try 子句中的代碼導(dǎo)致一個(gè)錯(cuò)誤宛乃,會(huì)拋出 except 子句輸出的錯(cuò)誤信息,并繼續(xù)往后執(zhí)行。

列表與字典

一烤惊、列表操作

  • 列表連接和列表復(fù)制:+乔煞,*
  • 從列表刪除值:使用 del 語(yǔ)句將列表中下標(biāo)處的值刪除,其后面的所有值柒室,都將向前移動(dòng)一個(gè)下標(biāo)渡贾。
  • 使用循環(huán)和 append() 將元素追加到空列表里
  • 常用的 for 循環(huán):[i for i in range(len(somelist))]
  • 判斷一個(gè)值是否在列表中:in 和 not in
  • 多重賦值技巧:變量的數(shù)目和列表的長(zhǎng)度必須嚴(yán)格相等

二、列表方法

  • index():判斷一個(gè)值是否在列表中雄右,就返回它的下標(biāo)空骚,如果該值不存在,就報(bào) ValueError
  • append():將參數(shù)添加到列表末尾
  • insert():第一個(gè)參數(shù)是新值的下標(biāo)擂仍,第二個(gè)參數(shù)是要插入的新值
  • remove():將列表中的值囤屹,若該值不在列表中,則報(bào) ValueError逢渔,若該值在列表中出現(xiàn)多次肋坚,只會(huì)刪除第一個(gè)。跟 del 語(yǔ)句相比肃廓,如果知道想要?jiǎng)h除的值智厌,則使用 remove()
  • sort():對(duì)數(shù)值或字符串的列表進(jìn)行排序,同樣不能寫(xiě)成 spam = spam.sort()盲赊。

三铣鹏、元祖
元祖數(shù)據(jù)類(lèi)型幾乎與列表數(shù)據(jù)類(lèi)型一樣,主要區(qū)別在于哀蘑,元祖是不可變的诚卸,元祖不讓它們的值被修改、添加或刪除绘迁。如果元祖中只有一個(gè)值合溺,可以在括號(hào)內(nèi)該值的后面跟上一個(gè)逗號(hào)。如 ('hello',)

四缀台、字典方法

  • keys():返回字典的鍵
  • values():返回字典的值
  • items():返回字典的鍵-值對(duì)(元祖格式)
  • 多重賦值:[k + ', ' + str(v) for k, v in spam.items()]
  • get():有兩個(gè)參數(shù)辫愉,一是要取的鍵,二是該鍵不存在時(shí)的備用鍵将硝,如 str(picnicItem.get('cups', 0))
## 使用列表
catNames = []
while True:
    print('Enter the name of cat' + str(len(catNames)) + '(Or enter nothing to stop.):')
    name = input()
    if name == '':
        break
    catNames.append(name)
print('The cat names are:')
for name in catNames:
    print(' ' + name)

## 常用列表 for 循環(huán)(推導(dǎo)式)
catList = [str(i) + '_' + catNames[1] for i in range(len(catNames))]
print(catList)

## 多重賦值
cat = ['fat', 'black', 'loud']
size, color, disposition = cat

## append() 和 insert() 的返回值為 None
cat_spam = catList.append('Akira')
print(cat_spam)

## remove() 和 del
spam = ['cat', 'bat', 'rat', 'cat', 'hat', 'cat']
spam.remove('cat')
del spam[1]
spam

字符串操作

一恭朗、isX 字符串方法

  • isalpha():如果字串符只包含字幕,并且非空依疼,返回 True
  • isalnum():如果字符串只包含數(shù)字和字母痰腮,并且非空,返回 True
  • isdecimal():如果字符串只包含數(shù)字字符律罢,并且非空膀值,返回 True
  • isspace():如果字符串只包含空格棍丐、制表符和換行,并且非空沧踏,返回 True

二歌逢、字符串連接和分割

  • join():是在一個(gè)字符串上調(diào)用,參數(shù)是一個(gè)字符串列表翘狱,如 ','.join(['cats', 'rats', 'bats'])
  • split():針對(duì)一個(gè)字符串秘案,參數(shù)為分割字符,返回一個(gè)字符串列表

三潦匈、對(duì)齊

  • rjust()/ljust()/center():第一個(gè)參數(shù)是一個(gè)整數(shù)長(zhǎng)度阱高,用于對(duì)齊字符串,默認(rèn)為空格

四茬缩、刪除空白字符

  • strip():默認(rèn)刪除字符串頭尾的空白字符赤惊,若傳入字符串作為參數(shù),則在字符串兩端刪除出現(xiàn) a凰锡、m未舟、p 和大寫(xiě) S,字符的順序并不重要掂为,strip('ampS') 與 strip('mapS')裕膀,strip('Spam') 效果一樣。
## 填充字符
'Hello'.rjust(10, '-')
'Hello'.center(20, '*')

## 刪除空白字符
spam = 'SpamSpamBaconSpamEggSpamSpam'
spam.strip('Spma')

文件讀寫(xiě)

一菩掏、文件路徑

  • os.getcwd():獲取當(dāng)前工作目錄
  • os.makedirs():創(chuàng)建新文件夾
  • os.path.abspath(path):將相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑的簡(jiǎn)便方法魂角,返回參數(shù)的絕對(duì)路徑的字符串
  • os.path.relpath(path, start):將返回從 start 路徑到 path 的相對(duì)路徑的字符串
  • os.path.dirname(path):返回最后一個(gè)斜杠之前的所有內(nèi)容
  • os.path.basename(path):返回最后一個(gè)斜杠之后的所有內(nèi)容
  • str.split(os.path.sep):返回一個(gè)列表昵济,包含該路徑的所有部分
  • os.path.getsize(path):返回 path 參數(shù)中文件的字節(jié)數(shù)
  • os.listdir(path):返回文件名字符串的列表

二智绸、檢查路徑有效性

  • os.path.exists(path):判斷所指的文件或文件夾是否存在
  • os.path.isfile(path):判斷是否文件
  • os.path.isdir(path):判斷是否目錄/文件夾

三、文件讀寫(xiě)過(guò)程

三個(gè)步驟:

  1. 調(diào)用 open() 函數(shù)访忿,返回一個(gè) File 對(duì)象瞧栗。
  2. 調(diào)用 File 對(duì)象的 read() 或 write() 方法
  3. 調(diào)用 File 對(duì)象的 close() 方法,關(guān)閉該文件
  • open() 需要指明讀寫(xiě)模式
    • r(讀)海铆,r+(可讀可寫(xiě))迹恐,若文件不存在,均會(huì)報(bào)錯(cuò)不創(chuàng)建卧斟。
    • w(寫(xiě))殴边,w+(可讀可寫(xiě)),兩者都會(huì)將文件內(nèi)容清零珍语,以 w 方式打開(kāi)锤岸,不能讀出。
    • a(追加)板乙,a+(可讀可寫(xiě))
模式 可做操作 若文件不存在 是否覆蓋
r 只能讀 報(bào)錯(cuò) -
r+ 可讀可寫(xiě) 報(bào)錯(cuò)
w 只能寫(xiě) 創(chuàng)建
w+ 可讀可寫(xiě) 創(chuàng)建
a 只能寫(xiě) 創(chuàng)建 否是偷,追加寫(xiě)
a+ 可讀可寫(xiě) 創(chuàng)建 否,追加寫(xiě)
  • read(),readline() 與 readlines()

    • read():從文件當(dāng)前位置起讀取 size 個(gè)字節(jié)蛋铆,若無(wú)參數(shù) size馋评,則表示讀取至文件結(jié)束為止,它范圍為字符串對(duì)象刺啦。
    • readline():每次讀出文件的一行內(nèi)容留特。
    • readlines():從文件獲得一個(gè)字符串列表,列表的每個(gè)字符串就是文本的每一行洪燥。
  • write()

對(duì)文件對(duì)象(可寫(xiě)模式)寫(xiě)入內(nèi)容磕秤,在讀取或?qū)懭胛募螅枰{(diào)用 close() 方法捧韵,這樣在下次讀取時(shí)才能查看到新寫(xiě)入的內(nèi)容市咆。

## 路徑方法
import os
print(os.getcwd()) ## /Users/davidaclee/OneDrive/Code/python/practice
print(os.path.relpath('/Users/davidaclee/OneDrive/', '.'))
print(os.path.dirname(os.getcwd()))  ## /Users/davidaclee/OneDrive/Code/python/practice
print(os.path.basename(os.getcwd())) ## practice

calcFilePath = '/usr/local/hadoop/apache-hive-3.1.1-bin'
calcFilePath.split(os.path.sep)

print(os.path.getsize(calcFilePath))
print(os.listdir(calcFilePath))

totalSize = 0
for filename in os.listdir(calcFilePath):
    if os.path.isfile(os.path.join(calcFilePath, filename)) == True:
        totalSize = totalSize + os.path.getsize(os.path.join(calcFilePath, filename))
print(totalSize)

調(diào)試

一、拋出異常

拋出異常相當(dāng)于是說(shuō):”停止運(yùn)行這個(gè)函數(shù)中的代碼再来,將程序執(zhí)行轉(zhuǎn)到 except 語(yǔ)句“蒙兰。拋出異常使用 raise 語(yǔ)句,并對(duì) Exception 函數(shù)進(jìn)行調(diào)用芒篷,傳遞給 Exception 函數(shù)的字符串搜变,作為報(bào)錯(cuò)信息。如果沒(méi)有 try 和 except 語(yǔ)句覆蓋拋出異常的 raise 語(yǔ)句针炉,該程序就會(huì)崩潰挠他,并顯示異常的出錯(cuò)信息。

except Exception as err 如果 try 的子句返回一個(gè) Exception 對(duì)象篡帕,這條語(yǔ)句就會(huì)將它保存在名為 err 的變量中殖侵,再使用 str(err) 將它轉(zhuǎn)換成字符串,得到自定的出錯(cuò)信息镰烧。

二拢军、斷言

斷言相當(dāng)于是說(shuō):”我斷言這個(gè)條件為真,如果不為真怔鳖,程序中什么地方就有一個(gè)缺陷“茉唉。條件不成立,程序也不一定報(bào)錯(cuò)结执,但會(huì)讓程序輸出跟預(yù)期不一致的結(jié)果度陆。所以通過(guò)這樣快速的失敗,能減少為了排查時(shí)間献幔。

三懂傀、日志

記日志是一種很好的方式,可以理解程序中發(fā)生的事斜姥,以及事情發(fā)生的順序鸿竖。Python 的 logging 模塊使得你很容易創(chuàng)建自定義的消息記錄沧竟,并列出你指定的任意變量當(dāng)時(shí)的值。另一方面缚忧,確實(shí)日志信息表明有一部分代碼被跳過(guò)悟泵,從未執(zhí)行。

雖然用 print() 也能輸出每一個(gè)步驟的結(jié)果闪水,但調(diào)試完成后糕非,需要花很多時(shí)間從代碼中清楚每條調(diào)試結(jié)果的 print() 調(diào)用,甚至有可能刪除一些必要的 print() 調(diào)用球榆。日志消息的好處是朽肥,可以隨心所欲地在程序中加日志,隨后只要調(diào)用一次 logging.disable(logging.CRITICAL)持钉,就可以禁止日志衡招。

四、日志級(jí)別

  • DEBUG - logging.debug()每强,最低級(jí)別始腾,用于小細(xì)節(jié),在診斷問(wèn)題時(shí)才會(huì)關(guān)心這些消息
  • INFO - logging.info()空执,用于記錄程序中一般事件的信息浪箭,或確認(rèn)一切工作正常
  • WARNING - logging.warning(),用于表示可能的問(wèn)題辨绊,它不會(huì)阻止程序的工作奶栖,但將來(lái)可能會(huì)
  • ERROR - logging.error(),用于記錄錯(cuò)誤门坷,它導(dǎo)致程序失敗
  • CRITICAL - logging.critical()宣鄙,最高級(jí)別,用于表示致命的錯(cuò)誤拜鹤,它導(dǎo)致或?qū)⒁獙?dǎo)致程序完全停止工作
## 拋出異常

def boxPrint(symbol, width, height):
    if len(symbol) != 1:
        raise Exception('Symbol must be a single character string.')
    if width <= 2:
        raise Exception('Width must be greater than 2.')
    if height <= 2:
        raise Exception('Height must be greater than 2.')
    print(symbol * width)
    for i in range(height - 2):
        print(symbol + (' ' * (width -2)) + symbol)
    print(symbol * width)

for sym, w, h in (('*', 4, 4), ('0', 20, 5), ('x', 1, 3), ('ZZ', 3, 3)):
    try:
        boxPrint(sym, w, h)
    except Exception as err:
        print('An exception happened: ' + str(err))
        
## 斷言
podBayDoorStatus = 'open'
assert podBayDoorStatus == 'open', 'The pod bay doors need to be "open".'
# podBayDoorStatus = "I'm sorry, Dave. I'm afraid I cant't do that."
# assert podBayDoorStatus == 'open', 'The pod bay doors need to be "open".'

## 日志
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s - %(levelname)s - %(message)s')
logging.debug('Start of program')

def factorial(n):
    logging.debug('Start of factorial(%s)' % (n))
    total = 1
    for i in range(n + 1):
        total *= i 
        logging.debug('i is '+ str(i) + ', total is ' + str(total))
    logging.debug('End of factorial(%s)' % (n))
    return total

print(factorial(5))
logging.debug('End of program')

## 禁用日志
import logging
logging.basicConfig(level=logging.INFO, format = '%(asctime)s - %(levelname)s - %(message)s')
# logging.critical('Critical error! Critical error!')
# logging.critical('Critical error! Critical error!')
logging.error('Error! Error!')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末框冀,一起剝皮案震驚了整個(gè)濱河市流椒,隨后出現(xiàn)的幾起案子敏簿,更是在濱河造成了極大的恐慌,老刑警劉巖宣虾,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惯裕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡绣硝,警方通過(guò)查閱死者的電腦和手機(jī)蜻势,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鹉胖,“玉大人握玛,你說(shuō)我怎么就攤上這事够傍。” “怎么了挠铲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵冕屯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拂苹,道長(zhǎng)安聘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任瓢棒,我火速辦了婚禮浴韭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脯宿。我一直安慰自己念颈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布连霉。 她就那樣靜靜地躺著舍肠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窘面。 梳的紋絲不亂的頭發(fā)上翠语,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音财边,去河邊找鬼肌括。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酣难,可吹牛的內(nèi)容都是我干的谍夭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼憨募,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼紧索!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起菜谣,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤珠漂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后尾膊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體媳危,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年冈敛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了待笑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抓谴,死狀恐怖暮蹂,靈堂內(nèi)的尸體忽然破棺而出寞缝,到底是詐尸還是另有隱情,我是刑警寧澤仰泻,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布第租,位于F島的核電站,受9級(jí)特大地震影響我纪,放射性物質(zhì)發(fā)生泄漏慎宾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一浅悉、第九天 我趴在偏房一處隱蔽的房頂上張望趟据。 院中可真熱鬧,春花似錦术健、人聲如沸汹碱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咳促。三九已至,卻和暖如春勘伺,著一層夾襖步出監(jiān)牢的瞬間跪腹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工飞醉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冲茸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓缅帘,卻偏偏與公主長(zhǎng)得像轴术,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钦无,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,748評(píng)論 0 38
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,367評(píng)論 0 5
  • 一逗栽、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,723評(píng)論 0 10
  • 5Python集合容器 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi): 線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu)。 線性數(shù)據(jù)結(jié)構(gòu)...
    清清子衿木子水心閱讀 1,484評(píng)論 0 1
  • 從開(kāi)學(xué)的第一天開(kāi)始就告訴孩子要上課認(rèn)真聽(tīng)講失暂,注意力要集中彼宠,寫(xiě)作業(yè)要認(rèn)真,養(yǎng)成好習(xí)慣趣席。但到現(xiàn)在也沒(méi)養(yǎng)成靜下心來(lái)...
    侯耀斐媽媽閱讀 101評(píng)論 0 1