格式化输出,while循环,运算符和编码
格式化输出
格式化输出的用途
制作一个公共模板
1. 让一个字符串的某些信息变成动态可替换的.
2. 当你遇到需要:字符串中某些位置变成动态可以传入的,首先要考虑格式化输出
3. 占位符 %(%s=str%替换字符串, %d和%i替换数字)
例:
name = input("请输出你的姓名")
age = input("请输出你的年龄")
job = input("请输出你的工作")
hobby = input("请输出你的爱好")
msg = '''
----------------%s----------------
Name : %s
age : %s
job : %s
hobby : %s
'''%(name,name,age,job,hobby)
while循环
基本结构
while 条件:
循环语句
简单的循环
1. 先判断条件是否是True
2. 如果是True进入循环体
3. 执行到循环体的底部
4. 继续判断条件,条件成立:进入循环体
循环如何终止
1. 改变条件.(降一个变量放于条件处,叫标识位.)
2. break(循环中有break直接退出循环不进行后面的循环语句)
3. continue(跳出本次循环,判断条件然后继续进行循环)
4. 系统命令(ctrl+c)
5. while else while循环如果被break则不执行else
循环使用的地方
你需要重复之前的动作.
运算符
- 算术运算符(+;-)
- 比较运算符(>;==)
- 赋值运算符(=)
- 逻辑运算符(and;or;not)(**重要**)
- 在没有()的情况瞎,优先级:not>and>or,同一运算符从左至右依次运算
- 情况1:两边都是比较运算
- 情况2:两边都是整数
- x or y ,x为真,值就是x.x为假,则为y.
- 成员运算符()
in 在某某里
not in 不在某某里
编码的初始
为什么要有编码
在计算机存储文件,存储数据,以及将一些数据信息通过网络发送出去.底层都是01010101的光或者电信号
编码的密码本
第一版:
101 今
1101 晚
1 吃
11 鸡
1011101111
无法分辨断位
第二版:
0000101 今
0001101 晚
0000001 吃
0000011 鸡
0000101 0001101 0000001 0000011
方便断位,方便判断二进制与文字之间的对应关系
常用的几种编码
- 最早的密码本:ASCll码(开始7位,预留一位所以:最左一位全部为0,一共8位)
- 只包含:英文字母,数字,特殊字符.
000 0001 : a
000 0101 : b
"hello123" : 8byte (8bit(二进制位)==1byte(字节))
- gbk:只包含英文,数字,特殊字符和中文.(国标:国家标准)
- 一个英文字母:1byte
- 一个中文:2byte
- Unicode(万国码):把世界上所有的文字都记录到这个密码本.
- 一个字符(起初):2byte
- 一个字符(为了涵盖所有文字):4byte,浪费空间,浪费资源;
- Utf-8(Unicode升级):
- 英文 一个字节
- 欧洲 两个字节
- 中文 三个字节
例:
"中国12he":
- gbk编译:8byte
- UTF-8:10byte
单位换算
8bit = 1byte
1024byte = 1KB
1024KB= 1MB
1024MB= 1GB