python判斷全形(python判斷銳角,鈍角三角形)

  • 1、軟體測試中,python判斷字元串,str函數isdigit、isdecimal、isnumeri
  • 2、如何理解python3的unicode,以及全形半形轉換
  • 3、Python實現全形半形轉換的方法
  • 4、python空格轉化為全形空格
  • 5、Python的標點和符號是半形英文還是全形英文?
  • 6、如何讓Python輸入逗號 不區分全半形

num = “4” # 全形數字num.isdigit() # Truenum.isdecimal() # Truenum.isnumeric() # Truenum = b”4″ # bytenum.isdigit() # Truenum.isdecimal() # AttributeError: bytes object has no attribute isdecimalnum.isnumeric() # AttributeError: bytes object has no attribute isdecimalnum = “IV” # 羅馬數字num.isdigit() # Truenum.isdecimal() # Falsenum.isnumeric() # True#num = “四” # 漢字num.isdigit() # Falsenum.isdecimal() # Falsenum.isnumeric() # True# isdigit() 支持 全形數字,byte數字(單位元組) 羅馬數字 不支持漢字# isdecimal() 支持全形數字 , 不支持 羅馬數字 漢字 , 報錯 byte數字(單位元組)# isnumeric() 支持 全形數字 羅馬數字 漢字 報錯 byte數字(單位元組)通常使用最多的是isdecimal ,如果想了解更多可以來傳智播客軟體測試學科學習

1. unicode是一個編碼的standard,表明了字元與數字之間的映射,是可變長的。

2. 映射後的數據如何編碼為位元組?這個就是具體的編碼規則:目前最主流的是UTF-8,同樣,它也是變字長的。

python3中的str都是unicode的:「The default encoding for Python source code is UTF-8」

python3中的encode:按照encode()括弧中的參數對字元串進行編碼,就是生成bytes。

所以:

In:’中文’.encode(‘utf-8’)

Out:b’\xe4\xb8\xad\xe6\x96\x87′

這裡的b就是Byte,\x表示這個x是被轉義的,意思就是0x。又如:

In: ‘abc’.encode(‘utf-8’)

Out: b’abc’

上面的b’a’其實表示的是數字97,b’a’的意思就是字元串’a’的binary數字:

[In]:’abc’.encode(‘utf-8’)[0]

[Out]: 97

同時可以把b’\x’進行解碼,即:

In:b’\xe4\xb8\xad\xe6\x96\x87′.decode(‘utf-8’)

Out:’中文’

除了encode(‘utf-8’)外,用ord可以獲得單個utf-8字元對應的數字:

In [60]: ord(‘a’)

Out[60]: 97

In [61]: ord(‘a’) #這個是全形的a

Out[61]: 65345

除了decode(‘utf-8’)外,用chr可以獲得數字對應的utf-8字元:

In [62]: chr(97)

Out[62]: ‘a’

除了unicode還有別的編碼標準嗎?有啊,比如我國的GBK,別名也叫cp936。

全形和半形之分,是指同樣一個意義的字元,顯示的大小不同.具體來說,全形和半形的編碼是兩個結果:

In [70]: “mn”.encode(‘utf-8’)

Out[70]: b’\xef\xbd\x8d\xef\xbd\x8e

[In]:”mn”.encode(‘utf-8’)

[Out]:b’mn’

它們有什麼對應關係呢?(引自這裡)

轉換說明

全形半形轉換說明

有規律(不含空格):

全形字元unicode編碼從65281~65374 (十六進位 0xFF01 ~ 0xFF5E)

半形字元unicode編碼從33~126 (十六進位 0x21~ 0x7E)

特例:

空格比較特殊,全形為 12288(0x3000),半形為 32(0x20)

除空格外,全形/半形按unicode編碼排序在順序上是對應的(半形 + 0x7e= 全形),所以可以直接通過用+-法來處理非空格數據,對空格單獨處理。

代碼在此基礎上改動一下(將unichr改為chr即可,適應python3),即:

def strQ2B(ustring):

“””全形轉半形”””

rstring = “”

for uchar in ustring:

inside_code=ord(uchar)

if inside_code == 12288: #全形空格直接轉換

inside_code = 32

elif (inside_code = 65281 and inside_code = 65374): #全形字元(除空格)根據關係轉化

inside_code -= 65248

rstring += chr(inside_code)

return rstring

In [69]: strQ2B(‘你好python’)

Out[69]: ‘你好python’

Python實現全形半形轉換的方法

本文實例講解了Python實現全形半形轉換的方法,相信對於大家的Python學習能夠起到一定的參考借鑒價值。如下所示:

一、全形半形轉換概述:

全形字元unicode編碼從65281~65374 (十六進位 0xFF01 ~ 0xFF5E)

半形字元unicode編碼從33~126 (十六進位 0x21~ 0x7E)

空格比較特殊,全形為 12288(0x3000),半形為 32 (0x20)

而且除空格外,全形/半形按unicode編碼排序在順序上是對應的

所以可以直接通過用+-法來處理非空格數據,對空格單獨處理

二、全形轉半形:

實現代碼如下:

def strQ2B(ustring):

“””把字元串全形轉半形”””

rstring = “”

for uchar in ustring:

inside_code=ord(uchar)

if inside_code==0x3000:

inside_code=0x0020

else:

inside_code-=0xfee0

if inside_code0x0020 or inside_code0x7e: #轉完之後不是半形字元返回原來的字元

rstring += uchar

rstring += unichr(inside_code)

return rstring

三、半形轉全形:

實現代碼如下:

def strB2Q(ustring):

“””把字元串半形轉全形”””

rstring = “”

for uchar in ustring:

inside_code=ord(uchar)

if inside_code0x0020 or inside_code0x7e: #不是半形字元就返回原來的字元

rstring += uchar

if inside_code==0x0020: #除了空格其他的全形半形的公式為:半形=全形-0xfee0

inside_code=0x3000

else:

inside_code+=0xfee0

rstring += unichr(inside_code)

return rstring

四、測試代碼:

a = strB2Q(“abc12345”)

print a

b = strQ2B(a)

print b

輸出:

abc12345

abc12345

感興趣的朋友可以調試運行一下,相信會有一定的收穫。

輸入12288即可轉化。

在自然語言處理過程中,全形、半形的的不一致會導致信息抽取不一致,因此需要統一。空格比較特殊,全形為12288(0x3000),半形為32(0x20)。

你好,答案如下所示。

python的所有標點和符號都是半形英文

希望你能夠詳細查看。

如果你有不會的,你可以提問

我有時間就會幫你解答。

希望你好好學習。

每一天都過得充實。

1、首先中文是不區分全形和半形的。

2、其次在python中輸入逗號時,可以切換為中文輸入法進行輸入。

3、最後可以在輸入中不區分全半形,而且還能輸入正確。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126525.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相關推薦

  • Python列印數字三角形

    本文將詳細闡述如何使用Python列印數字三角形,包括從基本代碼實現到進階操作的應用。通過本文的學習,您可以掌握Python的基礎語法,同時加深對Python循環和函數的理解,提高…

    編程 2025-04-29
  • Python編程:如何定義一個計算三角形面積的函數

    計算三角形面積是幾何學中的一個基礎問題。在Python編程中,我們可以通過定義一個函數來計算任意三角形的面積。本文將從以下幾個方面對Python定義一個計算三角形面積的函數進行闡述…

    編程 2025-04-28
  • Python三角形周長及面積

    在Python編程中,計算三角形的周長及面積是基礎的操作之一。在此文章中,將詳細闡述如何通過Python編程計算三角形的周長及面積。 一、三角形概述 三角形是由三條線段相交而成的平…

    編程 2025-04-28
  • 使用Python輸出楊輝三角形

    本文將從多個方面詳細闡述如何使用Python輸出楊輝三角形。 一、楊輝三角形的定義 楊輝三角形,又稱帕斯卡三角形,是二項式係數在三角形中的一種幾何排列。其特點是每一行數字左右對稱,…

    編程 2025-04-28
  • Python繪製直角三角形

    Python是一種功能強大的編程語言,在繪製圖形方面也有著很強的優勢。繪製直角三角形是Python初學者較為常見的練手項目。在本文中,我們將從多個方面介紹如何用Python繪製直角…

    編程 2025-04-27
  • Python利用for循環實現三角形的繪製

    Python是一種高級編程語言,也是非常適合初學者學習的一種編程語言。本文將詳細介紹如何利用Python中的for循環來實現三角形的繪製。通過本文的學習,大家可以對Python的基…

    編程 2025-04-27
  • 楊輝三角形C語言

    一、基本原理 楊輝三角是一種數學上的三角圖形,每一行的數字是上一行相鄰兩個數字之和。 void print_pascal_triangle(int n) { int triangl…

    編程 2025-04-02
  • java列印三角形,java列印三角形詳細代碼解釋

    本文目錄一覽: 1、JAVA 如何列印空心三角形,請詳細解釋下每句代碼,謝 2、java列印如下數字三角形? 3、java 列印等腰三角形, 4、java列印空心三角型,和等腰三角…

    編程 2025-01-16
  • java列印三角形,java列印三角形詳細代碼解釋

    本文目錄一覽: 1、JAVA 如何列印空心三角形,請詳細解釋下每句代碼,謝 2、java列印如下數字三角形? 3、java 列印等腰三角形, 4、java列印空心三角型,和等腰三角…

    編程 2025-01-16
  • c語言三角面積,C語言求三角形的面積

    本文目錄一覽: 1、c語言編程,求三角形面積公式? 2、c語言求三角形面積!! 3、C語言簡單編程之求解三角形的面積 4、用c語言求三角形面積怎麼求? c語言編程,求三角形面積公式…

    編程 2025-01-16

發表回復

登錄後才能評論