




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Python中json.load()與json.loads()方法有什么區(qū)別詳解目錄1.從代碼層面說,程序為什么會崩潰?2.while死循環(huán)和for死循環(huán)的區(qū)別?3.集合的特點是什么?4.Python中json.load()和json.loads()方法有什么區(qū)別?5.用Python找出列表中出現(xiàn)次數(shù)最多的數(shù)據(jù)?總結(jié)
1.從代碼層面說,程序為什么會崩潰?
1)讀取未賦值的變量
沒有給變量初始化和賦值,導(dǎo)致該變量的值為臟值。
2)函數(shù)棧溢出
函數(shù)棧溢出一般是兩種情況引起的:
1.定義了一個體積太大的局部變量或者參數(shù),參數(shù)和局部變量一般都是存儲在棧中的,但是棧所占的內(nèi)存空間很小,在32位下只占有8M的空間,因此如果沒有使用malloc和new來在堆上創(chuàng)建內(nèi)存空間的話,棧溢出就會很容易發(fā)生。
2.函數(shù)的嵌套調(diào)用的層次太深了,就像無窮遞歸和無窮的循環(huán)調(diào)用一樣。
3)數(shù)組訪問越界
4)指針的目標(biāo)對象不可用
指針?biāo)赶虻膶ο笠J褂?,它就必須是一個合法的、有效的,可以訪問的對象,像當(dāng)指針為空指針或野指針時,你再使用它,程序就會立馬崩潰。
而出現(xiàn)空指針或者野指針,一般都是下面幾種操作導(dǎo)致的:
1.指針未賦值
2.free/delete釋放了該對象
3.不恰當(dāng)?shù)闹羔槒娭祁愋娃D(zhuǎn)換
5)參數(shù)錯誤
一般為了保證參數(shù)合法,都會設(shè)置斷言來保證只有參數(shù)合法的情況下,程序才可以正常運行。因此此類錯誤一般都是觸發(fā)了斷言導(dǎo)致的。
6)ClassNotFoundException異常
是因為在指定的存放class文件夾下未找到相關(guān)的class文件導(dǎo)致。
1.有可能是編譯問題,有可能是運行時的硬件環(huán)境導(dǎo)致的。相同的代碼,在本地運行沒問題,在服務(wù)器上就找不到類。后來改了下掃描的路徑就可以了。
2.全類名沒寫對,或者沒導(dǎo)入這個類。
3.純粹的代碼或者依賴管理問題。
補充:
首先,Java的錯誤在程序角度分為exception和error。
error:是代碼錯誤,編譯不通過,運行不起來。比如變量命名不規(guī)范,public類名和文件名不一致等。
exception:分為runtimeexception和非runtimeexception。
runtimeexception:運行時異常,是程序內(nèi)部的異常,如數(shù)組下標(biāo)越界,空指針,類轉(zhuǎn)換異常等。
非runtimeexception:非運行時異常,一般是外界導(dǎo)致的異常,如IOe,classnotfounde等。
7)未捕獲的異常
8)內(nèi)存泄漏
9)服務(wù)器宕機了
可以凡爾賽一點回答,肯定就是代碼寫得不符合規(guī)范或者機器撐不住了。
機器很少硬件故障。而系統(tǒng)是程序,所以機器有問題,大概率是程序問題,導(dǎo)致各種異常。
以上僅僅是應(yīng)付面試而已,遇到真實情況,正確做法是:
應(yīng)該截圖報錯的具體提示,解決具體問題。因為報錯的問題可能是千奇百怪的,知道bug是什么,什么原因?qū)е碌模罱K要回歸到解決問題上的。
2.while死循環(huán)和for死循環(huán)的區(qū)別?
while死循環(huán):
while+條件。在條件不改變且條件一直為真時,是死循環(huán)。
num=1
sum=0
whilenum=100:
ifnum%2!=0:
sum=sum+num
print(sum)
for死循環(huán):
for循環(huán)主要是用來做可迭代數(shù)據(jù)的迭代操作的,可以通過生成器的方式直接實現(xiàn)死循環(huán)。
defgenerator():
index=0
whileTrue:
yieldindex
index+=1
forxingenerator():
print("這是一個死循環(huán):",x)
3.集合的特點是什么?
集合里所有的元素都是唯一的,它具有唯一性。集合直接幫我們把重復(fù)的數(shù)據(jù)清理掉。是無序的,速度快。
參考文章:集合
4.Python中json.load()和json.loads()方法有什么區(qū)別?
json.load()方法是從json文件讀取json,而json.loads()方法是直接讀取json,兩者都是將字符串json轉(zhuǎn)換為字典。
json.dumps()和json.loads()是json格式處理函數(shù)(可以這么理解,json是字符串)。
json.dumps()函數(shù)是將一個Python數(shù)據(jù)類型列表進(jìn)行json格式的編碼(可以這么理解,json.dumps()函數(shù)是將字典轉(zhuǎn)化為字符串)。
json.loads():
importjson
a={'value':'000','type':'rgb'}
b=json.loads(json.dumps(a))
print(a)
json.load():
importjson
c=json.load(open('/Users/llq/PycharmProjects/pythonProject/study/lili/package.json'))
print(c)
p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機三級信息管理的基礎(chǔ)與進(jìn)階試題及答案
- 應(yīng)用能力2025年網(wǎng)絡(luò)規(guī)劃設(shè)計師考試的實踐要求及試題及答案
- 下學(xué)期歷史試題及答案
- 系統(tǒng)分析師職業(yè)角色定位試題及答案
- 物理教招試題及答案
- 系統(tǒng)分析師高效學(xué)習(xí)試題及答案
- 幼兒師德考試試題及答案
- 職大低壓電工考試題及答案
- 網(wǎng)絡(luò)規(guī)劃設(shè)計師的團(tuán)隊動力與試題答案
- 中級社會工作者法律法規(guī)知識試題及答案
- 急性胃腸炎的護(hù)理管理
- 天然氣分子篩脫水裝置工藝設(shè)計
- 手術(shù)室提高護(hù)士手術(shù)配合質(zhì)量持續(xù)改進(jìn)QCC品管圈PDCA案例4例
- 球磨機拆除施工方案
- 全國工會財務(wù)知識競賽題庫及答案
- 病理檢驗技術(shù)練習(xí)試題附答案
- 深度融合信息技術(shù)的高校人才培養(yǎng)體系重構(gòu)與探索實踐
- 23S519 小型排水構(gòu)筑物(帶書簽)
- SH-T-3503-2017-附錄A-交工技術(shù)文件通用表
- 小型軋鋼機結(jié)構(gòu)設(shè)計
- 招標(biāo)文件技術(shù)規(guī)范書
評論
0/150
提交評論