【Python入门】4.Python编程基础之字符编码

本节摘要:字符编码;输出格式化


Daily Record:每天一纪念,记录下python的学习历程,入门学习笔记与心得。本学习笔记主要基于廖雪峰大大的Python教程。不积跬步,无以至千里~ .゚(ง •̀_•́)ง


文章目录

  • 字符编码
  • 输出格式化

字符编码

计算机以二进制储存和处理各类数据,美国人发明了计算机,因而他把127个字符编码到计算机中,包括英文字母、数字和一些符号,每个字符有对应的编码,这个编码表就是ASCII编码。

然而时间上的语言多种多样,其他语言只用一个字节处理显然是不够的,因而各个国家制定了各自的编码,中国制定了GB2312编码,用来把中文编进去,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里。由于各国的标准不同,编码中必然会出现冲突,多语言混合的文本中可能就会出现乱码。为了解决乱码的出现,Unicode应运而生,它把所有语言都统一到一套编码里,避免出现乱码。相比ASCII编码的一个字节,Unicode通常是用两个字节表示一个字符,极其偏僻的可能会用到4个字节。

编码 区别
ASCII编码 1个字节
Unicode编码 2个字节

为了节约存储空间,而后又发展出了一种可自动调整字节数的UTF-8编码。以下是三种编码的比较。

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

计算机系统通用的字符编码工作方式:

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

Python的字符串

Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:

>>> ord('C')                               #ord()函数获取字母的整数表示
67                                      
>>> chr(67)                              #chr()函数把整数转化成对应字母
C                                         
>>> b'ABC'                                  #用b''或""表示bytes类型的数据
>>> b'ABC'.decode('ascii')                  #用.decode()可以把bytes转化为str   
ABC                                        
>>> 'ABC'.encode('ascii')                   #用.encode()可以把str转化为bytes   
b'ABC'                                    
>>> len('中文')                              #读取字符长度  
2                                          
>>> len('中文'.encode('utf-8'))              #读取字节长度  
6                                          


输出格式化

日常生活中常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,用实现,举例如下:

>>> 'hello, %s' % ‘world’
‘hello, world'
>>> 'Hi, %s, you have $%d.' % ('Lareina', 100000)
'Hi, Lareina, you have $100000.'

常见的占位符

常见的占位符 代表
%s 字符串
%d 整数
%f 浮点数
%x 十六进制整数

有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

>>> '%2d-%02d' % (3,1)
' 3-01'
>>> '$.2f' % 3.1415926
'3.14'

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

>>> 'Age: %s. Gender: %s' % (25, False)
'Age: 25. Gender: False'

对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:

>>> u'Hi, %s' % u'Lareina'
>'Hi, Lareina'

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:

>>> 'growth rate: %d %%' % 8
'growth rate: 8 %'
>>>print('%5d' % 333)                         #向左保留5位占位符
  333
>>>print('%05d' % 333)                        #向左保留5位占位符并补0
00333
>>>print('%.2f' % 3.1415926)                  #四舍五入保留两位小数
3.14

Python中的除法

>>>print(5/3)                                 #一般除法
1.6666666666666667
>>>print(5//3)                                #地板除
1
>>>print(5%3)                                 #取余数
2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • 字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...
    兰山小亭阅读 8,453评论 0 13
  • 字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数...
    luckybabying阅读 308评论 0 0
  • 前言 首先,本次立项项目只是为了做网络爬虫,本身不需要Python完整的知识链。因此,对于基本语法,我会浮光掠影,...
    OzanShareing阅读 1,148评论 3 2
  • 贤妻良母,良师益友,金玉良言,用心良苦,对你千千万万遍,不厌其烦,这个女人真唠叨,有的时候打着电话,心烦意乱了...
    桐花的童话阅读 303评论 0 1
  • 我们这一百多年来,犯的最大的一个错误,就是把中华优秀的文化传统都打倒了。学者们也说,我们的优秀文化传统被四个字给打...
    秦东魁阅读 309评论 0 0