day02 python
一.循环: while循环
while expression:
while_suite
1.break 停止当前循环(如果多个循环嵌套, 只能跳出一层循环)
2.in
3.continue 停止本次循环之后的代码, 继续下次循环
4.else
count = 1
while count < 10:
print(count)
count += 1
if count == 5:
break
else:
print("this is else") # while条件不成立时执行, 但是当条件是由于外力因素(break)结束时, 不会执行else
二.格式化输出
%s 字符串占位符(可以是所有类型)
%d 数字占位符(只能是数字)
print("%s have %%80 food" % ("bajie",)) # 如果语句中有了占位符, 那么所有的%号都被认为是占位符, 需用%%转义
三.运算符
1.算数运算
+ - * / % // **
2.比较运算
== !=(<>这个sql里有用到) > < >= <=
3.逻辑运算
not 非:取反
and 与:左右两边都真,结果为真
or 或:其中一个为真,结果为真
print(2>1 and 3<4 or 4>5 and 2<1) #True #先算判断用真假替换掉,然后 not and or 同时存在, 先算括号, 最后算的顺序是not and or(优先级)
print(1 or 2) #1 # x or y, 如果x==0, 那么结果就是y, 否则结果是x (# or 不要0, 要第一个) :or取真,都真取第一个
print(2 or 4) #2
print(0 or 2) #2
print(0 or 3) #3
print(1 and 2) #2 # x and y, 和 or 相反 (# and 要0, 要第二个) :or取假,都真取第二个
print(2 and 4) #4
print(0 and 2) #0
print(0 and 3) #0
print(2 > 5 and 3) #False # bool和数字混合, false相当于 0
4.赋值运算
= += -= *= /= %= //= **=
5.成员运算
6.身份运算
7.位运算
四.编码
1.ascii码, 美国人创建的:包含英文字母,数字,标点等特殊字符(只能用英文)
128个码位, 2**7 在此基础上加了一位 2**8 即 1个字节, 但是最前面那位是空的是0
2.gbk(ANSI)国标码,中国北大方正做的,支持中文和英文
65536个码位, 中国汉字9万多, 只收录了常用的, 2**16即 2 个字节
3.unicode(ucs-2没考虑中文的版本,ucs-4)万国码, 全世界语言都支持
40多亿个码位, 世界一共23万, 2**32即 4 个字节, 但是浪费了空间
4.utf-8可变长度的unicode,基础上做的,更省空间
-8,-16表示每个字符最少占8位,16位
英文: 1 个字节
欧洲文字: 2 个字节
中文: 3 个字节