DAY2 Python的基础-2
一. while循环
(1)while循环有称为无限循环。
(2)while 循环的具体表示:
while 条件表达式:
循环体
while循环在条件表达式为True的情况下,会循环执行循环体重的代码,所以要学会刹车。
# while循环的刹车方式:
1.改变条件表达式,保证条件表达式一定有假的情况。例如:设置标志位flag...
2.break语句跳出循环,通常与while True死循环一起用。
二. 格式化输出
格式化输出就好比是“字符串的动态替换”。
方式一:%占位符,%s代表字符串类型,%d代表数字类型。
msg = '你的名字是%s,年龄%s岁,性别:%s'%(name,age,sex)
方式二:format方法
msg = '你的名字是{},年龄{}岁,性别:{}'.format(name,age,sex)
msg = '你的名字是{name},年龄{age}岁,性别:{sex}'.format(name=name,age=age,sex=sex)
方式三:python3.6支持的新特性,f'string'
msg = f'你的名字是{name},年龄{age}岁,性别:{sex}'
三.基本运算符
#算术运算符:
+ 加
- 减
* 乘
/ 除
% 求余
** 乘方
// 地板除,取整
# 比较运算符:
> 大于
>= 大于等于
< 小于
<= 小于等于
!= 不等于
== 等于
# 逻辑运算符:
and 与
or 或
not 非
(1)第一种情况:前后条件都是比较运算符
1. and 同真才为真,or有真就为真,not取反。
2.谨记优先级: () > not > and > or
3.都是比较运算的只会返回True和False其中一个
例子:print(1 < 2 and 3>4 or 8<6 and 9>5 or 7>2)
解答: 有两个优先级,因为and优先级大于or,所以先比较and,再比较or。
(2)第二种情况:前后两边都是数值
1.先考虑优先级
2. x or y,如果 x 为 True,则返回x; and 与 or 相反, 如果x为True,返回y
3. 数值0为False,非0数值都是True
例子:print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
(3)第三种情况: 前后两边,比较运算和数值混合
1. 先考虑优先级
2. or前面x如果是数字(并且x为真)则x返回数字。前面x是比较,则x返回真假布尔值。and 相反。
例子1:print(1 > 2 or 3 and 4 < 6) #True
解答: 先考虑优先级,先运算and,3 and 4 < 6 ,等到True, 1>2 or True , 得到True。
例子2:print(2 or 3 and 4 < 6) # 2
解答:先考虑优先级,3 and 4 < 6 得到True,然后看 2 or True,or前面x如果是数字(并且x为真)则x返回数字
四.编码初始
ascii : 最初版本的编码,所有的英文字母,数字,特殊字符。
- 一个字符占8位,一个字节,但是第8位都是0,因为第8位是扩展位。
- 只有2 ** 8 = 256种可能,所以远远不能够满足当今时代的需求。
unicode: 万国码。
起初:
一个字符占16位,两个字节。
一共有2**16 = 65535中可能,但是仍然不能够满足中文汉字的需求。
改版:
一个字符占32位,4个字节。
一共有2**32 = xxx种可能,虽然是能够包含全世界的文字符号,但是一个英文本来只是一个字节,现在用4个字节来存储,造成了巨大的资源浪费。
utf-8:可变长的字符编码
一个英文字符占一个字节,一个欧洲文字占两个字节,一个中文汉字占三个字节。
gbk:
utf-8还没升级出来,unicode又占空间的间隙中,中国人自己发明了gbk国标。
gbk中只包含中文,英文(英文,数字,特殊字符)。
一个英文一个字节
一个中文两个字节