当前位置: 首页 > news >正文

旅行网站建设方案策划书网站衣服模特怎么做

旅行网站建设方案策划书,网站衣服模特怎么做,化学试剂购买网站,注册公司流程和要求从Python发展历史谈起Python3和Python2表示字符序列的方式有所不同。Python3字符序列的两种表示为byte和str。前者的实例包含原始的8位值#xff0c;即原始的字节#xff1b;后者的实例包括Unicode字符。Python2字符序列的两种表示为str和unicode。与Python3不同的是#xf…从Python发展历史谈起Python3和Python2表示字符序列的方式有所不同。Python3字符序列的两种表示为byte和str。前者的实例包含原始的8位值即原始的字节后者的实例包括Unicode字符。Python2字符序列的两种表示为str和unicode。与Python3不同的是str实例包含原始的8位值而unicode的实例则包含Unicode字符。类型转换把Unicode字符表示为二进制数据有许多方法。做常见的编码方式是UTF-8。但是python3的str实例和Python2的unicode实例都没有和特定的二进制编码形式相关联。要想把Unicode字符转换为二进制数据就必须使用encode方法。要想把二进制数据转换成Unicode字符则必须使用decode方法。因此在编写大型复杂的Python程序的时候一般把编码和解码的相关操作放到最外层来做。程序核心部分使用Unicode字符类型也就是Python3的str以及Python2的unicode而且不要对字符编码做任何假设。这种办法既可以让程序接受多种类型的文本编码又可以保证输出的文本信息只采用一种编码形式最好是UTF-8灵活性很高。所以可以编写两个辅助函数以便对序列进行转换使得转换后的输入数据符合开发者预期。对于Python3在Python3中我们需要编写一个接收str或bytes并总是返回str的方法def to_str(bytes_or_str):if isinstance(bytes_or_str, bytes):return bytes_or_str.decode(utf-8)return bytes_or_str # instance of str 以及一个总是返回bytes的方法def to_bytes(bytes_or_str):if isinstance(bytes_or_str, str):return bytes_or_str.encode(utf-8)return bytes_or_str # instance of bytes对于Python2在Python2中我们需要编写一个接收str或unicode并总是返回unicode的方法def to_unicode(unicode_or_str):if isinstance(unicode_or_str, str):return unicode_or_str.decode(utf-8)return unicode_or_str # instance of unicode以及一个总是返回str的方法def to_str(unicode_or_str):if isinstance(unicode_or_str, unicode):return unicode_or_str.encode(utf-8)return unicode_or_str # instance of str面临的问题在Python中使用原始8位值与Unicode字符时通常有两个问题需要注意。第一个问题第一个问题通常出现在Python2中如果你用的是Python3可以暂且忽略这个问题。如果str只包含7位的ASCII字符那么unicode和str实例似乎就成了同一种类型。可以用操作符把str与unicode连接起来可以进行比较操作比如 、!、、这些行为一位着只处理7位的ASCII的情况下如果某个函数接受str那么可以给它传入unicode如果某个函数接收unicode也可以传入str。而在Python3中bytes和str实例绝对不会等价更不能进行比较即使是空字符串也不可以因为这是完全不同的两个类型。所以在传入字符序列的时候必须留意其类型。第二个问题第二个问题可能会出现在Python3上也是经常遇到的一些问题。如果通过内置的open函数获取讴歌文件句柄那么需要注意的是该句柄默认会采用UTF-8编码格式来操作文件。而在Python2中文件操作的默认格式是二进制的这可能会导致程序出现奇怪的错误。例如现在要向文件中随机写入二进制数据下面这个写法在Python2中不会有什么问题但在Python3中会有异常提示TypeError: write() argument must be str, not byteswith open(./random.bin, w) as f:f.write(os.urandom(10)) TypeError: write() argument must be str, not bytes发生上述问题的原因是Python3给open函数添加了encode参数而这个新参数的默认值是UTF-8。这样一来系统就会要求开发者必须传入包含Unicode字符的str实例而不是包含二进制数据的bytes实例。为了解决这个问题我们必须用二进制写入模式即将原来的w修改为wb这样一来就可以同时适配Python2和Python3。从文件中读取数据的时候也会有类似的问题解决方法与写入类似使用rb模式打开文件而不是r模式。总结在Python3中bytes是一种包含8位值的序列str是一种包含Unicode字符的序列。开发者不用比较操作来混合处理。在Python2中str是一种包含8位值的序列unicode是一种包含Unicode字符的序列。如果str只有7位ASCII字符那么可以进行比较运算以及连接操作。在对输入的数据操作之前使用辅助函数来保证字符序列的类型与开发者的期望一致。从文件中读取二进制数据或向其中写入二进制数据时总应该以rb或wb等二进制模式来开启文件。 参考阅读《Effective Python》
http://www.pierceye.com/news/713534/

相关文章:

  • 自己做网站网页文件在哪里公司官网定制
  • 网站建设怎么样工作室哪个网站可以免费制作h5
  • 做网站学的是代码吗机器封所有端口 不支持做网站
  • 类似于美团的网站开发两学一做网站专栏怎么设置
  • 天津seo网站管理千川推广官网
  • 技术支持 光速东莞网站建设企业信息免费查询系统
  • 网站设计主流尺寸weui wordpress模板
  • 汕头市网站建设商机互联网站建设
  • 口碑好的网站建设苏州园区做网站公司
  • 网站互联网设计图风格网站服务器异常是什么意思
  • 有哪些好的做兼职网站有哪些免费做ppt的网站
  • 学生成绩管理系统网站建设上海公共招聘网12333官网
  • 邵东做网站的公司wordpress修改文章字体颜色
  • 那个网站百度收录快天河高端网站建设
  • 网站建设 客户拜访wordpress设置新页面
  • 做百度推广送的网站网站建设中gif
  • 网站风格介绍wordpress怎么给产品编号
  • 站长聚集地深圳网络提速优化服务包
  • 西安外贸网站建设公司网站域名过期后续费多长时间生效
  • 网站制作资质2017建设厅网站
  • 网站系统开发毕业设计哈尔滨seo优化软件
  • 南通企业网站网站制作的书籍
  • 长沙网站收录怎么网站能找人做装修事
  • 鞍山网站制作谁家好2021没封的网站有人分享吗
  • 网站建设公司net2006iis虚拟网站
  • 有哪些竞价网站wordpress手机端网站模板下载
  • 浙江建设厅网站施工员报名莱芜庞允盟
  • 网站建设 销售 知乎云南网站设计外包
  • 网站建设怎么学习phpcms门户网站
  • 佛山营销型网站定制三站合一网站建设方案