返回顶部
首页 > 资讯 > 后端开发 > Python >Python_实用入门篇_05
  • 294
分享到

Python_实用入门篇_05

入门篇 2023-01-30 22:01:01 294人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

编码及运算符  1.编码    1.编码的概念     在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合

编码及运算符 


1.编码 

  1.编码的概念

    在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合来表示。

  2.编码的种类(常用种类)

    ①ASCCI

      1.ASCCI的产生

          在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

 

          2.ASCCI的表述

          ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。

字母A用ASCII编码是十进制的65,二进制的01000001;

        ②unicode

      1.Unicode的产生

          unicode码扩展自ASCII 字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽。如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

          2.Unicode的表述

            Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。在Unicode中:汉字“字”对应的数字是23383(十进制),十六进制表示为5B57。在Unicode中,我们有很多方式将数字23383表示成程序中的数据

汉字“中”已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

     ③UTF-8

        1.UTF-8的产生

          事实证明,对可以用ASCII表示的字符使用Unicode并不高效,因为Unicode比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了一些中间格式的字符集,他们被称为通用转换格式,即UTF(Unicode TransfORMation Format)。常见的UTF格式有:UTF-7, UTF-7.5, UTF-8,UTF-16, 以及 UTF-32。这里只介绍UTF-8。

        2.UTF-8的表述

          UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的编码方式如下:

Unicode编码(十六进制) UTF-8 字节流(二进制)
000000-00007F 0xxxxxxx
000080-0007FF 110xxxxx 10xxxxxx
000800-00FFFF 1110xxxx 10xxxxxx 10xxxxxx
010000-10FFFF 11110xxx10xxxxxx10xxxxxx10xxxxxx

           UTF-8的特点是对不同范围的字符使用不同长度的编码。对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同。UTF-8编码的最大长度是4个字节。从上表可以看出,4字节模板有21个x,即可以容纳21位二进制数字。Unicode的最大码位0x10FFFF也只有21位。

字符    ASCII              Unicode                                      UTF-8
A    01000001         00000000 01000001                               01000001
中       x            01001110 00101101                      11100100 10111000 10101101

注意(你看到很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码)

 

     ④GBK

      1.GBK的产生

         GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。因为目前大家使用的主要是GB编码字库,此编码标准只收录了6763个常用汉字,而GB字库以外大量汉字,只能通过方正女娲补字软件拼字或其它造字程序补字。尽管补出的汉字在字形上满足需要,但在字体风格、大小、结构方面难以协调统一,而采用手工贴图的方式补字,更不雅观。进而言之,如果用户建立信息系统,或需要查询新闻、出版内容时,靠补字是无法实现的。方正开发的GBK字库,将极大地缓解缺字现象。

        2.GBK的表述

          GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。兼容ASCCI。

2.Python中的编码转码

    1.Python的编码方式

       因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。在最新的python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

      2.python中的字符串编码

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

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

x = b'ABC'
>>> '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)

                   3.Python中的转码解码和len()方法

          encode(转码),decode(解码)。

x = b'ABC'
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

         len()函数:计算一个对象长度,如果换成byteslen()函数就计算字节数。

>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6

3.运算符

       1.运算符概念

        运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。

    2.Python中的运算符      

    •   算术运算符
    •   比较(关系)运算符
    •   赋值运算符
    •   逻辑运算符
    •   位运算符
    •   成员运算符
    •   身份运算符
    •   运算符优先级

运算符优先级 ↓   

 

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
and or not 逻辑运算符

 

 

       


 

PS(时间原因,博主没有对每一个运算符介绍,大家自行查阅,养成查找问题习惯)        

         

 

 

 

 

 

 

--结束END--

本文标题: Python_实用入门篇_05

本文链接: https://lsjlt.com/news/179326.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python_实用入门篇_05
    编码及运算符  1.编码    1.编码的概念     在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_02
    Python对象类型   包括数字、字符串、列表、字典、元组、集合 本篇将对这些基本的内置对象类型进行简介 1.对象类型:   ①对象类型的概念:     对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_01
    运行Python程序,变量,常量,注释   1.运行Python程序的几种方法(前提是已经装上了Python解释器):   ①我们可以在命令提示符(cmd)中输入"Python"命令来启动Python解释器,通过以下命令执行该脚本:py...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_00
    Python历史 1.Python的诞生   Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_04
    Python中的if和while语句 1.if流程控制      1.语法结构                                          if 条件测试为 true:                       ...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_03
    用户交互以及格式化输出  1.用户交互   ①input函数     input函数等待用户输入,然后前面的变量指向输入的内容,注意,input函数出来的数据类型全是字符串类型 x= input(“此括号里的内容会直接打印出来:”) ...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_08
    Python序列内置类型之列表类型详解  1.Python序列概念     数学上,序列是被排成一列的对象(或事件)这样每个元素不是在其他元素之前,就是在其他元素之后。这里,元素之间的顺序非常重要。序列是Python中最基本的数据结构。...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_07
    Python内置类型之数字类型以及Python之禅 1.数字类型概念     Python 数字数据类型用于存储数值,数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。   看图,数字类型是不可变的,假设你...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_12
    Python内置序列类型之集合类型详解    1.集合概念     具有某种特定性质的事物的总体,集合里的东西叫作元素。Python中,集合(set)是一个无序不重复元素的序列。   2.集合的创建     可以使用大括号 { } 或者...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_11
    Python内置类型之字典类型详解 1.字典的概念     字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型。字典是另一种可变容器模型,且可...
    99+
    2023-01-30
    入门篇
  • Python_实用入门篇_13
    目前学习的Python基础的一次总结  一.列表,元组,集合,字典,字符 1.Python中最常见的序列类型为:列表,元组,字符类型 特点: ①所有序列都支持迭代 注意:generator也是可迭代对象,generator是生成器,后面...
    99+
    2023-01-30
    入门篇
  • Python入门篇(二)
    1、Python模块 ### sys模块 #!/usr/bin/python # _*_ coding:utf-8 _*_ # Aothr: Kim import sys #导入sys模块 print (sys.path) #打印pyth...
    99+
    2023-01-31
    入门篇 Python
  • D1.Nodejs 入门篇
    分享第一篇,关于 NodeJS —— Javascript 的常用知识以及如何从 Javascript 开发者过渡到 NodeJS 开发者(不会介绍具体的框架)。在读本文前,希望你对 javascript 有一些初步的认识。 Javasc...
    99+
    2023-01-31
    入门篇 Nodejs
  • Python入门篇(一)
    python学习博客:http://www.cnblogs.com/haiyan123/p/8387770.html#lable1http://www.cnblogs.com/alex3714http://www.cnblogs.com/...
    99+
    2023-01-31
    入门篇 Python
  • python moviepy 的用法入门篇
    目录模块安装使用如下命令即可截取视频提取A视频的音频,注入到B视频中去掉视频声音获取视频信息设置视频倍速播放截取视频封面提取视频中的音频内容写在后面python 中的视频处理模块,有...
    99+
    2024-04-02
  • Android 测试入门篇
    Android构架 1. Application 应用程序层:用Java语言编写的运行在虚拟机的程序 用户直接使用的功能,其基本应用比如:电话、联系人、短信、邮件等,还有无数...
    99+
    2022-06-06
    测试 Android
  • MySQL--------入门简介篇
    1. 背景   * MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在...
    99+
    2024-04-02
  • ASP.NET Core快速入门之实战篇
    目录NO1 留言板(mysql的使用)NO2 聊天室(WebSocket的使用)NO3 找工作(AngleSharp的使用)部署多个站点一些其它的细节部署阿里云mysql的客户端获取...
    99+
    2024-04-02
  • Objective-C 入门篇(推荐)
    目录前言基本数据类型其他数据类型id类型BOOL类型nil和NilNSString(不可变字符串)NSMutableString(可变字符串)NSInteger、NSUInteger...
    99+
    2022-05-20
    ObjectiveC 入门篇 Objective-C
  • 入门MySQL——DML语句篇
    前言:  在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了。本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作。 这里说明下DDL与DML语句的分类,可能有的同学还不太清楚...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作