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/n/126525.html

(0)
简单一点的头像简单一点
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • 用python批量修改图片名称(python图片批量重命名)

    本文目录一览: 1、如何用python批量改文件名 2、如何利用python给大量图片重命名 3、python如何批量修改图片名? 4、批量文件夹里的图片JPG重命名? 5、苹果电…

  • c语言数学竞赛,c语言大赛

    本文目录一览: 1、求各位C语言大哥指导! 2、数学竞赛问题,数学的高手请进! 3、请问数学建模中可以完全用C语言编写程序吗,没有学过MATLAB,这个假期的数学建模竞赛我负责编程…

    编程 2024-10-04
  • 关键词抽取技术详解

    一、关键词抽取技术概述 关键词抽取是一种文本挖掘技术,它的目标是从文本中提取出最能代表文本主题的关键词或短语。关键词抽取技术广泛应用于搜索引擎、信息检索、自然语言处理等领域。在关键…

    编程 2024-10-12
  • Linux目录详解

    一、/ (根目录) / 目录是 Linux 文件系统的根目录。它包含了整个 Linux 文件系统,包括所有的文件和其他目录。 通常情况下,/ 和 /root 是唯一两个允许普通用户…

    编程 2024-10-04
  • 如何使用tf.log进行Python日志记录

    一、什么是日志记录 在编写代码的过程中,我们常常需要输出一些信息,以便在程序运行时能够快速定位问题。这种输出信息的操作叫做日志记录。通过记录程序运行过程中的关键信息,可以更加清晰地…

    编程 2024-10-03
  • 学完c语言就学习java了(学了c学java难不)

    1、现在在学习c语言很难学不会怎么办?学完c语言就学习Java了! 2、学完C语言的基本语法可以去学java了吗 3、学完C语言再学java有没有帮助? 4、java和c语言关系大…

    编程 2024-10-03
  • mysql数据库索引探究(数据库索引的)

    本文目录一览: 1、MySQL数据库的索引的操作知多少 2、深入理解mysql的联合索引 3、mysql索引有哪几种 MySQL数据库的索引的操作知多少 MySQL索引类型包括: …

    编程 2024-10-03
  • CSS媒体查询类型

    CSS媒体查询类型是指用于动态调整网页样式的CSS3功能,可以根据不同的设备(如手机、平板电脑、电视)和浏览器窗口大小来设置不同的样式。这使得网站能够适应各种不同的屏幕尺寸和设备类…

    编程 2024-10-04
  • 制作c语言软件,c语言怎么制作软件

    本文目录一览: 1、c语言用什么软件练习好 2、c语言软件哪个好用 3、c语言用什么编程软件 4、c语言编程软件有哪些? 5、c语言编程软件有哪些 6、c语言用什么编程软件? c语…

    编程 2024-10-03
  • Hive修改列名详解

    一、Hive修改列名称 在Hive中,我们可以通过ALTER TABLE语句来修改列名称。具体语法如下: ALTER TABLE table_name CHANGE column_…

    编程 2024-10-04

发表回复

登录后才能评论