三元运算

实例

进制

  • 二进制,01
  • 八进制,01234567
  • 十进制,0123456789
  • 十六进制,0123456789ABCDEF 二进制到16进制转换

      http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1

bytes类型

由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。

python3都是以2进制bytes传输

  • Python对bytes类型的数据用带b前缀的单引号或双引号表示:

      x = b'ABC'要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但    **bytes的每个字符都只占用一个字节。**
  • 以Unicode表示的str通过 encode() 方法可以编码为指定的bytes,例如:

      >>> 'ABC'.encode('ascii')b'ABC'>>> '中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'>>> '中文'.encode('ascii')Traceback (most recent call last):File "<stdin>", line 1, in <module>UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in     range(128)纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
  • 在bytes中,无法显示为ASCII字符的字节,用\x##显示。

  • 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:

      >>> b'ABC'.decode('ascii')'ABC'>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')'中文'
  • 要计算str包含多少个字符,可以用len()函数:

      >>> len('ABC')3>>> len('中文')2len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:>>> len(b'ABC')3>>> len(b'\xe4\xb8\xad\xe6\x96\x87')6>>> len('中文'.encode('utf-8'))6可见,1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
  • 在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。

  • 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

      #!/usr/bin/env python# -*- coding: utf-8 -*-第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

实例

# author = "zhuyouen"
msg = "我爱北京天安门"
print(msg)
print(msg.encode('utf-8'))
print(msg.encode('utf-8').decode('utf-8'))D:\python35\python.exe D:/PycharmProjects/zhuyouen/0402/encoding.py
我爱北京天安门
b'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'
我爱北京天安门

转载于:https://www.cnblogs.com/zhuyouen/p/6659767.html

python 入门拾遗相关推荐

  1. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  2. Python入门学习方法有哪些?

    Python编程语言是相对比较简单的一门编程语言,在IT行业,很多零基础学员都会优先选择Python语言进行学习,希望可以进入到IT这个大家庭,那么想要学好Python编程,针对Python入门学习方 ...

  3. 全了!从Python入门到入魔

    总被读者问到,我看完了python入门的书,后面就不知道要学什么了.今天就给你们整理全套入门到进阶的教程. 这套教程非常全面而且详细,从Python入门到Python进阶.Django.Flask等W ...

  4. 全了!从Python入门到精通

    总被读者问到,我看完了python入门的书,后面就不知道要学什么了.今天就给你们整理全套入门到进阶的教程. 这套教程非常全面而且详细,从Python入门到Python进阶.Django.Flask等W ...

  5. 卧槽!微软Python入门课居然汉化了!

    去年,微软上线了自己的Python入门课程.一时间,好评如潮.但是真正看完这个课程的国人非常少,因为它的翻译实在是太烂了(英文听力好的人应该看的还是很爽的).很明显,微软直接采用了机器翻译,导致视频的 ...

  6. python入门:工欲善其事,必先利其器

    未来将是一个全民编程的年代.本头条号以科普为基础,旨在向大家介绍如何快速掌握这门编程语言,从而能为自己的工作和生活带来高效和便利.本期的主题是python入门,希望通过下面三个步骤把大家带到pytho ...

  7. 15天Python入门-3-流程控制-选择结构

    15天Python入门-3-流程控制-选择结构 时代赋能 生命的意义是成为你自己 已关注 1 人赞同了该文章 设想一个场景,你需要控制机器人和顾客打招呼,假设机器人(在大多数情况下)能够判断出顾客的性 ...

  8. Python入门 Python自学路线 Python如何学习

    本文介绍Python入门 Python自学路线 Python如何学习.先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端. ...

  9. 微软推出Python入门课,登上GitHub趋势榜第一(附视频)

    来源:新智元 本文约900字,建议阅读10分钟. 本文带你看视频轻松学习python课程! [ 导读 ] 微软针对 Python 初学者,推出了一套免费的教程视频.这套课程最大的特定是轻松简洁,一上线 ...

最新文章

  1. HttpRequestException encountered解决方法
  2. 数学建模学习笔记——模糊综合评价模型(评价类,发放问卷一般不用)
  3. pythontcp服务器教程_tcp服务端无线为多个客户端服务|python基础教程|python入门|python教程...
  4. EasyGui的用法简介
  5. 【Java】Java中的异常处理:何时抛出异常,何时捕获异常?
  6. python 创建文件_Python入学首次项目,新手必看,简单易操作
  7. 2020年度中国人工智能学会优秀博士学位论文获奖名单正式出炉
  8. 数组常见异常 学习笔记
  9. 吴恩达深度学习4.2练习_Convolutional Neural Networks_Happy House Residual Networks
  10. 字节输入流-InputStream demo3
  11. sqlserver 函数手记
  12. excel打开oracle,Oracle PLSQL读取(解析)Excel文档
  13. 信息源按加工深度划分_信息检索教程
  14. Leaflet地图初始化地图(谷歌+天地图混合图层)
  15. python 小甲鱼小游戏_Python 小甲鱼教程 Easygui 篇
  16. Linux:未定义引用`CPU_ZERO‘
  17. 使用安卓(华为)手机通过USB共享网络至Mac (M1pro)
  18. DataBinding原理----单向数据绑定(3)
  19. Win11系统关闭防火墙的方法
  20. 魔兽世界 Mangos Trinity TrinityCore 数据库 结构 大纲

热门文章

  1. 队列和通知区别_Java多线程学习(五)——等待通知机制
  2. linux /proc/stat 计算线程cpu,Linux下用/proc/stat文件来计算cpu的利用率(附源码)
  3. Python将字符串转换为浮点数
  4. Android Picasso教程
  5. jsf表单验证_JSF验证示例教程–验证器标签,定制验证器
  6. android 关于 textview首行缩进 显示图片、文字问题
  7. Nuxt使用cookies踩坑之设置axios的header
  8. Somatic vs Germline Mutations
  9. unity多边形uv地图
  10. 【Longest Palindromic Substring】cpp