Python编程_Lesson003_字符串
来源:互联网 发布:linux shell 打印变量 编辑:程序博客网 时间:2024/05/17 23:34
编码格式
计算机是由美国人发明的,所以一开始只能显示英文字符串,是ASCII格式编码。后来由于全球各国都在使用计算机,又新出了Unicode编码格式。但是Unicode非常庞大,在本地运行还好,但是对于网络传输简直是太浪费空间了,所以又出现了utf(包括utf-8、utf-16、utf-32)编码格式。
现在一般是使用utf-8编码格式进行网络传输,然后到本机后再解析成Unicode编码,这样就完美的解决了编码带来的问题。
在Python中我们可以:
使用ord函数来获取一个字符的Unicode值;
使用chr函数来获一个Unicode值对应的字符;
在Python3.0以上版本中,会默认以Unicode编码,但是有的时候我们需要使用其他的编码格式,这有该如何做呢?请看下面的例子(注意不能是汉字,因为ASCII存放不下一个汉字)
我们看到前面有一个b,代表是byte的意思,里面的每一个字符只占一个字节。
我们在进行ASCII和Unicode编码间进行转换的时候,会出现下面的问题
这是因为一个byte存放不下一个汉字。
decode和encode之间的转换
虽然以上我们都称为字符串,但是存储的意义不一样,带b的字符串和不带b的字符串其实是两个不同的字符串。带b的字符串我们一般认为是bytes的字符串,它是以字节为单位,强调的是一个一个的字节;而不带b的字符串就是一个Unicode的字符串。
由于Python现在越来越接近底层的开发,所以就加上了b开头的字符串。
通过上面的例子可以更好的说明这两者的关系。
len函数用来统计字符串中字符的个数
下面的现象说奇怪也不奇怪,因为len函数可以根据存储类型来计算字符的格式。
bool类型
用于判断
比如下面的任务:
完成一个登陆系统,超过三次登陆失败,程序退出
count = 0;while (count < 3) : name = input("Please Input UserName:") pwd = input("Please Input PassWord:") if (name == "root") and (pwd == "root"): print("Login Success!") break else : if (count < 2) : print("Login Failed! And You Have ",2-count ,"times, Please Reload!") else : print("Login Failed! And You Have No Chance To Reload!") count = count+1
- Python编程_Lesson003_字符串
- python编程之字符串
- python 字符串编程技巧
- Python 基础编程 -- 字符串 (三)
- Python基础编程(三)使用字符串
- python核心编程笔记(4)-字符串
- python编程语言的字符串学习
- python编程_时间日期字符串转换
- Python 编程学习 chapter 1 编程基础与字符串
- Python 核心编程笔记 第六章 序列(字符串部分)
- python核心编程-正则表达式之-匹配多个字符串
- Python编程-字符串的编码转换、存储及乱码问题
- Python编程入门-第六章 字符串 -学习笔记
- 看代码学编程之python字符串格式化
- python编程之判断字符串n次重复
- 网易2017秋招编程题:暗黑的字符串 [python]
- python编程求字符串s1和s2共同元素
- Python网络编程 5.1 字符串、字节与其传输
- 动态规划入门 合并石子 COGS1660 石子合并
- 区间DP code[vs]1258 关路灯
- 动态规划背包问题 洛谷P1064 金明的预算方案
- 树形DP 洛谷P1272 道路重建
- 动态规划入门 洛谷P2409 Y的积木
- Python编程_Lesson003_字符串
- 贪心 NOIP2013 花匠
- 单调队列 BZOJ 2096 [Poi2010]Pilots
- KMP POJ 2752Seek the Name, Seek the Fame
- 动态规划入门 BZOJ 1270 雷涛的小猫
- KMP UVA1328 Period
- 树形DP 洛谷P2014 选课
- 倍增LCA NOIP2013 货车运输
- 快速幂 NOIP2013 转圈游戏