python基础之编码发展史

print() 换行

变量:储存信息的,日后被调用,修改操作
常量:固定不变的量,字母大写
变量命名规则
1.字母数字下划线组成
2.不能以数字开头,不能含有特殊字符和空格
3.不能以保留字符命名
4.不能以汉字命名
5.定义的变量名应该有意义
6.驼峰式命名,下划线分割单词命名
7。变量名区分大小写。。

字符编码
为何需要编码?

我们知道,所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态。当我们需要把字符’A’存入计算机时,应该对应哪种状态呢,存储时,我们可以将字符’A’用01000010(这个随便编的)二进制字符串表示,存入计算机;读取时,再将01000010还原成字符’A’。那么问题来了,存储时,字符’A’应该对应哪一串二进制数呢,是01000010?或者是10000000 11110101?说白了,就是需要一个规则。这个规则可以将字符映射到唯一一种状态(二进制字符串),这就是编码。而最早出现的编码规则就是ASCII编码,在ASCII编码规则中,字符’A’既不对应01000010,也不对应1000 0000 11110101,而是对应01000001(不要问为什么,这是规则)。

ASCII

这套编码规则是由美国定制,一共规定了128个字符的编码,比如空格"SPACE"是32(十进制)(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括 32个不能打印出来的控制符号),只占用了一个字节(8 bit)的后面7位,最前面的1位统一规定为0。总共才有128个字符编码,一个字节都没有用完,这好像似乎有点太少了。于是乎,就开始压榨最高位,对其为1时也进行编码,利用最高位进行编码的方式就称为非ASCII编码,如ISO-8859-1编码。

GB2312

GB2312其对所收录字符进行了"分区"处理,共94个区,区从1(十进制)开始,一直到94(十进制),每区含有94个位,位从1(十进制)开始,一直到94(十进制),共8836(94 * 94)个码位,这种表示方式也称为区位码,GB2312是双字节编码,其中高字节表示区,低字节表示位。各区具体说明如下:

01-09区收录除汉字外的682个字符,有164个空位(9 * 94 - 682)。
10-15区为空白区,没有使用。
16-55区收录3755个一级汉字(简体),按拼音排序。
56-87区收录3008个二级汉字(简体),按部首/笔画排序。
88-94区为空白区,没有使用。

Unicode

有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由多语言软件制造商组成的协会组织的 Unicode 项目. 在1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展。

Unicode是指一张表,里面包含了可能出现的所有字符,每个字符对应一个数字,这个数字称为码点(Code Point),如字符’H’的码点为72(十进制),字符’李’的码点为26446(十进制)。Unicode表包含了1114112个码点,即从000000(十六进制) - 10FFFF(十六进制)。地球上所有字符都可以在Unicode表中找到对应的唯一码点。点击这里,查询字符对应的码点。Unicode将码空间划分为17个平面,从00 - 10(十六进制,最高两位),即从0 - 16(十进制),每个平面有65536个码点(2^16),其中最重要的是第一个Unicode平面(码位从0000 - FFFF),包含了最常用的字符,该平面被称为基本多语言平面(Basic Multilingual Plane),缩写为BMP,其他平面称为辅助平面(Supplementary Planes),在基本多文种平面內, 从D800到DFFF之间的码位区段是永久保留不映射到字符的, 因此UTF-16编码巧妙的利用了这保留下来的码位来对辅助平面内的字符进行编码,这点后面进行讲解。Unicode只是一个符号集,只规定的字符所对应的码点,并没有指定如何存储,如何进行存储出现了不同的编码方案,关于Unicode编码方案主要有两条主线:UCS和UTF。UTF主线由Unicode Consortium进行维护管理,UCS主线由ISO/IEC进行维护管理。

if语句
语法
假如条件成立
执行该命令

否则
则执行该命令

if语句的语法要有缩进,缩进的作用,用来区分不同的代码

注释
单行注释符号 #
多行注释符号‘’‘ 中间是要注释的代码’‘’
注释的作用:方便阅读,注释主要写代码的作用

input () 获取用户输入

字符串的拼接

>>>print(“abc”  "qwe" )
abc  qwe
>>>print("abc"+"qwe")
abcqwe

数学运算

>>> 1+23
>>> 3-21
>>> 2*36
>>> 6/23.0
>>> 2**9   平方
512
>>> 5//2   整除
2
>>> 9%2    取余
1

文件的扩展名:主要用于区分文件类型

字符串
input接收的所有都是字符串

>>> a = input("Enter: ")
Enter: 8
>>> a
'8'
>>> int(a)  字符转换成数字
8
>>> b =12
>>> str(b)   数字转换成字符
'12'
>>>
数字类型的强制转换

and 且,并且
只有两个条件全部为真的时候,结果才为真

or或,或者
只要有一个条件为真,则结果为真
not不

变量
if else
注释 # ‘’’ msg ‘’’
3个引号 打印多行

msg ='''
Hello word1
Hello word2
Hello word3
Hello word4
'''
	
print(msg)
', "" 双单引号的意义是一样的

缩进

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rio520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值