学到什么程度可以做网站绍兴微网站建设
学到什么程度可以做网站,绍兴微网站建设,平顶山网站建设价格,加强协会网站建设意义本来第一次看《流畅的python》觉得这部分没用#xff0c;就跳过去#xff0c;后面又出现#xff0c;回头看还是一知半解#xff0c;查了诸多资料#xff0c;好像有一点明白了#xff0c;立下帖子。1、memoryviewmemoryview()函数返回给定参数的内存查看对象(memory view)…本来第一次看《流畅的python》觉得这部分没用就跳过去后面又出现回头看还是一知半解查了诸多资料好像有一点明白了立下帖子。1、memoryviewmemoryview()函数返回给定参数的内存查看对象(memory view)。所谓内存查看对象是指对支持缓冲区协议的数据进行包装在不需要复制对象基础上允许Python代码访问。可以简单理解为就是对内存地址的直接访问。memoryview可以对对象进行索引或者切片不过切片的返回结果为一个子memoryview对象import array# 创建一个signed short 类型数组占2bytesnums array.array(h, list(range(-2, 3)))mem memoryview(nums)print(len(mem)) # 5print(mem[0]) # -2print(mem[1:4]) # mem相当于nums在内存中的表示形式但是属于不同的对象mem is numsFalsemem numsTrue同样memoryview对象有tolist方法可以转换为列表mem.tolist()[-2, -1, 0, 1, 2]2、memoryview.castmemoryview.cast会把同一块内存里的内容打包成一个全新的memoryview对象。mem_oct mem.cast(B)mem.nbytes mem_oct.nbytesTruemem.itemsize mem_oct.itemsizeFalse在转换以后所占字节数保持不变但是单个元素的所占字节由原来的2个变成1个(‘h’ -- ‘B’)。Type codeC TypePython TypeMinimum size in bytes‘c’charcharacter1‘b’signed charint1‘B’unsigned charint1‘u’Py_UNICODEUnicode character2 (see note)‘h’signed shortint2‘H’unsigned shortint2‘i’signed intint2‘I’unsigned intlong2‘l’signed longint4‘L’unsigned longlong4‘f’floatfloat4‘d’doublefloat8将mem_oct转换为list你会发现mem_oct居然包含10个元素mem_oct.tolist()[254, 255, 255, 255, 0, 0, 1, 0, 2, 0]所包含的元素也很奇怪这个就涉及到存储的一些知识为了将将符号位和数值域统一处理同时加法和减法也可以统一处理计算机系统中数值一律用补码来表示和存储。以-2为例初始设置其数据类型为占用两个字节的’long’其原码是1000 0000 0000 0010而在计算机存储的是1111 1111 1111 1110其低八位为254高8位为255所以知道mem_oct前两个元素从哪里来了吧。对于2来说原码为0000 0000 0000 0010补码为其本身(正数的补码与原码一致)所以转换后为20。欢迎关注我的微信公众号
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90130.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!