初學(xué)python者禁忌,那些踩過的坑

本人是java后端開發(fā)人員,這幾天在自學(xué)python,踩過一些坑,希望給大家一些幫助.

Python是有格式要求的!!!Python是有格式要求的!!!Python是有格式要求的!!!

縮進(jìn)要合理,自己再寫一個(gè)python輸出文件的時(shí)候發(fā)現(xiàn)的,我把代碼提供出來

dbfilename = 'people-file'
ENDDB='enddb.'
ENDREC='endrec.'
RECSEP='=>'

def  storeDbase(db):

    dbfile = open(dbfilename,'w')
    for key in db:
            dbfile.write (key)
            for(name,value) in db[key].items():
                dbfile.write(name + RECSEP + repr(value) + '\n')
            dbfile.write (ENDREC)
            dbfile.write(ENDDB)
    dbfile.close()
    
def loadDbase(dbfilename = dbfilename):
    dbfile = open(dbfilename)
    import sys
    sys.stdin = dbfile
    db = {}
    key = input()
    while key != ENDDB:
        rec = {}
        filed = input()
        while filed != ENDREC:
            name,value = filed.split(RECSEP)
            rec[name] = eval(value)
            filed = input()
        db[key] =rec
        key = input()
        return db

if __name__ == '__main__':
    from initdata import db
    storeDbase(db)
    

這個(gè)是initdata.py

bob = {'name':'bob','age':20,'pay':1000}
sus = {'name':'sus','age':30,'pay':2000}
dac = {'name':'dac','age':50,'pay':3000}
sfc = {'name':'sfc','age':40,'pay':4000}

db = {}
db['bob'] = bob
db['sus'] = sus
db['dac'] = dac
db['sfc'] = sfc

當(dāng)時(shí)我寫這個(gè)這段代碼的時(shí)候,寫成了這樣子

dbfilename = 'people-file'
ENDDB='enddb.'
ENDREC='endrec.'
RECSEP='=>'

def  storeDbase(db):

    dbfile = open(dbfilename,'w')
    for key in db:
            dbfile.write (key)
            for(name,value) in db[key].items():
                dbfile.write(name + RECSEP + repr(value) + '\n')
            dbfile.write (ENDREC)
            dbfile.write(ENDDB)
    dbfile.close()
    
def loadDbase(dbfilename = dbfilename):
    dbfile = open(dbfilename)
    import sys
    sys.stdin = dbfile
    db = {}
    key = input()
    while key != ENDDB:
        rec = {}
        filed = input()
        while filed != ENDREC:
            name,value = filed.split(RECSEP)
            rec[name] = eval(value)
            filed = input()
        db[key] =rec
        key = input()
        return db

            if __name__ == '__main__':
                from initdata import db
                storeDbase(db)

細(xì)心的人已經(jīng)發(fā)現(xiàn)了, 下面這段話的格式縮進(jìn)有問題,但是在java里面只是格式不好看,并不影響編譯運(yùn)行,而在python里卻影響,他會(huì)不執(zhí)行的,因?yàn)镻ython是有嚴(yán)禁的邏輯關(guān)系的:
Python第二章——行與縮進(jìn)

  if __name__ == '__main__':
                from initdata import db
                storeDbase(db)

就是這樣,(>ω<)喵!!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容