Python学习day002重点回顾

时间:2022-05-19 21:52:46
重点内容回顾
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, 循环结束

终止循环的方法

  1. 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
逻辑运算符的结果取决于两个操作数的类型
  1. 对于and, 若第一个操作数可以转化为False, 那么结果返回第一个操作数的值, 若第一个操作数可以转化为True, 那么结果返回第二个操作数的值
  2. 对于or, 若第一个操作数可以转化为True, 那么结果返回第一个操作数值, 若第一个操作数可以转化为False, 那么结果返回第二个操作数的值
  3. 引入短路概念可以快速做出判断
 
运算符的优先级
 
运算符
描述
**
指数 (最高优先级)
~ + -
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //
乘,除,取模和取整除
+ -
加法减法
>> <<
右移,左移运算符
&
位 'AND'
^ |
位运算符
<= < > >=
比较运算符
<> == !=
等于运算符
= %= /= //= -= += *= **
赋值运算符
is is not
身份运算符
in not in
成员运算符
not and or
逻辑运算符
 
 
003 编码
Python2.x解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII),而Python3.x对内容进行编码的默认格式为UTF-8
 
  1. ASCII: 美国标准信息交换代码是基于拉丁字母的一套计算机编码系统, 主要用于显示现代英语和其他西欧语言, 其最多只能用8位表示(1个字节), 即2**8=256, 所以ASCII码最多只能表示256个符号
  2. Unicode: 为了解决传统字符编码的局限性而产生, 为每种语言中的每个字符设定了统一并且唯一的二进制编码, 规定所有的字符和符号最少由16位表示(2个字节), 即2**16=65536, 此处说的是最少2个字节, 可能更多
  3. UTF-8: 对Unicode编码的压缩和优化, 不再使用最少使用2个字节的规则, 而是将所有的字符和符号进行分类: ASCII码中的内容使用1个字节保存, 欧洲的字符使用2个字节保存, 东亚的字符使用3个字节保存
  4. GBK: 中国制定汉字内码扩展规范, 使用一个1个字节表示英文字符, 使用2个字节表示中文字符