浅学python

1、python的发布比unicode标准要早,所以编码会有所问题。

      在2.x时,u'汉字'和‘汉字’表示的是不同的东西,第一个是unicode编码之后的每个字用2个字节(16进制)表示的2个字符串(unicode一般用2个字节表示)u'\u6c49\u5b57' 长度的形式。第二个是直接将每个汉字用utf-8编码生成对应的3个字节表示的6个字符串(utf-8一般用3个字节表示汉字)'\xe6\xb1\x89\xe5\xad\x97'  长度的形式。当然如果用encode编码成gb18030或2312之类的形式,那每个汉字就只有2个字节,即字符串 '\xba\xba\xd7\xd6' 长度是(16进制表示的)4。

      在3.x时,上面两种形式相同并且直接会以汉字形式显示。

2、list = []和tuple = ()有向序列的比较

       除了表示形式和tuple没有append、insert这些方法不同外,list更自由灵活,tuple更安全,因为list提供多种对数据的操作,而tuple是不能修改已确定的元素的值的,因为tuple对某一个元素的指向是不变的,但是tuple中某个元素被定义成list类型时,其值是可改的,因为tuple对该元素的指向是没变的(tuple在该位置存储的list的指针)。另外tuple要定义一个元素的列表时必须加逗号,如(1,)否则会被解释成一个语法块。

3、python要支持中文得申明编码,如# -*- coding: utf-8 -*-  或    #coding=utf-8放在文件头就行了。

4、dict字典即map,存储的键值对;set存储的是键值,存储类型不定。dict字典和set集合都不能存储键值变化的值,所以像list[],dict{}就不能存储,但是tuple可以存储的,因为指向不变。

      dict速度快,但浪费空间,因为映射造成不在同一页之类的等

      set元素都不重复的,可以添加,但是无意义

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值