循环 运算符 格式化输出 编码
循环 运算符 格式化输出 编码
循环
- while 条件:
代码块(循环体)
exit 彻底退出程序
break 彻底停止当前本层循环 (立刻跳出循环. 打断的意思)
continue 停止当前本次循环。 继续执行下一次循环
else: # 当条件为假的时候会执行else
代码块
格式化输出
%s
- 占位字符串 用这个 (万能站位)
name = 'alex'
xingrong = '愚蠢'
print('这位是%s,他很%s'%(name,xingrong))
%d
- 占位数 (只认整数)
- n = 5
- m = 10
- print('这是一辆%d吨重的车,长%d米'%(n,m))
- 当字符串中出现占位符,如果要使用百分数(15%), 格式必须是(15%%)
f '' {} ''
- 大括号里的内容一般都放变量 字符串要和大括号外的引号分开
- 字符串拼接 (3.6版本以上适用) 很方便
info = f'''
-----------start-----------
name = {input("name")}
age = {input("age")}
-----------end-------------
'''
print(info)
运算符
数学运算
- +; - ; * ; / ; %(取模,取余数) ; **(幂) ; //(整除) ;
比较运算
- == 等于
- !=(<>不常用) 不等于
- < 小于 <= 小于等于
- .> 大于 >=大于等于
赋值运算
(a = 10 ; b = 20 )
-
= 赋值 b = a + b
-
+= 加法赋值 b += a 相当于 b = a + b
-
-= 减法赋值 b -= a 相当于 b = b - a
-
*= 乘法赋值 b *= a 相当于 b = b * a
-
/= 除法赋值 b /= a 相当于 b = b / a
-
%= 取模赋值 b %=a 相当于 b = b / a
-
**= 幂赋值 b xx=a 相当于 b = bxxa (b的a次幂)
-
//= 整除赋值 b //= a 相当于 b = b / a
-
等号左边的 b 为新赋值的 b , 与 起始处 b = 20 不相等
-
java里 还有 === 全等于 要求类型符号都相等
逻辑运算
-
and 并且 左右两端同时为真 , 结果才能是真
-
or 或者 左右两端有一个是真 , 结果就是真
-
not 非真即假, 非假即真
-
运算优先级: () => not => and => or (同一优先级从左往右计算)
-
运算方式
-
or
x or y
if x == 0 就 y else: x
and 和 o r 相反
-
最终运算结果可能是数字亦可能是True or False.
-
计算时:
可以认为 True == 1 False == 0 代入
成员运算
- in or not in 结果为True or False
身份运算
- is 是
- is not 不是
is 判断是不是同一个
== 判断长的是不是一样
编码
ASCII Y1
- 最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII
GBK 国标 Y1C2
- 把中国的文字进行编码. 对ASCII扩充。 16bit => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)
UNICODE 万国码 Y2C4
- 32bit 兼容各个国家的编码。万国码。 浪费空间 32bit => 4byte
UTF-8 (实质 : 万国码) Y1C3
可变长度的UNICODE。本质是UNICODE。
- 英文在UTF-8里面占用1个字节 8bit(例 0000 0213)
- 欧文占用2个字节 16bit
- 中文. 占用3个字节 24bit
单位换算
- 8bit = 1byte
- 1024Bt = 1Kb
- 1024Kb = 1Mb
- 1024Mb = 1Gb
- 1024Gb = 1Tb
- 1024Tb = 1Pb
- 1024Pb = 1Eb
- 1024Eb = 1Zb
- 1024Zb = 1Yb
in
- 判断xxx是否出现在xxxx中