Python内置函数ord()使用

ord()用于返回字符的Unicode码

用法:ord(“C”)
参数是一个字符,不能是字符串
返回该字符对应的Unicode码(int数值)

ord("a")  #返回字母a对应的ASCII码:97
ord("aa")  #报错,参数不能是字符串,只能是字符

#使用示例,输入一个字符串给出了一个列表,看列表的元素值对应字符串中每一个英语字母出现的次数
def useOrd(word:str):
    #先做大小写转换与非空检测,防止非法输入
    word=word.lower()
    if len(word)==0:
        print("输入错误")
        return
    #构建一个长度为26的,每个元素都为0的list,下标0对应字母a,以此类推25代表z
    listW=[0]*26
    for i in word:
        #字母的ASCII码从97开始,所以用某个字母的ASCII码值减去a的值,就可以得到字母从0开始排列的值
        xb=ord(i)-ord("a")
        #非英语字母不计入
        if xb>25:
           continue
        listW[xb]+=1

部分文章写的是返回ascll码,来看示例代码

print(ord("你"))  # 20320

能返回中文对应码值,说明求得是Unicode码,因为ascll只包含英文字符,不可能返回中文编码值。但是由于Unicode的前128位与ascll相同,所以在参数是英文字符时候说返回的是ascll码值也没错。
对应的还是有ord()函数的配对函数chr()
chr()的作用是:输入一个十进制或十六进制数字,返回其在Unicode编码中对应的文字或符号

chr(97) #返回字母a
chr(20320) #返回汉字 “你”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值