縮進(jìn):沒有{},通過縮進(jìn)控制模塊范圍。所有縮進(jìn)一致即可,一般采用4個(gè)空格
多行分隔符:斜杠( \),將一行代碼分多行顯示。語句中包含 [], {} 或 () 括號(hào)就不需要使用多行連接符。
total = item_one item_two item_three
引號(hào):使用引號(hào)( ’ )、雙引號(hào)( " )、三引號(hào)( ‘’’ 或 “”" ) 來表示字符串。其中三引號(hào)可以由多行組成,編寫多行文本的快捷語法,常用于文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。
paragraph = """這是一個(gè)段落。包含了多個(gè)語句"""
注釋:#
號(hào)開頭或者使用三個(gè)單引號(hào)(’’’)或三個(gè)雙引號(hào)(""")進(jìn)行多行注釋。
'''這是多行注釋,使用單引號(hào)。這是多行注釋,使用單引號(hào)。'''"""這是多行注釋,使用雙引號(hào)。這是多行注釋,使用雙引號(hào)。"""
Python2中默認(rèn)的編碼格式是 ASCII 格式,在沒修改編碼格式時(shí)無法正確打印漢字。
#!/usr/bin/python# -*- coding: UTF-8 -*-
Python3.X 源碼文件默認(rèn)使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。
從標(biāo)準(zhǔn)輸入讀取一個(gè)行,并返回一個(gè)字符串(去掉結(jié)尾的換行符):
username = raw_input("請(qǐng)輸入賬戶:")
與raw_input類似,但是input 可以接收一個(gè)Python表達(dá)式作為輸入,并將運(yùn)算結(jié)果返回。
#!/usr/bin/python# -*- coding: UTF-8 -*- str = input("請(qǐng)輸入:")print "你輸入的內(nèi)容是: ", str
結(jié)果:
請(qǐng)輸入:[x*5 for x in range(2,10,2)]你輸入的內(nèi)容是: [10, 20, 30, 40]
# Author:dancheng //導(dǎo)入密碼密文文件 import getpass password = getpass.getpass("password:"); print(password)
counter = 100 # 賦值整型變量print ("Hello, Python!")print counter
file 對(duì)象提供了操作文件的一系列方法。
#!/usr/bin/python# -*- coding: UTF-8 -*- # 打開一個(gè)文件fo = open("foo.txt", "w")print "文件名: ", fo.nameprint "是否已關(guān)閉 : ", fo.closedprint "訪問模式 : ", fo.modeprint "末尾是否強(qiáng)制加空格 : ", fo.softspace #file.softspace 如果用print輸出后,必須跟一個(gè)空格符,則返回false。否則返回true。
file object = open(file_name [, access_mode][, buffering])
access_mode
:打開文件的模式:只讀,寫入,追加等。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀?。
模式 | 描述 |
---|---|
t | 文本模式 (默認(rèn))。 |
x | 寫模式,新建一個(gè)文件,如果該文件已存在則會(huì)報(bào)錯(cuò)。 |
b | 二進(jìn)制模式。 |
打開一個(gè)文件進(jìn)行更新(可讀可寫)。 | |
r | 以只讀方式打開文件。文件的指針將會(huì)放在文件的開頭。這是默認(rèn)模式。rb是以二進(jìn)制格式打開一個(gè)文件用于只讀。= |
w | 打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。= |
a | 打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。 |
buffering
:如果buffering的值被設(shè)為0,就不會(huì)有寄存。如果buffering的值取1,訪問文件時(shí)會(huì)寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
File 對(duì)象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入。
當(dāng)一個(gè)文件對(duì)象的引用被重新指定給另一個(gè)文件時(shí),Python 會(huì)關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個(gè)很好的習(xí)慣。
可將任何字符串寫入一個(gè)打開的文件。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。
write()方法不會(huì)在字符串的結(jié)尾添加換行符(’\n’):
#!/usr/bin/python# -*- coding: UTF-8 -*- # 打開一個(gè)文件fo = open("foo.txt", "w")fo.write( "www.runoob.com!\nVery good site!\n") # 關(guān)閉打開的文件fo.close()
read()方法從一個(gè)打開的文件中讀取一個(gè)字符串。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。
#!/usr/bin/python# -*- coding: UTF-8 -*- # 打開一個(gè)文件fo = open("foo.txt", "r ")str = fo.read(10)print "讀取的字符串是 : ", str #輸出:www.runoob# 關(guān)閉打開的文件fo.close()
tell()方法告訴你文件內(nèi)的當(dāng)前位置, 換句話說,下一次的讀寫會(huì)發(fā)生在文件開頭這么多字節(jié)之后。
seek(offset [,from])方法改變當(dāng)前文件的位置。Offset變量表示要移動(dòng)的字節(jié)數(shù)。From變量指定開始移動(dòng)字節(jié)的參考位置。
#!/usr/bin/python# -*- coding: UTF-8 -*- # 打開一個(gè)文件fo = open("foo.txt", "r ")str = fo.read(10)print "讀取的字符串是 : ", str # 查找當(dāng)前位置position = fo.tell()print "當(dāng)前文件位置 : ", position # 把指針再次重新定位到文件開頭position = fo.seek(0, 0)str = fo.read(10)print "重新讀取字符串 : ", str# 關(guān)閉打開的文件fo.close()
提供了處理文件及目錄的一系列方法。
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 重命名文件test1.txt到test2.txt。os.rename( "test1.txt", "test2.txt" )
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 刪除一個(gè)已經(jīng)存在的文件test2.txtos.remove("test2.txt")
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 創(chuàng)建目錄testos.mkdir("test")
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 將當(dāng)前目錄改為"/home/newdir"os.chdir("/home/newdir")
顯示當(dāng)前的工作目錄。
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 給出當(dāng)前的目錄print os.getcwd()
刪除目錄,目錄名稱以參數(shù)傳遞。
#!/usr/bin/python# -*- coding: UTF-8 -*-import os # 刪除”/tmp/test”目錄os.rmdir( "/tmp/test" )
檢驗(yàn)文件、路徑是否存在。
import osos.path.exists(test_file) #test_file可以是文件或路徑#True
Python有五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:
不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會(huì)分配一個(gè)新的對(duì)象。
包括4種:int(有符號(hào)整型),long(長整型[也可以代表八進(jìn)制和十六進(jìn)制],以L結(jié)尾),float(浮點(diǎn)型),complex(復(fù)數(shù)) 。
long 類型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 類型數(shù)據(jù)溢出后會(huì)自動(dòng)轉(zhuǎn)為long類型。在 Python3.X 版本中 long 類型被移除,使用 int 替代。
python的字串列表有2種取值順序:
從左到右索引默認(rèn)0開始的從右到左索引默認(rèn)-1開始的
str = 'Hello World!'print str[0] # 輸出字符串中的第一個(gè)字符print str[2:5] # 輸出字符串中第三個(gè)至第六個(gè)之間的字符串print str[2:] # 輸出從第三個(gè)字符開始的字符串print str * 2 # 輸出字符串兩次print str "TEST" # 輸出連接的字符串
語法和字符串一致。
#!/usr/bin/python# -*- coding: UTF-8 -*- list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]tinylist = [123, 'john'] print list # 輸出完整列表print list[0] # 輸出列表的第一個(gè)元素print list[1:3] # 輸出第二個(gè)至第三個(gè)元素 print list[2:] # 輸出從第三個(gè)開始至列表末尾的所有元素print tinylist * 2 # 輸出列表兩次print list tinylist # 打印組合的列表
元組用 () 標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。
#!/usr/bin/python# -*- coding: UTF-8 -*- tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )tinytuple = (123, 'john') print tuple # 輸出完整元組print tuple[0] # 輸出元組的第一個(gè)元素print tuple[1:3] # 輸出第二個(gè)至第四個(gè)(不包含)的元素 print tuple[2:] # 輸出從第三個(gè)開始至列表末尾的所有元素print tinytuple * 2 # 輸出元組兩次print tuple tinytuple # 打印組合的元組
#!/usr/bin/python# -*- coding: UTF-8 -*- aTuple = (123, 'xyz', 'zara', 'abc');aList = list(aTuple) print "列表元素 : ", aList
兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標(biāo)識(shí)。字典由索引(key)和它對(duì)應(yīng)的值value組成。
#!/usr/bin/python# -*- coding: UTF-8 -*- dict = {}dict['one'] = "This is one"dict[2] = "This is two" tinydict = {'name': 'john','code':6734, 'dept': 'sales'} print dict['one'] # 輸出鍵為'one' 的值: This is oneprint dict[2] # 輸出鍵為 2 的值: This is twoprint tinydict # 輸出完整的字典print tinydict.keys() # 輸出所有鍵:['dept', 'code', 'name']print tinydict.values() # 輸出所有值
函數(shù) | 描述 |
---|---|
int(x [,base]) | 將x轉(zhuǎn)換為一個(gè)整數(shù) |
long(x [,base] ) | 將x轉(zhuǎn)換為一個(gè)長整數(shù) |
float(x) | 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù) |
complex(real [,imag]) | 創(chuàng)建一個(gè)復(fù)數(shù) |
str(x) | 將對(duì)象 x 轉(zhuǎn)換為字符串 |
repr(x) | 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串 |
eval(str) | 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象 |
tuple(s) | 將序列 s 轉(zhuǎn)換為一個(gè)元組 |
list(s) | 將序列 s 轉(zhuǎn)換為一個(gè)列表 |
set(s) | 轉(zhuǎn)換為可變集合 |
dict(d) | 創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。 |
frozenset(s) | 轉(zhuǎn)換為不可變集合 |
chr(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符 |
unichr(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符 |
ord(x) | 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值 |
hex(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串 |
oct(x) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串 |
除了通用的運(yùn)算符,下面為一些python特有的運(yùn)算。
運(yùn)算符 | 描述 | 實(shí)例 |
---|---|---|
** | 冪 - 返回x的y次冪 | a=10,b=20;a**b 輸出結(jié)果為10的20次方 |
// | 取整除 - 返回商的整數(shù)部分(向下取整) | 9//2 輸出為4;-9//2 輸出為-5 |
如果在指定的序列中找到值返回 True,否則返回 False。
a = 10list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "1 - 變量 a 在給定的列表中 list 中"
is 是判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象。
x is y, 類似 id(x) == id(y) , 如果引用的是同一個(gè)對(duì)象則返回 True,否則返回 False。
#!/usr/bin/python# -*- coding: UTF-8 -*-num = 5 if num == 3: # 判斷num的值 print 'boss' elif num == 2: print 'user'elif num == 1: print 'worker'elif num < 0: # 值小于零時(shí)輸出 print 'error'else: print 'roadman' # 條件均不成立時(shí)輸出
count = 0while (count < 9): print 'The count is:', count count = count 1
count = 0while count < 5: print count, " is less than 5" count = count 1else: print count, " is not less than 5"
else用法和while一致。
for letter in 'Python': # 第一個(gè)實(shí)例 print '當(dāng)前字母 :', letter
pass是空語句,是為了保持程序結(jié)構(gòu)的完整性,一般用于占位。
#!/usr/bin/python# -*- coding: UTF-8 -*- import time; # 引入time模塊 ticks = time.time() #輸出:1459994552.51localtime = time.localtime(time.time()) #輸出:time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)localtime = time.asctime( time.localtime(time.time()) ) #格式化時(shí)間輸出:Thu Apr 7 10:05:21 2016print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成2016-03-20 11:45:39形式
#!/usr/bin/python# -*- coding: UTF-8 -*- # 定義函數(shù)def printme( str ): "打印任何傳入的字符串" print str return # 調(diào)用函數(shù)printme("我要調(diào)用用戶自定義函數(shù)!")
Module是一個(gè) Python 文件,以 .py 結(jié)尾,包含了 Python 對(duì)象定義和Python語句。
support.py 模塊:
def print_func( par ): print "Hello : ", par return
test.py 文件代碼:
#!/usr/bin/python# -*- coding: UTF-8 -*-# 導(dǎo)入模塊import support # 現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了support.print_func("Runoob")
或者:
from fib import print_funcprint_func("Runoob")
或者:
from modname import *
當(dāng)你導(dǎo)入一個(gè)模塊,Python 解析器對(duì)模塊位置的搜索順序是:
1、當(dāng)前目錄2、如果不在當(dāng)前目錄,Python 則搜索在 shell 變量 PYTHONPATH 下的每個(gè)目錄。3、如果都找不到,Python會(huì)察看默認(rèn)路徑。UNIX下,默認(rèn)路徑一般為/usr/local/lib/python/。
模塊搜索路徑存儲(chǔ)在 system 模塊的 sys.path 變量中。
在import模塊之前可以手動(dòng)導(dǎo)入模塊路徑:
CWD = os.path.dirname(__file__)sys.path.append(os.path.abspath(os.path.join(CWD, "./common")))
python提供了兩個(gè)非常重要的功能來處理python程序在運(yùn)行中出現(xiàn)的異常和錯(cuò)誤:
異常即是一個(gè)事件,該事件會(huì)在程序執(zhí)行過程中發(fā)生,影響了程序的正常執(zhí)行。
一般情況下,在Python無法正常處理程序時(shí)就會(huì)發(fā)生一個(gè)異常。
異常是Python對(duì)象,表示一個(gè)錯(cuò)誤。
當(dāng)Python腳本發(fā)生異常時(shí)我們需要捕獲處理它,否則程序會(huì)終止執(zhí)行。
#!/usr/bin/python# -*- coding: UTF-8 -*-try: fh = open("testfile", "w") fh.write("這是一個(gè)測試文件,用于測試異常!!")except IOError: # 如果不寫IOError,表示捕獲所有異常 print "Error: 沒有找到文件或讀取文件失敗"else: print "內(nèi)容寫入文件成功" fh.close()
無論是否發(fā)生異常都將執(zhí)行最后的代碼。
#!/usr/bin/python# -*- coding: UTF-8 -*-try: fh = open("testfile", "w") fh.write("這是一個(gè)測試文件,用于測試異常!!")finally: print "Error: 沒有找到文件或讀取文件失敗"
def functionName( level ): if level < 1: raise Exception("Invalid level!", level) # 觸發(fā)異常后,后面的代碼就不會(huì)再執(zhí)行
自定義異常類如下:
class Networkerror(RuntimeError): def __init__(self, arg): self.args = arg
使用:
try: raise Networkerror("Bad hostname")except Networkerror,e: print e.args
#!/usr/bin/python# -*- coding: UTF-8 -*- class Employee: '所有員工的基類' empCount = 0 def __init__(self, name, salary): # __init__()方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法,當(dāng)創(chuàng)建了這個(gè)類的實(shí)例時(shí)就會(huì)調(diào)用該方法 self.name = name self.salary = salary Employee.empCount = 1 def displayCount(self):# self 代表類的實(shí)例,self 在定義類的方法時(shí)是必須有的,雖然在調(diào)用時(shí)不必傳入相應(yīng)的參數(shù)。這也是類方法與普通方法的區(qū)別。self 代表的是類的實(shí)例,代表當(dāng)前對(duì)象的地址,而 self.__class__ 則指向類 print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary
類的實(shí)例化:
"創(chuàng)建 Employee 類的第一個(gè)對(duì)象"emp1 = Employee("Zara", 2000)emp1.displayEmployee() #訪問類方法print "Employee.__doc__:", Employee.__doc__ #類的文檔字符串 輸出:所有員工的基類print "Employee.__name__:", Employee.__name__ #類名 print "Employee.__module__:", Employee.__module__ # 類定義所在的模塊(類的全名是'__main__.className',如果類位于一個(gè)導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod) print "Employee.__bases__:", Employee.__bases__ #類的所有父類構(gòu)成元素(包含了一個(gè)由所有父類組成的元組) print "Employee.__dict__:", Employee.__dict__ #類的屬性(包含一個(gè)字典,由類的數(shù)據(jù)屬性組成)
Python 的垃圾收集器實(shí)際上是一個(gè)引用計(jì)數(shù)器和一個(gè)循環(huán)垃圾收集器。作為引用計(jì)數(shù)的補(bǔ)充, 垃圾收集器也會(huì)留心被分配的總量很大(及未通過引用計(jì)數(shù)銷毀的那些)的對(duì)象。 在這種情況下, 解釋器會(huì)暫停下來, 試圖清理所有未引用的循環(huán)。
在對(duì)象銷毀的時(shí)候被調(diào)用,當(dāng)對(duì)象不再被使用時(shí)運(yùn)行。
class Point: def __init__( self, x=0, y=0): self.x = x self.y = y def __del__(self): class_name = self.__class__.__name__ print class_name, "銷毀"
#!/usr/bin/python# -*- coding: UTF-8 -*- class Parent: # 定義父類 parentAttr = 100 def __init__(self): print "調(diào)用父類構(gòu)造函數(shù)" def parentMethod(self): print '調(diào)用父類方法' def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print "父類屬性 :", Parent.parentAttr class Child(Parent): # 定義子類 def __init__(self): print "調(diào)用子類構(gòu)造方法" def childMethod(self): print '調(diào)用子類方法' c = Child() # 實(shí)例化子類c.childMethod() # 調(diào)用子類的方法c.parentMethod() # 調(diào)用父類方法c.setAttr(200) # 再次調(diào)用父類的方法 - 設(shè)置屬性值c.getAttr() # 再次調(diào)用父類的方法 - 獲取屬性值
在調(diào)用基類的方法時(shí),需要加上基類的類名前綴,且需要帶上 self 參數(shù)變量。區(qū)別在于類中調(diào)用普通函數(shù)時(shí)并不需要帶上 self 參數(shù)
Python 總是首先查找對(duì)應(yīng)類型的方法,如果它不能在派生類中找到對(duì)應(yīng)的方法,它才開始到基類中逐個(gè)查找。(先在本類中查找調(diào)用的方法,找不到才去基類中找)。
同樣也支持方法重載,運(yùn)算符重載
兩個(gè)下劃線開頭,聲明該屬性為私有,不能在類的外部被使用或直接訪問。在類內(nèi)部的方法中使用時(shí) self.__private_attrs。
兩個(gè)下劃線開頭,聲明該方法為私有方法,不能在類的外部調(diào)用。在類的內(nèi)部調(diào)用 self.__private_methods
頭尾雙下劃線方法,定義的是特殊方法,一般是系統(tǒng)定義名字 ,類似 init() 之類的。
以單下劃線開頭,只能允許本身與子類進(jìn)行訪問,不能用于 from module import *
#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:server.py import socket # 導(dǎo)入 socket 模塊 s = socket.socket() # 創(chuàng)建 socket 對(duì)象host = socket.gethostname() # 獲取本地主機(jī)名port = 12345 # 設(shè)置端口s.bind((host, port)) # 綁定端口 s.listen(5) # 等待客戶端連接while True: c,addr = s.accept() # 建立客戶端連接 print '連接地址:', addr c.send('歡迎訪問菜鳥教程!') c.close() # 關(guān)閉連接
#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:client.py import socket # 導(dǎo)入 socket 模塊 s = socket.socket() # 創(chuàng)建 socket 對(duì)象host = socket.gethostname() # 獲取本地主機(jī)名port = 12345 # 設(shè)置端口號(hào) s.connect((host, port))print s.recv(1024)s.close()
#!/usr/bin/python# -*- coding: UTF-8 -*- import threadimport time # 為線程定義一個(gè)函數(shù)def print_time( threadName, delay): count = 0 while count < 5: time.sleep(delay) count = 1 print "%s: %s" % ( threadName, time.ctime(time.time()) ) # 創(chuàng)建兩個(gè)線程try: thread.start_new_thread( print_time, ("Thread-1", 2, ) ) thread.start_new_thread( print_time, ("Thread-2", 4, ) )except: print "Error: unable to start thread" while 1: pass
對(duì)象編碼成 JSON 字符串。
語法:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
參數(shù)說明:
skipkeys=True:在encoding過程中,dict對(duì)象的key只可以是string對(duì)象,如果是其他類型,那么在編碼過程中就會(huì)拋出ValueError的異常。skipkeys可以跳過那些非string對(duì)象當(dāng)作key的處理。
ensure_ascii:輸出真正的中文需要指定ensure_ascii=False
check_circular
allow_nan
cls
indent=2:參數(shù)根據(jù)數(shù)據(jù)格式縮進(jìn)顯示,讀起來更加清晰;indent的數(shù)值,代表縮進(jìn)的位數(shù)。
separators=(’,’,’:’):去掉,:后面的空格,美化輸出結(jié)果。
encoding
default
sort_keys=True:按照字典排序(a到z)輸出。
#!/usr/bin/pythonimport jsondata = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]json = json.dumps(data)print json
python 原始類型向 json 類型的轉(zhuǎn)化對(duì)照表:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
用于解碼 JSON 數(shù)據(jù)。
#!/usr/bin/pythonimport jsonjsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';text = json.loads(jsonData)print text
聯(lián)系客服