bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python編碼函數(shù),python基礎(chǔ)編碼

python基礎(chǔ):內(nèi)置函數(shù)、方法、轉(zhuǎn)義字符大全

在寫python程序時(shí),常能用到一些函數(shù)和方法,總結(jié)一下,保存起來,方便查詢。

創(chuàng)新互聯(lián)建站憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都1000多家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。

一、內(nèi)置函數(shù)

# abs()獲取數(shù)字絕對(duì)值

# chr(i)數(shù)字轉(zhuǎn)換為字符類型

# divmod() 獲取兩個(gè)數(shù)值的商和余數(shù)

# enumerate() 將可遍歷序列組合為索引序列

# float()轉(zhuǎn)換為浮點(diǎn)數(shù)

# format() 格式化字符串

# int()轉(zhuǎn)換為整數(shù)?

# input() 接受用戶輸入內(nèi)容

# len() 計(jì)算元素個(gè)數(shù)

# max() 返回最大值

# min() 返回最小值

# math.ceil() 返回指定數(shù)值的上舍整數(shù)

# open()打開文件并返回文件對(duì)象

# pow() 冪運(yùn)算

# print()打印輸出?

# range() 生成器

# reversed()反轉(zhuǎn)所有元素

# round()四舍五入求值

# sorted()對(duì)可迭代對(duì)象進(jìn)行排序?

# str() 轉(zhuǎn)換為字符串

# sum() 求和

# set() 創(chuàng)建集合

# tuple() 將序列轉(zhuǎn)換為元組

# zip()將可迭代對(duì)象打包成元組

二、方法

# append() 添加列表元素

# capitalize()首字母轉(zhuǎn)換為大寫?

# count()字符出現(xiàn)次數(shù)

# close() 關(guān)閉文件

# decode() 解碼字符串

# dict.keys() 獲取字典所有的鍵

# find()字符串首次出現(xiàn)的索引

# f.read() 讀取文件內(nèi)容

# dict.update()更新字典

# dict.items() 獲取字典鍵/值對(duì)

# dict.get() 返回指定鍵的值

# encode() 編碼字符串

# list.sort() 排序列表元素

# index() 元素首次出現(xiàn)的索引

# isdigit() 判斷字符串是否只由數(shù)字組成

# isupper() 是否所有字母都為大寫

# isnum() 判斷字符串是否由字母和數(shù)字組成

# islower() 是否所有字母都為小寫

# isdecimal() 檢查字符串是否只包含十進(jìn)制字符

# isalpha() 檢測(cè)字符串是否為純字母

# random.shuffle()隨機(jī)排序

# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表

# random.choice() 返回一個(gè)隨機(jī)元素

# random.randint() 生成指定范圍的隨機(jī)整數(shù)

# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)

# pop() 刪除列表中的元素

# remove()刪除列表中的指定元素

# strip()去除空格

# lstrip()去除左側(cè)空格

# rstrip() 去除右側(cè)空格

# readline() 讀取單行內(nèi)容

# root.after() Tkinter中等待一段時(shí)間后再執(zhí)行命令

# str.isnumeric() 驗(yàn)證字符串是否為數(shù)字(適用于Unicode)

# split()分割字符串

# ord() 將字符轉(zhuǎn)換為整數(shù)

# replace() 字符串替換

# ljust() 左對(duì)齊填充

# rjust() 左對(duì)齊填充

# readlines() 讀取所有行內(nèi)容

# datetime.datetime.now() 返回指定時(shí)區(qū)的本地日期時(shí)間

# datetime.datetime.today() 獲取當(dāng)前本地日期的date對(duì)象

# datetime.utcnow() 返回當(dāng)前UTC時(shí)間的datetime對(duì)象

# time.strptime()把時(shí)間字符串解析為元組

# time.time()返回當(dāng)前時(shí)間的時(shí)間戳

# time.sleep()暫停指定秒數(shù)

# time.strftime() 返回指定格式的日期字符串

# time.mktime() 接收時(shí)間元組并返回時(shí)間戳

# os.getcwd() 獲取當(dāng)前工作目錄

# os.listdir() 獲取指定路徑下的目錄和文件列表

# os.makedirs() 遞歸創(chuàng)建目錄

# os.rename() 重命名目錄或文件

# os.path.exists() 判斷路徑是否存在

# upper() 全部轉(zhuǎn)換為大寫字母

# lower()? 全部轉(zhuǎn)換為小寫字母

# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印

# sys.stdout.flush()刷新輸出?

# shutil.copy() 復(fù)制單個(gè)文件到另一文件或目錄

# write() 寫入文件內(nèi)容

# winsound.Beep() 打開電腦揚(yáng)聲器

# zfill() 在字符串前面填充0

三、循環(huán)語句

# break終止當(dāng)前循環(huán)

# continue 終止本循環(huán)進(jìn)入下一次循環(huán)

# with open() as file 以with語句打開文件(數(shù)據(jù)保存)

四、轉(zhuǎn)義字符

\ 行尾續(xù)行符

\' 單引號(hào)?

\'' 雙引號(hào)

\a 響鈴

\e 轉(zhuǎn)義

\n 換行

\t 橫向制表符

\f 換頁

\xyy 十六進(jìn)制yy代表的字符

\\反斜杠符號(hào)

\b 退格

\000 空

\v 縱向制表符

\r 回車

\0yy 八進(jìn)制yy代表的字符

\other 其他的字符以普通格式輸出

【Python】淺談python中的json

一 前言 ?

最近一直在做開發(fā)相關(guān)的工作--基于Django的web 平臺(tái),其中需要從model層傳輸數(shù)據(jù)到view 層做數(shù)據(jù)展示或者做業(yè)務(wù)邏輯處理。我們采用通用的Json格式--Json(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和程序解析。

二 認(rèn)識(shí)Json

2.1 Json 結(jié)構(gòu)

常見的Json格式為 “名稱/值”對(duì)的集合,其中 值可以是對(duì)象,列表,字典,字符串等等。比如

backup_data?=?{"back_to_host":?"dbbk0",

"ip_address":?"10.10.20.3",

"host_name":?"rac4",

"port":?3306}

2.2 使用Json

Python的Json模塊序列化與反序列化的過程分別是 編碼和解碼。這兩個(gè)過程涉及到兩組不同的函數(shù)

編碼 把一個(gè)Python對(duì)象編碼轉(zhuǎn)換成Json字符串,json.dumps(data)/json.dump(data,file_handler)

解碼 把Json格式字符串解碼轉(zhuǎn)換成Python對(duì)象,json.loads(data)/json.load(file_handler)

在python中要使用Json模塊做相關(guān)操作,必須先導(dǎo)入:

import Json

2.3 主要函數(shù)

編碼函數(shù)主要有 json.dumps(data)/json.dump(data,file_handler)

json.dumps()的參數(shù)是將python對(duì)象轉(zhuǎn)換為字符串,如使用json.dumps序列化的對(duì)象json_dumps=json.dumps({'a':1, 'b':2}) ,json_dumps='{"b": 2, "a": 1}'

json.dump 是將內(nèi)置類型序列化為json對(duì)象后寫入文件。

解碼函數(shù)主要由json.loads(data)/json.load(file_handler) ?

json.loads的參數(shù)是內(nèi)存對(duì)象,把Json格式字符串解碼轉(zhuǎn)換成Python對(duì)象,json_loads=json.loads(d_json) ?#{ b": 2, "a": 1},使用load重新反序列化為dict

json.load()的參數(shù)針對(duì)文件句柄,比如本地有一個(gè)文件/tmp/test.json ?json_load=json.load(open('/tmp/test.json'))

具體案例參考如下:

In?[3]:?data={"back_to_host":?"rac1",

...:?"ip_address":?"10.215.20.3",

...:?"host_name":?"rac3",

...:?"port":?3306}

In?[7]:?json_str=json.dumps(data)

In?[8]:?print json_str

{"ip_address":?"10.215.20.3",?"back_to_host":?"rac1",?"host_name":?"rac3",?"port":?3306}

In?[9]:?json_loads=json.load(json_str)

---------------------------------------------------------------------------

AttributeError Traceback?(most recent?call?last)

ipython-input-9-180506f16431?in?module()

----?1 json_loads=json.load(json_str)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc?in?load(fp,?encoding,?cls,?object_hook,?parse_float,?parse_int,?parse_constant,?object_pairs_hook,?**kw)

284

285?""

注意 從上面的報(bào)錯(cuò)信息來看 json.loads 傳參是字符串類型,并不是文件句柄,沒有 read()屬性。

In?[10]:?json_loads=json.loads(json_str)

In?[11]:?print json_loads

{u'back_to_host':?u'rac1',?u'ip_address':?u'10.215.20.3',?u'host_name':?u'rac3',?u'port':?3306}

In?[12]:?type(json_loads)

Out[12]:?dict

In?[13]:?type(json_str)

Out[13]:?str

利用dump 將數(shù)據(jù)寫入 dump.json

In?[17]:?with open('/tmp/dump.json','w')?as f:

...:?json.dump(json_str,f)

...:

yangyiDBA:~?yangyi$ cat /tmp/dump.json

"{\"ip_address\": \"10.10.20.3\", \"back_to_host\": \"rac1\", \"host_name\": \"rac3\", \"port\": 3306}"

yangyiDBA:~?yangyi$

利用json.load 將dump.sjon的數(shù)據(jù)讀出來并賦值給 data?

In?[18]:?with open('/tmp/dump.json','r')?as f:

...:?data=json.load(f)

...:

In?[19]:?print data

{"ip_address":?"10.10.20.3",?"back_to_host":?"rac1",?"host_name":?"rac3",?"port":?3306}

三 小結(jié)

本文算是一篇學(xué)習(xí)筆記,主要對(duì)比了json.loads/json.load ?, json.dumps/ json.dump 的使用差異 ,方便以后更好的使用json 。

以上為本次分享內(nèi)容,感謝觀看。

python3.4 編碼有哪些

Python3中的編碼問題前,第一個(gè)段落對(duì)字節(jié)、ASCII與Unicode與UTF-8等進(jìn)行基本介紹,如果不對(duì)這幾種編碼犯頭暈,可直接跳過。

ASCII與Unicode與UTF-8與GBK

首先從老大哥說起。跟很多人一樣,大學(xué)讀了這么久,久仰ASCII編碼的大名。要說這個(gè)老大哥,我們?cè)傧葟淖止?jié)說起。一個(gè)字節(jié)包括八個(gè)比特位,每個(gè)比特位表示0或1,一個(gè)字節(jié)即可表示從00000000到11111111共2^8=256個(gè)數(shù)字。一個(gè)ASCII編碼使用一個(gè)字節(jié)(除去字節(jié)的最高位作為作奇偶校驗(yàn)位),ASCII編碼實(shí)際使用一個(gè)字節(jié)中的7個(gè)比特位來表示字符,共可表示2^7=128個(gè)字符。比如那時(shí)寫C語言的程序,就經(jīng)常要背下ASCII編碼中的01000001(即十進(jìn)制的65)表示字符‘A’,01000001加上32之后的01100001(即十進(jìn)制的97)表示字符‘a(chǎn)’。現(xiàn)在打開Python,調(diào)用chr和ord函數(shù),我們可以看到Python為我們對(duì)ASCII編碼進(jìn)行了轉(zhuǎn)換。

第一個(gè)00000000表示空字符,因此ASCII編碼實(shí)際上只包括了

字母、標(biāo)點(diǎn)符號(hào)、特殊符號(hào)等共127個(gè)字符。因?yàn)锳SCII是在美國出生的,對(duì)于由字母組成單詞進(jìn)而用單詞表達(dá)的英文來說也是夠了。但是中國人、日本人、

韓國人等其他語言的人不服了。中文是一個(gè)字一個(gè)字,ASCII編碼用上了渾身解數(shù)256個(gè)字符都不夠用。

因此后來出現(xiàn)了Unicode編碼。Unicode編碼通常由兩個(gè)字節(jié)組成,共表示256*256個(gè)字符,即所謂的UCS-2。某些偏僻字還會(huì)用到四個(gè)字節(jié),即所謂的UCS-4。也就是說Unicode標(biāo)準(zhǔn)也還在發(fā)展。但UCS-4出現(xiàn)的比較少,我們先記住:最原始的ASCII編碼使用一個(gè)字節(jié)編碼,但由于語言差異字符眾多,人們用上了兩個(gè)字節(jié),出現(xiàn)了統(tǒng)一的、囊括多國語言的Unicode編碼。

在Unicode中,原本ASCII中的127個(gè)字符只需在前面補(bǔ)一個(gè)全零的字節(jié)即可,比如前文談到的字符‘a(chǎn)’:01100001,在Unicode中變成了00000000 01100001。不久,美國人不開心了,吃上了世界民族之林的大鍋飯,原本只需一個(gè)字節(jié)就能傳輸?shù)挠⑽默F(xiàn)在變成兩個(gè)字節(jié),非常浪費(fèi)存儲(chǔ)空間和傳輸速度。

人們?cè)侔l(fā)揮聰明才智,于是出現(xiàn)了UTF-8編碼。因?yàn)獒槍?duì)的是空間浪費(fèi)問題,因此這種UTF-8編碼是可變長短的,從英文字母的一個(gè)字節(jié),到中文的通常的三個(gè)字節(jié),再到某些生僻字的六個(gè)字節(jié)。解決了空間問題,UTF-8編碼還有一個(gè)神奇的附加功能,那就是兼容了老大哥的ASCII編碼。一些老古董軟件現(xiàn)在在UTF-8編碼中可以繼續(xù)工作。

注意除了英文字母相同,漢字在Unicode編碼和UTF-8編碼中通常是不同的。比如漢字的‘中’字在Unicode中是01001110

00101101,而在UTF-8編碼中是11100100 10111000

10101101。

我們祖國母親自然也有自己的一套標(biāo)準(zhǔn)。那就是GB2312和GBK。當(dāng)然現(xiàn)在挺少看到。通常都是直接使用UTF-8。記得我唯一一次看到GB編碼的網(wǎng)頁,是一個(gè)成人網(wǎng)站。

Python3中的默認(rèn)編碼

Python3中默認(rèn)是UTF-8,我們通過以下代碼:

import sys

sys.getdefaultencoding()

可查看Python3的默認(rèn)編碼。

Python3中的encode和decode

Python3中字符編碼經(jīng)常會(huì)使用到decode和encode函數(shù)。特別是在抓取網(wǎng)頁中,這兩個(gè)函數(shù)用的熟練非常有好處。我的理解,encode的作用,使我們看到的直觀的字符轉(zhuǎn)換成計(jì)算機(jī)內(nèi)的字節(jié)形式。decode剛好相反,把字節(jié)形式的字符轉(zhuǎn)換成我們看的懂的、直觀的、“人模人樣”的形式。如下圖。

\x表示后面是十六進(jìn)制,\xe4\xb8\xad即是二進(jìn)制的11100100 10111000

10101101。也就是說漢字‘中’encode成字節(jié)形式,是11100100 10111000

10101101。同理,我們拿11100100

10111000 10101101也就是\xe4\xb8\xad來decode回來,就是漢字‘中’。完整的應(yīng)該是b'\xe4\xb8\xad',在Python3中,以字節(jié)形式表示的字符串則必須加上前綴b,也就是寫成上文的b'xxxx'形式。

前文說的Python3的默認(rèn)編碼是UTF-8,所以我們可以看到,Python處理這些字符的時(shí)候是以UTF-8來處理的。因此從上圖可以看到,就算我們通過encode('utf-8')特意把字符encode為UTF-8編碼,出來的結(jié)果還是相同:b'\xe4\xb8\xad'。

明白了這一點(diǎn),同時(shí)我們知道UTF-8兼容ASCII,我們可以猜想大學(xué)時(shí)經(jīng)常背誦的‘A’對(duì)應(yīng)ASCII中的65,在這里是不是也能正確的decode出來呢。十進(jìn)制的65轉(zhuǎn)換成十六進(jìn)制是41,我們嘗試下:

b'\x41'.decode()

結(jié)果如下。果然是字符‘A’

Python3中的編碼轉(zhuǎn)換

據(jù)說字符在計(jì)算機(jī)的內(nèi)存中統(tǒng)一是以Unicode編碼的。只有在字符要被寫進(jìn)文件、存進(jìn)硬盤或者從服務(wù)器發(fā)送至客戶端(例如網(wǎng)頁前端的代碼)時(shí)會(huì)變成utf-8。但其實(shí)我比較關(guān)心怎么把這些字符以Unicode的字節(jié)形式表現(xiàn)出來,露出它在內(nèi)存中的廬山正面目的。這里有個(gè)照妖鏡:

xxxx.encode/decode('unicode-escape')

輸出如下

b'\\u4e2d'還是b'\u4e2d,一個(gè)斜杠貌似沒影響。同時(shí)可以發(fā)現(xiàn)在shell窗口中,直接輸'\u4e2d'和輸入b'\u4e2d'.decode('unicode-escape')是相同的,都會(huì)打印出漢字‘中’,反而是'\u4e2d'.decode('unicode-escape')會(huì)報(bào)錯(cuò)。說明說明Python3不僅支持Unicode,而且一個(gè)‘\uxxxx’格式的Unicode字符可被辨識(shí)且被等價(jià)于str類型。

如果我們知道一個(gè)Unicode字節(jié)碼,怎么變成UTF-8的字節(jié)碼呢。懂了以上這些,現(xiàn)在我們就有思路了,先decode,再encode。代碼如下:

xxx.decode('unicode-escape').encode()

測(cè)試如下:

可以看到最后輸出的UTF-8字節(jié)與上面的相同。嘗試成功。所以其他的編碼之間的轉(zhuǎn)換,大概也是如此。

最后的擴(kuò)展

還記得剛剛那個(gè)ord嗎。時(shí)代變遷,老大哥ASCII被人合并,但ord還是有用武之地。試試ord('中'),輸出結(jié)果是20013。20013是什么呢,我們?cè)僭囋噃ex(ord('中')),輸出結(jié)果是'0x4e2d',也就是20013是我們?cè)谏衔囊娒媪藷o數(shù)次的x4e2d的十進(jìn)制值。這里說下hex,是用來轉(zhuǎn)換成十六進(jìn)制的函數(shù),學(xué)過單片機(jī)的人對(duì)hex肯定不會(huì)陌生。

最后的擴(kuò)展,在網(wǎng)上看到的他人的問題。我們寫下類似于'\u4e2d'的字符,Python3知道我們想表達(dá)什么。但是讓Python讀取某個(gè)文件的時(shí)候出現(xiàn)了'\u4e2d',是不是計(jì)算機(jī)就不認(rèn)識(shí)它了呢?后來下文有人給出了答案。如下:

import codecs

file = codecs.open( "a.txt", "r", "unicode-escape" )

u = file.read()

print(u)

Python基本編碼格式

1、一般來說,聲明編碼格式在腳本中是必需的。2、如果Python源碼文件沒有聲明編碼格式,Python解釋器會(huì)默認(rèn)使用ASCII編碼。但出現(xiàn)非ASCII編碼的字符,Python解釋器就會(huì)報(bào)錯(cuò)。

1、Python 采用代碼縮進(jìn)和冒號(hào)( : )來區(qū)分代碼塊之間的層次。2、在 Python 中,對(duì)于類定義、函數(shù)定義、流程控制語句、異常處理語句等,行尾的冒號(hào)和下一行的縮進(jìn),表示下一個(gè)代碼塊的開始,而縮進(jìn)的結(jié)束則表示此代碼塊的結(jié)束。3、Python 中實(shí)現(xiàn)對(duì)代碼的縮進(jìn),可以使用空格或者 Tab 鍵實(shí)現(xiàn)。但無論是手動(dòng)敲空格,還是使用 Tab 鍵,通常情況下都是采用 4 個(gè)空格長度作為一個(gè)縮進(jìn)量(默認(rèn)情況下,一個(gè) Tab 鍵就表示 4 個(gè)空格)。4、對(duì)于 Python 縮進(jìn)規(guī)則,初學(xué)者可以這樣理解,Python 要求屬于同一作用域中的各行代碼,它們的縮進(jìn)量必須一致,但具體縮進(jìn)量為多少,并不做硬性規(guī)定。

正確示例代碼:

錯(cuò)誤示例代碼:

Python中使用 # 進(jìn)行注釋,我們?cè)谑褂? 的時(shí)候,# 號(hào)后面要空一格在行內(nèi)注釋的時(shí)候,中間應(yīng)該至少加兩個(gè)空格

print("你好,世界") # 注釋

** 使用的一般性原則:**

1、在二元運(yùn)算符兩邊各空一格,算術(shù)操作符兩邊的空格可靈活使用,但兩側(cè)務(wù)必要保持一致2、不要在逗號(hào)、分號(hào)、冒號(hào)前面加空格,但應(yīng)該在它們后面加(除非在行尾)3、函數(shù)的參數(shù)列表中,逗號(hào)之后要有空格4、函數(shù)的參數(shù)列表中,默認(rèn)值等號(hào)兩邊不要添加空格5、左括號(hào)之后,右括號(hào)之前不要加添加空格6、參數(shù)列表, 索引或切片的左括號(hào)前不應(yīng)加空格

使用的一般性原則:

1、編碼格式聲明、模塊導(dǎo)入、常量和全局變量聲明、頂級(jí)定義和執(zhí)行代碼之間空兩行2、頂級(jí)定義之間空兩行,方法定義之間空一行3、在函數(shù)或方法內(nèi)部,可以在必要的地方空一行以增強(qiáng)節(jié)奏感,但應(yīng)避免連續(xù)空行

1、導(dǎo)入總應(yīng)該放在文件頂部,位于模塊注釋和文檔字符串之后,模塊全局變量和常量之前。

2、導(dǎo)入應(yīng)該按照從最通用到最不通用的順序分組,分組之間空一行:

3、每個(gè) import 語句只導(dǎo)入一個(gè)模塊,盡量避免一次導(dǎo)入多個(gè)模塊

命名規(guī)范這一塊的大家應(yīng)該都比較熟悉了,但是不同的編程語言之間的明明規(guī)范也是有所區(qū)別的~

Python命名建議遵循的一般性原則:

引號(hào)使用的一般性原則:

Python跟其他幾個(gè)主流編程語言的分號(hào)使用區(qū)別很大Python的代碼末尾不需要加分號(hào),而Java和C#等都需要添加

不要在行尾添加分號(hào),也不要用分號(hào)將兩條命令放在同一行,例如:

Python學(xué)習(xí)日記

python中怎么求ascii碼7、8、9的編碼

度知道 提問

搜一搜

python中怎么求ascii碼7、8、9的編碼

社會(huì)我飛哥16888

今天 01:21 超過161用戶采納過TA的回答

關(guān)注

我們可以使用for循環(huán)和ord()函數(shù)來獲取字符串的 ASCII 值。ord()函數(shù)返回傳遞字符串的 Unicode。它接受1作為字符串的長度。for循環(huán)用于迭代序列:列表、元組、字典、集合或字符串。因此,我們可以使用for循環(huán)來解析字符串的每個(gè)字符并將其轉(zhuǎn)換為 ASCII 值。

在下面的代碼中,text 是一個(gè)保存用戶輸入的變量。ascii_values 最初是一個(gè)空列表,稍后將保存字符串中每個(gè)字符的 ASCII 值。一旦循環(huán)完成其循環(huán),我們將向用戶顯示 ascii_values 的內(nèi)容作為輸出。append() 函數(shù)在每次迭代后向列表 ascii_values 添加一個(gè)新項(xiàng)目。

當(dāng)我們運(yùn)行這個(gè)程序時(shí),用戶會(huì)收到一個(gè)字符串提示,一旦用戶提供了一個(gè)字符串,它就會(huì)被存儲(chǔ)在一個(gè)變量 text 中。在示例中,輸入是字符串 hello。打印字符串中每個(gè)字符的 ASCII 值。

示例代碼:

#python 3.x

text = input("enter a string to convert into ascii values:")

ascii_values = []

for character in text:

ascii_values.append(ord(character))

print(ascii_values)

輸出:

enter a string to convert into ASCII values: hello

[104, 101, 108, 108, 111]

二、在 Python 中使用 List Comprehension 和 ord() 函數(shù)獲取字符串的 ASCII

我們可以使用列表推導(dǎo)來實(shí)現(xiàn)相同的結(jié)果。Python 中的列表推導(dǎo)式是一種簡(jiǎn)單而緊湊的語法,用于從字符串或其他列表創(chuàng)建列表。這是一種通過對(duì)現(xiàn)有列表中的每個(gè)項(xiàng)目進(jìn)行操作來創(chuàng)建新列表的簡(jiǎn)潔方法。列表推導(dǎo)比使用 for 循環(huán)處理列表快得多。

在下面的代碼中,外部沒有 for 或 while 循環(huán)。但是在列表推導(dǎo)中,我們使用 for 循環(huán)來獲取 text 的每個(gè) character。

示例代碼:

#python 3.x

text = input("enter a string to convert into ascii values: ")

ascii_values = [ord(character) for character in text]

print(ascii_values)

輸出:

enter a string to convert into ASCII values: hello

[104, 101, 108, 108, 111]

三、使用用戶定義的函數(shù) to_ascii() 在 Python 中獲取字符串的 ASCII

另一種編寫代碼以實(shí)現(xiàn)相同目標(biāo)的方法是使用用戶定義的函數(shù)。用戶定義函數(shù)是用于在策略正文中組織代碼的函數(shù)。一旦你定義了一個(gè)函數(shù),你就可以像內(nèi)置的動(dòng)作和解析器函數(shù)一樣調(diào)用它。傳遞給函數(shù)的變量是通過引用而不是通過值傳遞的。

在下面的代碼中,我們使用用戶定義的函數(shù) to_ascii 將 text 作為參數(shù)。在函數(shù)內(nèi)部,定義了塊操作,并通過關(guān)鍵字 return 傳遞結(jié)果。當(dāng)從提供 text 的主模塊調(diào)用函數(shù) to_ascii 作為參數(shù)控制轉(zhuǎn)移到 to_ascii 函數(shù)并執(zhí)行代碼塊時(shí),我們會(huì)在列表中獲得給定字符串的 ASCII 值。

示例代碼:

#python 3.x

def to_ascii(text):

ascii_values = [ord(character) for character in text]

return ascii_values

text = input("Enter a string: ")

print(to_ascii(text))

輸出:

Enter a string:

hello

[104, 101, 108, 108, 111]

python基礎(chǔ)——編碼、bytes與str轉(zhuǎn)換及格式化

對(duì)于單個(gè)字符的編碼,Python提供了ord()函數(shù)獲取字符的整數(shù)表示,chr()函數(shù)把編碼轉(zhuǎn)換為對(duì)應(yīng)的字符:

最常用的編碼是UTF-8,如果沒有特殊業(yè)務(wù)要求,請(qǐng)牢記僅使用UTF-8編碼。

在爬蟲中會(huì)經(jīng)常遇見,需要用encode和decode來進(jìn)行互相轉(zhuǎn)碼

str轉(zhuǎn)bytes

注意,含有中文字符的str不能用acsii格式轉(zhuǎn)碼

bytes轉(zhuǎn)str

** 程序中經(jīng)常會(huì)遇到個(gè)別字符轉(zhuǎn)碼不成功而報(bào)錯(cuò),因此在decode方法中需要這個(gè)參數(shù)errors='ignore'忽略錯(cuò)誤的字節(jié)

注意格式化的數(shù)據(jù)格式

網(wǎng)頁題目:python編碼函數(shù),python基礎(chǔ)編碼
文章路徑:http://vcdvsql.cn/article12/hshjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作軟件開發(fā)網(wǎng)站設(shè)計(jì)公司關(guān)鍵詞優(yōu)化微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站