鱼C论坛

 找回密码
 立即注册
查看: 1579|回复: 4

[已解决]字符串方法疑惑

[复制链接]
发表于 2017-10-25 20:39:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天突然发现字符串的isalpha()和isalnum()方法与注释似乎有点不同:
#此处是注释:
S.isalpha() -> bool
|      
|      Return True if all characters in S are alphabetic
|      and there is at least one character in S, False otherwise.
S.isalnum() -> bool
|      
|      Return True if all characters in S are alphanumeric
|      and there is at least one character in S, False otherwise.
#正文
实现时发现
temp = '我是猪'
temp.isalpha()
temp.isalnum()
返回的居然都是True,有没有大牛解答一下0.0蟹蟹啦
最佳答案
2017-10-25 23:41:09

我用“isalpha 中文”为关键词,百度一下,发现一些有意思的结果,这是个小坑啊。

- 为什么 unicode 的中文字符串,调用 isalpha()或 isalnum()返回的是 True 呢? https://segmentfault.com/q/1010000000732038/a-1020000000732447
对于unicode string,string.isalpha会根据字符串中的字符是否属于Unicode编码的LETTER区域来判断是否都由字母组成。所以得出的结果为True,不一定表示只有26个英文字母。



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-10-25 22:07:48 | 显示全部楼层
alpha 文字
alnum = alpha + number 文字和数字
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-25 23:41:09 | 显示全部楼层    本楼为最佳答案   

我用“isalpha 中文”为关键词,百度一下,发现一些有意思的结果,这是个小坑啊。

- 为什么 unicode 的中文字符串,调用 isalpha()或 isalnum()返回的是 True 呢? https://segmentfault.com/q/1010000000732038/a-1020000000732447
对于unicode string,string.isalpha会根据字符串中的字符是否属于Unicode编码的LETTER区域来判断是否都由字母组成。所以得出的结果为True,不一定表示只有26个英文字母。



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-26 09:08:00 | 显示全部楼层
alnum 包含了 alpha
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-26 09:35:08 | 显示全部楼层
第一个指的是字母,第二个指的是字母和数字,看英文翻译啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-3 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表