重点内容回顾
001 while循环
002 运算符
003 编码
001 while循环
基本结构
首先进行条件判断, 若条件正确则进入循环, 执行完一次循环后重新判断条件是否成立, 若成立则继续循环, 若不成立则退出循环并执行else下的代码块, 执行完代码块后继续逐行执行代码.
初始化部分: 一般用来定义循环变量
while 循环条件语句: 循环体 循环变量更改部分 else: 代码块
while循环执行顺序
1 初始化部分, 一般用来定义循环变量或新赋值 2 判断循环条件: 3 真: 4 执行循环体 5 是否执行了break 6 执行了: 跳过else 7 未执行: 当while正常循环完后执行else 8 回到2. 判断循环条件: # while未循环完 9 假: 执行else
Demo
1 flag = True 2 while flag: 3 print("1") 4 print("2") 5 flag = False 6 else: 7 print("循环结束") # 输出1, 2, 循环结束
终止循环的方法
-
break: 停止: 直接停止当前循环, 不论还剩下多少次循环, 不执行else语句
1 flag = True 2 while flag: 3 print("1") 4 break 5 print("2") 6 flag = False 7 else: 8 print("循环结束") # 输出1后退出循环, 不执行else后的代码块
2. continue: 跳过: 直接跳过当前循环后面的语句, 执行下一次循环
1 flag = True 2 while flag: 3 print("1") 4 print("2") 5 flag = False 6 print("3") 7 continue 8 print("4") 9 else: 10 print("循环结束") # 输出1, 2, 3, 循环结束, 不执行print("4")
循环中计数器的概念
为了解决有限次循环,引入计数器的概念
示例:打印1~100所有的数
1 counter = 1 2 3 while True: 4 print(counter) 5 counter += 1 6 if counter > 100: 7 break
002 运算符
算数运算符
运算符
|
描述
|
实例
|
+ |
加 - 两个对象相加
|
1 + 1 输出2
|
-
|
减 - 两个对象相减
|
2 - 1 输出1
|
*
|
乘 - 两个对象相乘
|
1 * 2 输出2
|
/
|
除 - 两个对象相除
|
2 / 1 输出2
|
%
|
取余, 取模 - 返回除法的余数
|
3 % 2 输出1
|
**
|
幂 - 返回x的y次方
|
2 ** 3 输出8
|
//
|
取整除 - 返回商的整数部分(向下取整)
|
3 // 2 输出1
-3 // 2 输出-2
|
位运算符
比较运算符
运算符
|
描述
|
实例
|
< |
小于 - 判断前一个对象是否小于后一个对象
|
1 < 2 输出True
|
>
|
大于 - 判断前一个对象是否大于后一个对象
|
2 > 1 输出True
|
<=
|
小于等于 - 判断前一个对象是否小于或等于后一个对象
|
1 <= 2 输出True
|
>=
|
大于等于 - 判断前一个对象是否大于等于后一个对象
|
2 >= 1 输出True
|
!=
|
不等于 - 判断前一个对象是否不等于后一个对象
|
3 != 2 输出True
|
<>
|
不等于 - 判断前一个对象是否不等于后一个对象
|
2 <> 3 输出True
|
==
|
等于 - 判断前一个对象是否等于后一个对象
|
3 == 2 输出False
|
赋值运算符
运算符
|
描述
|
实例
|
=
|
将 = 右边对象的内存地址赋与 = 左边变量使用, 变量相当于标签, 可以调用储存于特定内存地址中的对象
|
a = 2
print(a) 输出2
|
+=
|
counter += 1 相当于 counter = counter + 1 |
counter = 2
counter += 1
print(counter) 输出3
|
-=
|
counter -= 1 相当于 counter = counter - 1
|
counter = 2
counter -= 1
print(counter) 输出1
|
*=
|
counter *= 1 相当于 counter = counter * 1
|
counter = 2
counter *= 2
print(counter) 输出4
|
/+
|
counter /= 1 相当于 counter = counter / 1
|
counter = 2
counter /= 2
print(counter) 输出1
|
%=
|
counter %= 1 相当于 counter = counter % 1
|
counter = 2
counter %= 1
print(counter) 输出0
|
身份运算符
成员运算符
运算符
|
描述
|
实例
|
in
|
如果在指定的序列中找到值则返回True, 否则返回False
|
"a" in "abc" 输出True
|
not in
|
如果在指定的序列中找不到值则返回True, 否则返回False
|
"e" not in "abc" 输出True
|
逻辑运算符
运算符
|
描述
|
实例
|
and
|
表示并且, and左右两边条件同时满足则返回Ture, 否则返回False
|
True and False 输出False
|
or
|
表示或, or左右两边条件只要满足一个便返回Ture, 否则返回False
|
True or False 输出True
|
not
|
表示非, not True返回False, not False返回True
|
not True返回False, not False返回True
|
逻辑运算符的结果取决于两个操作数的类型
-
对于and, 若第一个操作数可以转化为False, 那么结果返回第一个操作数的值, 若第一个操作数可以转化为True, 那么结果返回第二个操作数的值
-
对于or, 若第一个操作数可以转化为True, 那么结果返回第一个操作数值, 若第一个操作数可以转化为False, 那么结果返回第二个操作数的值
-
引入短路概念可以快速做出判断
运算符的优先级
运算符
|
描述
|
**
|
指数 (最高优先级)
|
~ + -
|
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
|
* / % //
|
乘,除,取模和取整除
|
+ -
|
加法减法
|
>> <<
|
右移,左移运算符
|
&
|
位 'AND'
|
^ |
|
位运算符
|
<= < > >=
|
比较运算符
|
<> == !=
|
等于运算符
|
= %= /= //= -= += *= **
|
赋值运算符
|
is is not
|
身份运算符
|
in not in
|
成员运算符
|
not and or
|
逻辑运算符
|
003 编码
Python2.x解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII),而Python3.x对内容进行编码的默认格式为UTF-8
-
ASCII: 美国标准信息交换代码是基于拉丁字母的一套计算机编码系统, 主要用于显示现代英语和其他西欧语言, 其最多只能用8位表示(1个字节), 即2**8=256, 所以ASCII码最多只能表示256个符号
-
Unicode: 为了解决传统字符编码的局限性而产生, 为每种语言中的每个字符设定了统一并且唯一的二进制编码, 规定所有的字符和符号最少由16位表示(2个字节), 即2**16=65536, 此处说的是最少2个字节, 可能更多
-
UTF-8: 对Unicode编码的压缩和优化, 不再使用最少使用2个字节的规则, 而是将所有的字符和符号进行分类: ASCII码中的内容使用1个字节保存, 欧洲的字符使用2个字节保存, 东亚的字符使用3个字节保存
-
GBK: 中国制定汉字内码扩展规范, 使用一个1个字节表示英文字符, 使用2个字节表示中文字符