Python接口測試課程(第一天)-Python基礎(chǔ)

目錄

Python接口測試課程(第一天)-Python基礎(chǔ)
Python接口測試課程(第二天)-接口測試快速實(shí)踐
Python接口測試課程(第三天)-接口安全驗(yàn)證,參數(shù)化及斷言
Python接口測試課程(第四天)-接口測試框架實(shí)現(xiàn)

更多學(xué)習(xí)資料請加添加作者微信:lockingfree獲取

第一天: Python基礎(chǔ)

大綱

Python簡介、環(huán)境搭建及包管理

Python簡介

  1. 特點(diǎn):Python是一門動態(tài)祟偷、解釋型舔琅、強(qiáng)類型語言
    1. 動態(tài):在運(yùn)行期間才做數(shù)據(jù)檢查(不用提前聲明變量)- 靜態(tài)語音(C/Java):編譯時檢查數(shù)據(jù)類型(編碼時需要聲明變量類型)
    2. 解釋型:在執(zhí)行程序時蝶缀,才一條條解釋成機(jī)器語言給計(jì)算機(jī)執(zhí)行(無需編譯,速度較慢)- 編譯型語言(C/Java):先要將代碼編譯成二進(jìn)制可執(zhí)行文件辆雾,再執(zhí)行
    3. 強(qiáng)類型:類型安全,變量一旦被指定了數(shù)據(jù)類型,如果不強(qiáng)制轉(zhuǎn)換亦鳞,那么永遠(yuǎn)是這種類型(嚴(yán)謹(jǐn),避免類型錯誤,速度較慢)- 弱類型(VBScript/JavaScript): 類型在運(yùn)行期間會轉(zhuǎn)化燕差,如 js中的 1+"2"="12", 1會由數(shù)字轉(zhuǎn)化為string
  2. 編碼原則:優(yōu)雅遭笋、明確、簡單
  3. 優(yōu)點(diǎn)
    1. 簡單易學(xué)
    2. 開發(fā)效率高
    3. 高級語言
    4. 可移植徒探、可擴(kuò)展瓦呼、可嵌入
    5. 龐大的三方庫
  4. 缺點(diǎn)
    1. 速度慢
    2. 代碼不能加密
    3. 多線程不能充分利用多核cpu(GIL全局解釋性鎖,同一時刻只能運(yùn)行一個線程)
  5. 應(yīng)用領(lǐng)域
    1. 自動化測試(UI/接口)
    2. 自動化運(yùn)維
    3. 爬蟲
    4. Web開發(fā)(Django/Flask/..)
    5. 圖形GUI開發(fā)
    6. 游戲腳本
    7. 金融测暗、量化交易
    8. 數(shù)據(jù)分析央串,大數(shù)據(jù)
    9. 人工智能、機(jī)器學(xué)習(xí)碗啄、NLP质和、計(jì)算機(jī)視覺
    10. 云計(jì)算

環(huán)境搭建

Windows Python3環(huán)境搭建

  1. 下載Python3.6.5*.exe安裝包
  2. 雙擊安裝,第一個節(jié)目選中Add Python3.6.5 to PATH稚字,點(diǎn)擊Install Now(默認(rèn)安裝pip)饲宿,一路下一步
  3. 驗(yàn)證:打開cmd命令行,輸入python尉共,應(yīng)能進(jìn)入python shell 并顯示為Python 3.6.5版本

包管理

  1. pip安裝
    1. pip install 包名 - 卸載: pip uninstall 包名
    2. pip install 下載的whl包.whl
    3. pip install -r requiements.txt(安裝requirements.txt中的所有依賴包)
    4. pip list 查看已安裝的三方包褒傅,pip freeze 已文件格式顯示已安裝的三方包(用于導(dǎo)出requiremnts.txt文件)
  2. 源碼安裝
    1. 下載源碼包,解壓袄友,進(jìn)入解壓目錄
    2. 打開命令行殿托,執(zhí)行 python setup.py install
    3. 驗(yàn)證:進(jìn)入python shell,輸入import 包名,不報(bào)錯表示安裝成功
  3. 三方包默認(rèn)安裝路徑:Python3.6.5/Lib/site-packages/ 下

Python基本語法

  1. 縮進(jìn)
if x > 0:
    print("正數(shù)")
elif x = 0:
    print("0")
else:
    print("負(fù)數(shù)")

def add(x,y):
    return x+y
  1. 一行多條語句
x=1; y=2; print(x+y)
  1. 斷行
print("this line is too long, \ 
so I break it to two lines")
  1. 注釋
# 單行注釋
a = 1

'''這是一段
多行注釋'''

def add(x, y):
    """加法函數(shù):這是docstring(函數(shù)說明)"""
    pass
  1. 變量
    1. 變量類型(局部變量剧蚣、全局變量支竹、系統(tǒng)變量)
    2. 變量賦值
      • 多重賦值x=y=z=1
      • 多元賦值x,y = y,x
    3. 變量自增 x+=1 x-=1(不支持x++, x--)

Python3中沒有常量

基本數(shù)據(jù)類型(6種)

1. 數(shù)字Number

  1. 種類
    1. 整型int(Python3中沒有長整型,int長度幾乎沒有限制)
    2. 浮點(diǎn)型float
    3. 布爾型bool
      • False: 0,0.0,'',[],(),{}
      • True: 除False以外鸠按,['']或[[],[]]不是False
    4. 復(fù)數(shù)型complex
  2. 操作符: +,-,,/,//(地板除),*(乘方) - Python3中的/是真實(shí)除礼搁,1/2=0.5
  3. 類型轉(zhuǎn)
    1. str(): 其他類型轉(zhuǎn)為字符串, 如str(12)
    2. int(): 字符串?dāng)?shù)字轉(zhuǎn)為整型(字符串不是純整數(shù)會報(bào)錯), 如int("12")
    3. float(): 字符串轉(zhuǎn)換為浮點(diǎn)數(shù),如float("1.23")

2. 字符串String

  1. 字符串系統(tǒng)方法
    • len(): 計(jì)算字符串長度目尖,如len("abcdefg")
    • find()/index(): 查找字符串中某個字符第一次出現(xiàn)的索引(index()方法查找不到會報(bào)錯), 如"abcdefg".find("b"); "abcedfgg".index("g")
    • lower()/upper(): 將字符串轉(zhuǎn)換為全小寫/大寫,如"AbcdeF".lower();"abcedF".upper()
    • isdigit()/isalpha()/isalnum(): 判斷字符串是否純數(shù)字/純字母/純數(shù)字字母組合, 如isdigit("123"),結(jié)果為 True
    • count(): 查詢字符串中某個元素的數(shù)量,如"aabcabc".count("a")
    • join(): 將列表元素按字符串連接,如"".join(["a","b","c"])會按空字符連接列表元素,得到"abc"
    • replace(): 替換字符串中的某已部分,如"hello,java".replace("java", "python"),將java 替換為 python
    • split(): 和join相反,將字符串按分隔符分割成列表, 如"a,b,c,d".split(",")得到["a", "b", "c", "d"]
    • strip()/lstrip()/rstrip(): 去掉字符串左右/左邊/右邊的無意字符(包括空格,換行等非顯示字符),如" this has blanks \n".strip()得到"this has balnks"
  2. 字符串格式化
    • %: 如"Name: %s, Age: %d" % ("Lily", 12)"Name: %(name)s, Age: %(age)d" % {"name": "Lily", "age": 12}
    • format: 如"Name: {}, Age: {}".format("Lily", 12)"Name: {name}, Age: {age}".format(name="Lily",age=12)
    • substitude(不完全替換會報(bào)錯)/safe_substitude: 如"Name: ${name}, Age: ${age}".safe_substitude(name="Lily",age=12)
  3. 案例: 利用format生成自定義html報(bào)告
tpl='''<html>
<head><title>{title}</title></head>
<body>
<h1>{title}</h1>
<table border=1px>
    <tr>
        <th>序號</th>
        <th>用例</th>
        <th>結(jié)果</th>
    </tr>
    {trs}
</table>
</body>
</html>
'''

tr='''<tr><td>{sn}</td>
<td>{case_name}</td>
<td>{result}</td>
'''

title="自動化測試報(bào)告"
case_results = [("1", "test_add_normal", "PASS"),("2", "test_add_negative", "PASS"), ("3", "test_add_float", "FAIL")]

trs=''
for case_result in case_results:
    tr_format = tr.format(sn=case_result[0], case_name=case_result[1], result=case_result[2])
    trs += tr_format
    
html = tpl.format(title=title, trs=trs)

f = open("report.html", "w")
f.write(html)
f.close()

結(jié)果預(yù)覽
<h1>自動化測試報(bào)告</h1>

序號 用例 結(jié)果
1 test_add_normal PASS
2 test_add_negative PASS
3 test_add_float FAIL

3. 列表List

列表元素支持各種對象的混合,支持嵌套各種對象,如["a", 1, {"b": 3}, [1,2,3]]

  1. 列表操作
    • 賦值: l = [1, "hello", ("a", "b")]
    • 獲取: a = l[0] # 通過索引獲取
    • 增: l.append("c");l.extend(["d","e"]);l+["f"]
    • 刪: l.pop() # 按索引刪除,無參數(shù)默認(rèn)刪除最后一個;l.remove("c") # 按元素刪除
    • 改:l[1]="HELLO" # 通過索引修改
    • 查: 遍歷 for i in l: print(i)
  2. 列表系統(tǒng)方法
    • append()/insert()/extend(): 添加/插入/擴(kuò)展(連接)
    • index(): 獲取元素索引
    • count(): 統(tǒng)計(jì)元素個數(shù)
    • pop()/remove(): 按索引/元素刪除
    • sort()/reverse(): 排序/反轉(zhuǎn)
    • 案例: 字符串反轉(zhuǎn)s="abcdefg"; r=''.join(reversed(a))

4. 元組Tuple

  1. 不可改變,常用作函數(shù)參數(shù)(安全性好)
  2. 同樣支持混合元素以及嵌套
  3. 只有一個元素時,必須加","號,如a=("hello",) - 因?yàn)镻ython中()還有分組的含義,不加","會識別為字符串

字符串/列表/元組統(tǒng)稱為序列, 有相似的結(jié)構(gòu)和操作方法

<h3>序列相關(guān)操作方法</h3>

  1. 索引
    • 正反索引: l[3];l[-1]
    • 索引溢出(IndexError): 當(dāng)索引大于序列的最大索引時會報(bào)錯,如[1,2,3,4]最大索引是3,引用l[4]會報(bào)IndexError
  2. 切片
    • l[1:3] # 從列表索引1到索引3(不包含索引3)進(jìn)行截取, 如 l = [1, 2, 3, 4, 5], l[1:3]為[2, 3]
    • l[:5:2] # 第一個表示開始索引(留空0), 第二個表示結(jié)束索引(留空為最后一個,即-1), 第三個是步長, 即從開頭到第5個(不包含第5個),跳一個取一個
    • 案例: 字符串反轉(zhuǎn) s="abcdefg";r=s[::-1]
  3. 遍歷
    • 按元素遍歷: for item in l: print(item)
    • 按索引遍歷: for index in range(len(l)): print(l[index])
    • 按枚舉遍歷: for i,v in enumerate(l): print((i,v))
  4. 擴(kuò)展/連接(添加多個元素): extend()/+ "abc"+"123";[1,2,3]+[4,5];[1,2,3].extend([4,5,6,7])
  5. 類型互轉(zhuǎn): str()/list()/tuple()

list轉(zhuǎn)str一般用join(), str轉(zhuǎn)list一般用split()

  1. 系統(tǒng)函數(shù)
    • len(): 計(jì)算長度
    • max()/min(): 求最大/最小元素
    • sorted()/reversed(): 排序/反轉(zhuǎn)并生成新序列(sort()/reverse()直接操作原序列)l_new=sorted(l);l_new2=reversed(l)

5. 集合Set

  1. 集合可以通過序列生成a = set([1,2,3])
  2. 集合無序,元素不重復(fù)(所有元素為可哈希元素)
  3. 集合分為可變集合set和不可變集合frozenset
  4. 操作方法: 聯(lián)合|,交集&,差集-,對稱差分^
  5. 系統(tǒng)函數(shù): add()/update()/remove()/discard()/pop()/clear()
  6. 案例1: 列表去重: l=[1,2,3,1,4,3,2,5,6,2];l=list(set(l)) (由于集合無序,無法保持原有順序)
  7. 案例2: 100w條數(shù)據(jù),用列表和集合哪個性能更好? - 集合性能要遠(yuǎn)遠(yuǎn)優(yōu)于列表, 集合是基于哈希的, 無論有多少元素,查找元素永遠(yuǎn)只需要一步操作, 而列表長度多次就可能需要操作多少次(比如元素在列表最后一個位置)

6. 字典Dict

  1. 字典是由若干key-value對組成, 字典是無序的, 字典的key不能重復(fù),而且必須是可哈希的,通常是字符串
  2. 字典操作
    • 賦值: d = {"a":1, "b":2}
    • 獲取: a = d['a']a = d.get("a") # d中不存在"a"元素時不會報(bào)錯
    • 增: d["c"] = 3; d.update({"d":5, "e": 6}
    • 刪: d.pop("d");d.clear() # 清空
    • 查: d.has_key("c")
    • 遍歷:
      • 遍歷key: for key in d:for key in d.keys():
      • 遍歷value: for value in d.values():
      • 遍歷key-value對: for item in d.items():
  3. 案例: 更新接口參數(shù) api = {"url": "/api/user/login": data: {"username": "張三", "password": "123456"}},將username修改為"李四"
    api['data']['username'] = "李四"api['data'].update({"username": "李四"})

哈希與可哈希元素

  1. 哈希是通過計(jì)算得到元素的存儲地址(映射), 這就要求不同長度的元素都能計(jì)算出地址,相同元素每次計(jì)算出的地址都一樣, 不同元素計(jì)算的地址必須唯一, 基于哈希的查找永遠(yuǎn)只需要一步操作, 計(jì)算一下得到元素相應(yīng)的地址, 不需要向序列那樣遍歷, 所以性能較好
  2. 可哈希元素: 為了保證每次計(jì)算出的地址相同, 要求元素長度是固定的, 如數(shù)字/字符串/只包含數(shù)字,字符串的元組, 這些都是可哈希元素

6種類型簡單的特點(diǎn)總結(jié)

  1. 數(shù)字/字符串/元祖: 長度固定
  2. 序列(字符串/列表/元祖): 有序
  3. 集合/字典: 無序, 不重復(fù)/鍵值不重復(fù)

條件/循環(huán)

條件判斷

  1. 示例:
if x>0:
    print("正數(shù)")
elif x=0:
    print("0")
else: 
    print("負(fù)數(shù)")
  1. 三元表達(dá)式: max = a if a > b else b
  2. 案例: 判斷一個字符串是不ip地址
ip_str = '192.168.100.3'
ip_list = ip_str.split(".") # 將字符串按點(diǎn)分割成列表
is_ip = True # 先假設(shè)ip合法
if len(ip_list) != 4:
    is_ip= False
else:
    for num in ip_list:
        if num.lstrip('0')!=num or not isdigit(num) or not 0 <= int(num) <= 255:
            is_ip = False
if is_ip:
    print("是ip")
else:
    print("不是ip")

使用map函數(shù)的實(shí)現(xiàn)方法(參考):

def check_ipv4(ip_str):
ip = ip_str.strip().split(".")
return len(ip)==4 and all(map(lambda x: x.lstrip('0')==x and x.isdigit() and 0<=int(x)<= 255, ip))

循環(huán)

  1. for in 循環(huán)
  2. while 循環(huán)

文件讀寫(文本文件)

html/xml/config/csv也可以按文本文件處理

文件操作方法

  1. open(): 打開f =open("test.txt")f =open("test.txt","r", encoding="utf-8")with open("test.txt) as f: # 上下文模式,出結(jié)構(gòu)體自動關(guān)閉文件
  2. read()/readline()/readlines(): 讀取所有內(nèi)容/讀取一行/讀取所有行(返回列表) - 注意: 內(nèi)容中包含\n換行符,可以通過strip()去掉
  3. f.write()/f.save(): 寫文件/保存文件
  4. f.seek(): 移動文件指針,如f.seek(0), 移動到文件開頭
  5. f.close(): 關(guān)閉文件(打開文件要記得關(guān)閉)

文件打開模式

  1. r/w/a: 只讀/只寫/追加模式
  2. rb/wb/ab: 二進(jìn)制只讀/只寫/追加模式(支持圖片等二進(jìn)制文件)
  3. r+/rb+, w+/wb+, a+/ab+: 讀寫,區(qū)別在于, r+/w+會清空文件再寫內(nèi)容, r+文件不存在會報(bào)錯, a+不清空原文件,進(jìn)行追加, w+/a+文件不存在時會新建文件

文件是可迭代的,可以直接用 for line in f: 遍歷

函數(shù)/類

函數(shù)定義和調(diào)用

def add(x, y): # 定義函數(shù)
    return x+y

print(add(1,3)) # 調(diào)用函數(shù)

案例: 用戶注冊/登錄函數(shù)

users = {"張三": "123456"}

def reg(username, password):
    if users.get(username): # 如果用戶中存在username這個key
        print("用戶已存在")
    else:
        users[username] = password # 向users字典中添加元素
        print("添加成功")

def login(username, password)
    if not users.get(username):
        print("用戶不存在")
    elif users['username'] == password:
        print("登錄成功")
    else:
        print("密碼錯誤")

參數(shù)和返回值

  1. 函數(shù)沒有return默認(rèn)返回None
  2. 參數(shù)支持各種對象,包含數(shù)字,支付串,列表,元組,也可以是函數(shù)和類
  3. 參數(shù)默認(rèn)值: 有默認(rèn)值的參數(shù)必須放在最后面, 如```def add(x, y=1, z=2):
  4. 不定參數(shù): args和*kwargs, 如def func(*args, **kwargs):可以接受任意長度和格式的參數(shù)
  5. 參數(shù)及返回值類型注釋(Python3)
def(x:int, y:int) -> int: # x,y為int型,函數(shù)返回為int型,只是注釋,參數(shù)格式非法不會報(bào)錯
    return x+y

函數(shù)作為參數(shù)(如: 裝飾器)

def a():
    print("I'm a")
def deco(func):
    print("call from deco")
    func()

deco(a) # 輸出"call from deco"并調(diào)用a(),輸出"I'm a"

函數(shù)嵌套(支持閉包)

def a():
    a_var = 1
    def b:() # 嵌套函數(shù)
        a_var += 1

函數(shù)遞歸(自己調(diào)用自己,直到滿足需求)

案例: 求N!

def factorial(n):
    return 1 if n == 0 or n == 1 else n * factorial(n-1)

模塊/包

模塊

  1. 一個py文件為一個模塊
  2. 模塊導(dǎo)入
    • import os # 需要通過os調(diào)用相關(guān)方法, 如os.mkdir(),
    • form configparser import ConfigParser: 可以直接使用CinfigParser()
    • 支持一次導(dǎo)入多個

  1. 一個文件夾為一個包(Python3,文件夾中不需要建立init.py文件)

常用系統(tǒng)模塊

  1. os: 與操作系統(tǒng)交互
    • os.name/os.sep/os.linesep: 系統(tǒng)名稱/系統(tǒng)路徑分隔符/系統(tǒng)換行符
    • os.makedir()/os.makedirs(): 建立目錄/建立多級目錄
    • os.getenv("PATH"): 獲取系統(tǒng)PATH環(huán)境變量的設(shè)置
    • os.curdir/os.prdir: 獲取當(dāng)前路徑/上級路徑
    • os.walk(): 遍歷文件夾及子文件
    • os.path.basename()/os.path.abspath()/os.path.dirname(): 文件名/文件絕對路徑/文件上級文件夾名
    • os.path.join()/os.path.split(): 按當(dāng)前系統(tǒng)分隔符(os.sep)組裝路徑/分割路徑
    • os.path.exists()/os.path.isfile()/os.path.isdir(): 判斷文件(文件夾)是否存在/是否文件/是否文件夾
    • 案例: 用例發(fā)現(xiàn), 列出文件夾及子文件夾中所有test開頭的.py文件,并輸出文件路徑
for root,dirs,files in os.walk("./case/"):
    for file in files:
        if file.startswith("test") and file.endswith(".py"):
            print(os.path.join(root, file)
  1. sys: 與Python系統(tǒng)交互
    • sys.path: 系統(tǒng)路徑(搜索路徑)
    • sys.platform: 系統(tǒng)平臺,可以用來判斷是python2還是3
    • sys.argv: py腳本接受的命令行參數(shù)
    • sys.stdin/sys.stdout/sys.stderr: 標(biāo)準(zhǔn)輸入/輸出/錯誤

常見算法

冒泡排序

def buddle_sort(under_sort_list):
    l = under_sort_list
    for j in range(len(l)):
        for i in range(len(l)-j-1):
           if l[i] > l[i+1]:
                l[i], l[i+1] = l[i+1], l[i]

快速排序

def quick_sort(l):
    if len(l) < 2:
        return l # 如果列表只有一個元素, 返回列表(用于結(jié)束迭代)
    else:
        pivot =  l[0] # 取列表第一個元素為基準(zhǔn)數(shù)
        low = [i for i in l[1:] if i < pivot] # 遍歷l, 將小于基準(zhǔn)數(shù)pivot的全放入low這個列表
        high = [i for i in l[1:] if i >= pivot ]
        return quick_sort(low) + [pivot] + quick_sort(high) # 對左右兩部分分別進(jìn)行迭代

二分查找

def bin_search(l, n): # l為有序列表
    low, high = 0, len(l) - 1 # low,high分別初始化為第一個/最后一個元素索引(最小/最大數(shù)索引)
    while low < high:
        mid = (high-low) // 2 # 地板除,保證索引為整數(shù)
        if l[mid] == n:
            return mid
        elif l[mid] > n: # 中間數(shù)大于n則查找前半部分, 重置查找的最大數(shù)
            high = mid -1 
        else: # 查找后半部分, 重置查找的最小數(shù)
            low = mid + 1
    return None  # 循環(huán)結(jié)束沒有return mid 則說明沒找到

作業(yè)

  1. 查找文件中最長的行
  2. 統(tǒng)計(jì)文件中字符個數(shù)
  3. 判斷字符串"abacdbdde"中第一個不重復(fù)的字符
  4. 判斷字符串"{{({()[({})])}}"是否括號全部閉合
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馒吴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瑟曲,更是在濱河造成了極大的恐慌饮戳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洞拨,死亡現(xiàn)場離奇詭異扯罐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烦衣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門歹河,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掩浙,“玉大人,你說我怎么就攤上這事秸歧〕Γ” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵寥茫,是天一觀的道長遣蚀。 經(jīng)常有香客問我,道長纱耻,這世上最難降的妖魔是什么芭梯? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮弄喘,結(jié)果婚禮上玖喘,老公的妹妹穿的比我還像新娘。我一直安慰自己蘑志,他們只是感情好累奈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著急但,像睡著了一般澎媒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上波桩,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天戒努,我揣著相機(jī)與錄音,去河邊找鬼镐躲。 笑死储玫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萤皂。 我是一名探鬼主播撒穷,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼裆熙!你這毒婦竟也來了端礼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤入录,失蹤者是張志新(化名)和其女友劉穎齐媒,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纷跛,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年邀杏,在試婚紗的時候發(fā)現(xiàn)自己被綠了贫奠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唬血。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唤崭,靈堂內(nèi)的尸體忽然破棺而出拷恨,到底是詐尸還是另有隱情,我是刑警寧澤谢肾,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布腕侄,位于F島的核電站,受9級特大地震影響芦疏,放射性物質(zhì)發(fā)生泄漏冕杠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一酸茴、第九天 我趴在偏房一處隱蔽的房頂上張望分预。 院中可真熱鬧,春花似錦薪捍、人聲如沸笼痹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凳干。三九已至,卻和暖如春被济,著一層夾襖步出監(jiān)牢的瞬間救赐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工溉潭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留净响,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓喳瓣,卻偏偏與公主長得像馋贤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子畏陕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

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

  • 1.基本使用 1.1 數(shù)據(jù)類型 常用數(shù)據(jù)類型 Common Data Types 其他類型 Others 1.2 ...
    suwi閱讀 1,335評論 0 3
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,448評論 0 13
  • 常用模塊 認(rèn)識模塊 什么是模塊 什么是模塊惠毁? 常見的場景:一個模塊就是一個包含了python定義和聲明的文件犹芹,文...
    go以恒閱讀 1,943評論 0 6
  • 寫在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 2,743評論 0 8
  • 在蕓蕓眾生中 你是如此的平凡 甚至被淹沒在人海 不論你是年輕貌美 亦或是銀絲偷偷爬上你的黑發(fā) 不論你歷經(jīng)了多少世間...
    女郭靖閱讀 223評論 0 1