飘逸的python - ord和chr以及unichr】的更多相关文章

ord是unicode ordinal的缩写,即编号 chr是character的缩写,即字符 ord和chr是互相相应转换的. 可是因为chr局限于ascii,长度仅仅有256. 于是又多了个unichr. >>c = u'康' >>c u'\u5eb7' >>ord(c) 24747 >>chr(24247) ValueError: chr() arg not in range(256) >>unichr(24247) u'\u5eb7'…
ord()函数,chr()函数,unichr()函数 chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或0x000…
一. ord() 函数描述ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常. 语法以下是 ord() 方法的语法:ord(c)参数c -- 字符.返回值返回值是对应的十进制整数. 二. chr() 函数描述ch…
ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制. >>> ord("a") 97 >>> chr(97) 'a' 比如生成一个字母表list,我们就可以这样: >>> [chr(i) for i in range(97,123)] ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',…
chr():十进制或十六进制数(0-255)转成对应的ASCII字符. ord():ASCII字符转成对应的十进制数. 一个小性质:ASCII表中大写字母排在前面小写排在后面,相差32. 比如: ord('A') Out[20]: 65 chr(65+32) Out[21]: 'a'…
chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x…
chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符. unichr()跟它一样,只不过返回的是 Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是 range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或 0x00000…
chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x…
python的内建函数chr,ord,unichr chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是 range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或 0x00…
http://www.nnzhp.cn/archives/152 1.max,min,round print(max([3,4.563,3,6,2.5])) #取最大值,可循环参数即可,int类型的,字符串类型不行 print(min(9,4,7,1,0)) #取最小值 print(round(3.43535345,2)) #取即为小数,四舍五入 print(round(1.12345,2)) 2.sorted s = ' res = sorted(s) #对字符串排序,默认升序 print(l…
ch() , unichr() , ord() ①chr()函数用一个范围在range(256)内的整数作参数,返回一个对应的字符. >>>chr(65) 'A' ②unichr()跟chr()一样,只不过返回的是Unicode字符. >>>unichr(12345) u'u3039 ③超出范围的报ValueErrro异常 ④ord()函数是chr()或unichr()的配对函数,以字符作为参数,返回ASCII数值,或者Unicode数值. >>>or…
VIM 的作者Bram Moolenaar在一篇叫高效文本编辑器的7个习惯的ppt中有这么一段话. Three basic steps 1.    Detect inefficiency 2.    Find a quicker way 3.    Make it a habit 即 1.检测哪里效率低下 2.找到一种更快的方法 3.养成习惯   这3个步骤可谓是大道至简.放之四海而皆准. 不止适用于vim,一样适用于python以及其他语言,也适用于现实生活. 这简单的道理很多人都懂,但是却有…
__new__: 对象的创建,是一个静态方法.第一个參数是cls.(想想也是,不可能是self,对象还没创建,哪来的self) __init__ : 对象的初始化, 是一个实例方法,第一个參数是self. __call__ : 对象可call.注意不是类,是对象. 先有创建,才有初始化.即先__new__,而后__init__. 上面说的不好理解,看样例. 对于__new__ class Bar(object): pass class Foo(object): def __new__(cls,…
ord()  : 将字符转为 ascii 码 (0-256),准确定义官方文档:http://php.net/manual/en/function.ord.php chr() : 将 ascii 码转为字符,与 ord() 相反 不过这两个方法都有限制,只能处理 ascii 码, 如果需要处理的字符串包含 utf-8 ,就不能正常工作,假如 你使用的 php 是大于 7.2.0 版本,那么你可以使用增强的方法: mb_ord() mb_chr() 如果使用的 php 版本小于 7.2.0,可以尝…
chr()根据整数返回对应的字符,也就是讲ascii转换为字符 unichr()将整数返回成unicode字符 ord()将字符转换成ascii码…
ord()函数:字符串——>ascll编码 chr()函数:ascll编码——>字符串 #函数 for i in range(ord('d'),ord('f')+1):#拿到d和f对应的ascll编码值:range(100,102+1) print(i)#打印100,101,102 print(chr(i))#chr将数字转换为字母,打印d,e,f 实例: 有a,b,c三个人,d,e,f三款苹果手机!a说:我的手机不是d款:b说:我的手机不是d款和f款 问:三人各持有的是哪款手机 for i…
ord & chr ord: 返回单个 Unicode 字符编码的整数 chr: 给一个 Unicode 编码,返回一个字符 (0 ~ 1,114,111) (ASCII 与 Unicode 前 128 位相同,之后就不同了) Unicode 码编码表:https://www.unicode.org/charts/nameslist/…
Given a string of length one, return an integer representing the Unicode code point of the character when the argument is a unicode object, or the value of the byte when the argument is an 8-bit string. For example, ord('a') returns the integer 97, o…
直接上代码 //通过ord()函数获取字符的ASCII码值,如果返回值大于 127则表示为中文字符的一半,再获取后一半组合成一个完整字符 $string = "hello不要迷恋哥world"; $string=iconv('utf-8', 'gbk', $string);////由于ord函数在gbk下单个中文长度为2,utf-8下长度为3 $length = strlen($string); var_dump($string);//原始中文 var_dump($length);//…
一说起通配符,大家非常快就会想起*和? 号,有了通配符,使得表达能力大大增强,非常多linux命令都支持这个东西,事实上就是glob style pattern. 就连redis的keys命令都支持glob. 我要实现的glob,支持下面特性: 星号*匹配0个或多个随意字符 ? 匹配确切的一个随意字符 [characters]匹配随意一个方括号内的字符,比方[abc],要么匹配a,要么匹配b,要么匹配c. [!character]排除方括号内的字符 [character-character],表…
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.format(…
  有时候我们从其它地方接受的字符串经过艰难跋涉,它变了个样.比如收到的是'\u6253\u602a\u8005'而不是u'\u6253\u602a\u8005'. 明明肉眼看起来只需要加个u,但是怎么加呢? >>s = '\u6253\u602a\u8005' >>s '\\u6253\\u602a\\u8005' >>'u'+s 'u\\u6253\\u602a\\u8005'   这样不行. 而且表面看起来是'\u6253\u602a\u8005',其实内部是'\…
当项目有很多文件时,要找出控制台的输出是在哪里print出来的很麻烦,不过这事对于强大的python来说小菜一碟. 先上代码和效果,再说明. import sys,traceback class mystdout: stdout = sys.stdout def write(self,_str): if _str != '\n': filepath,lineno = traceback.extract_stack()[-2][0:2] mystdout.stdout.write("%s\t%s(…
曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相同按进球数,再相同按失球数. 即按积分P.净胜球GD.进球GS.失球GA这样的顺序. 在python中,排序非常方便,排序的参数主要有key.reverse.参数cmp不建议使用了,在python3.0被移除了,用参数key代替. 对于多条件排序,也非常简单,只需要记住下面这句话就行. 即 参数ke…
最近德甲英超西甲各大联赛重燃战火,想起之前写过的一段生成赛程表的代码,用python来写这类东西太舒服了. 这个算法叫做蛇环算法. 即,把所有球队排成一个环形(2列),左边对阵右边,第一支队伍不动,其他队伍顺时针循环,这样就肯定不重复了. 为了方便说明,假设有8支球队a到h.像下面那样按环形排好. a h |   | b g |   | c  f |   | d-e 这样,第1轮的对阵就是,(a,h)(b,g)(c,f)(d,e). 下一轮的时候,第一支球队a不动,其它球队像齿轮一样顺时针走一格…
最近有个需求,要检测配置中的那些url的域名是否都正常,即是否都能ping通. 不过配置中url格式是这样的 http://www.something.com:1234/ . 要ping的是www.something.com. 要把url中的域名抽离出来,一般会想到的是切割字符串,或者用正则表达式. 不过有个更干净利落的方法,就是python标准库自带的urlparse.url的各个部分都可以用这个东东抽离出来. >> url = 'http://www.something.com:1234/…
之前在统计导出各区服玩家消费的时候需要进行升序降序混搭的多条件排序. 需求是这样的.区服从小到大排,如果区服相同,则按消费从大到小排. 实现方法是利用python的sort算法是稳定排序,对数据进行多次排序,先排次要条件,后排主要条件. 还有一种更简洁的一行流的方法,不过只有当待排数据是数值的时候才有效.此方法利用相反数的性质,在前面加个负号. 下面上代码. #假设数据如下. data = ''' 区服,玩家id,累积消费 3,a,2380 1,b,11900 4,e,3250 1,k,100…
python拥有这种单独起一个服务器监听端口的能力,用标准库的wsgiref就行. from wsgiref.simple_server import make_server def simple_app(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ['He…
time模块中方法众多,不过在了解本质和联系之后,就会发现其实很简单. 在python中可以用3种方式来表达时间.看似很乱,其实就只是这3种变来变去来回转换而已. 1.时间戳 2.时间tuple,由9个元素组成. 3.格式化的时间串 可以用time().localtime().ctime()分别产生这三种类型的当前时间.如下图. 其中localtime().ctime()都是接收时间戳为参数,不传的话默认是当前时间戳. ctime的格式默认是"%a %b %d %H:%M:%S %Y"…
API的设计是一个艺术活.往往需要其简单.易懂.整洁.不累赘. 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的. 也就是说我们只需要暴露这个方法就行,不用关心这个方法是怎么实现的,不用关心其它辅助方法的存在. 在python中,有几种策略来保持命名空间的整洁. 1.变量命名用下划线_开头 下划线_开头的变量在其它模块from xxx import *的时候不被import. 如果你看decimal的源码,就会发现多次把import 的模块弄成下划线_开头的别名. h…