基础内容-2
一、 while 循环
while : 满足条件的情况下为死循环
- 结构:
while 条件:
循环结果
- 实例
while True:
print("一号")
print("二号")
print("三号")
-
如何终止循环
-
改变条件
#实例 flag = True while flag: print(1) print(2) flag = False print(4) print(5)
-
break:循环中遇到break时直接退出循环
while True: print(1) print(2) break print(3) print(4) #只会输出1 2 不会输出 3 4
-
continue:跳过本次循环
a = 0 while a < 5: a += 1 if a == 3: continue print(a)
-
-
练习1:打印0~100的数字
num = 0 while num < 101: print(num) num += 1
-
练习2:打印1+2+3....+100的结果
num = 1 count = 0 while num < 101: count += num num += 1 print(count)
-
while else 结构
while 条件: 循环体 else: 结果
-
实例
count = 1 while count < 5: print(count) count += 1 else: print("结束了。。")
-
当break生效时,不会走到else
-
二、 格式化输出
% : 占位符
符号 | 说明 |
---|---|
%s | 格式化为字符串 |
%c | 格式化字符及其ASCII码 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%f | 格式化浮点数字,可指定小数点后的精度 |
%% | 输出% (格式化字符串里包含百分号,必须用%%) |
-
实例:
name = "小明" age = 14 message = "你好,我叫 %s,年龄 %d" %(name,age) print(message)
-
注意:括号里数量和顺序必须保持一致
-
在格式化输出中要表达百分号,在这个百分号前再加个百分号
name = "小明" age = 14 message = "你好,我叫 %s,年龄 %d,进度1%%" %(name,age) print(message)
三、 运算符
3.1 运算符类别
- 算数运算符
- 逻辑运算符
- 比较运算符
- 复制运算符
- 成员运算符
- 身份运算符
- 位运算符
3.2 算数运算符
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
乘 | |
/ | 除 |
% | 取模 |
** | 幂 |
// | 取整除 |
3.3 比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
3.4 赋值运算符
运算符 | 描述 |
---|---|
= | 简单的赋值运算符 |
+= | 加法赋值运算符,例: a += 2 等价于:a = a + 2 |
-= | 减法赋值运算符,例: a -= 2 等价于:a = a - 2 |
*= | 乘法赋值运算符,例: a *= 2 等价于:a = a * 2 |
/= | 除法赋值运算符,例: a /= 2 等价于:a = a / 2 |
%= | 取模赋值运算符,例: a %= 2 等价于:a = a % 2 |
**= | 幂赋值运算符,例: a **= 2 等价于:a = a ** 2 |
//= | 取整除赋值运算符,例: a //= 2 等价于:a = a // 2 |
3.5 逻辑运算符
运算符 | 描述 |
---|---|
and | 与 |
or | 或 |
not | 非 |
优先级:在没有()的情况下
not > and > or
同意优先级的情况下,从左到右依次计算
-
情况1: 两边都是比较运算
print(2 > 3 and 3 < 4 or 5 < 6)
-
情况2:两边都是整数
print(8 or 5) print(0 or 3) # x or y : x为真,值为x;x为假,值为y # x and y : x为真,值为y;x为假,值为x
in 和not in:判断元素是否在字符串、元组、列表或字典中
四、 编码
4.1 编码类别
- ASCII:美国信息交换标准编码
- 国标:中华人民共和国国家标准信息交换用汉字编码
- GBK:GB码的扩展字符编码
- Unicode:将世界上所有字符都收入的编码
- UTF-8:根据不同字符选择编码长度
4.2 ASCII
- 规定了一个字符用一个8位的二进制数表示(0000 0001)
- 最多只能表示256个字符,即 2**8=256
- 8bit = 1byte
4.3 GBK 国标码
- 规定一个字符用2个8位的二进制数表示,即16位(0000 0001 0001 0011)
- 可以表示65535个字符,即 2**16 = 65535
- 兼容了ASCII,扩充了中文字符
4.4 Unicode UTF-8
- 号称收纳了世界所有字符的编码
- 扩充到了32位,也就是4个8位的二进制数
- 可以表示2**32个字符
- 由于太过浪费,提出了UTF-8,可变长度的编码
- UTF-8是对Unicode编码的压缩和优化,将所有字符进行分类:ASCII编码的内容用1个字节、欧洲字符用2个字节。。。
4.5 单位转换
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB