Python训练营Task1 Python基础入门:从变量到异常处理 学习笔记
一、学习知识点概要
1、 主要介绍Python入门知识,了解其用途和组成,Python 是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。
2、了解变量、运算符与数据类型(注释、运算符、变量和赋值 、数据类型与转换、print()函数)
3、理解位运算
4、语句(条件语句、循环语句)
5、异常处理
二、学习内容
1.1 ‘#’ 起注释作用
1.2 ''' '''
或者 """ """
表示区间注释,在三引号之间的所有内容被注释(三个单/双引号)
2.1 运算符:+(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余)、**(取幂)
>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)
2.2 逻辑运算符
操作符 | 名称 | 示例 |
---|---|---|
and | 与 | (3 > 2) and (3 < 5) |
or | 或 | (1 > 3) or (9 < 2) |
not | 非 | not (2 > 1) |
2.3变量与赋值(变量名可以包括字母、数字、下划线、但变量名不能以数字开头;变量名对大小写敏感;不能以数字开头)
2.4常见三种数据类型
2.4.1整型 int() 正整数、负整数和零的统称(没有小数点的数字);无需配合引号使用
2.4.2浮点型 float() 带小数点的数字
2.4.3布尔型 bool 变量只能取两个值,True
和 False
。当把布尔型变量用在数字运算中,用 1
和 0
代表 True
和 False
2.5 print()函数
指令:print
指令的执行对象:在print后面的括号的内容
3.1 位算符
操作符 | 名称 | 示例 |
---|---|---|
~ | 按位取反 | ~4 |
& | 按位与 | 4 & 5 |
` | ` | 按位或 |
^ | 按位异或 | 4 ^ 5 |
<< | 左移 | 4 << 2 |
>> | 右移 | 4 >> 2 |
4.1 条件语句
4.1.1 if (单向判断) : if 语句的 expr_true_suite
代码块只有当条件表达式 expression
结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句
if xxx(判断的条件): (别忘了冒号)
(别忘了缩进)
4.1.2 if...else...(双向判断):如果if后面部分的条件不满足,就执行else里的;每个条件都是互斥的
if xxx(判断的条件):
(缩进)#如果满足上述条件就执行
else:
xxxx #不满足if的条件就执行
4.1.3 if...elif...else...(多向判断)if、elif、else平级,可以存在多个elif;每个条件互斥
if xxx(判断的条件):
xxx
elif xxx(与前一个if互斥的条件):
xxx
else(如if、elif都不满足才执行):
xxx
4.2 循环语句
4.2.1 while循环
一般格式:
n=某个值
while条件:
执行语句
例子1:
1 a= 0 #定义变量
2 while a < 5 : #a < 5 为条件
3 a = a + 1
4 print(a) #3、4 为while子句
例子2:
1 password=' '
2 while password !=' 816':
3 password = input('请尝试输入密码:')
4 print('欢迎回家!')
4.2.2 while - else 循环
当while
循环正常执行完的情况下,执行else
输出,如果while
循环中执行了跳出循环的语句,比如 break
,将不执行else
代码块的内容。
如例题:
count = 0
while count < 5:
print("%d is less than 5" % count)
count = 6
break
else:
print("%d is not less than 5" % count)
# 0 is less than 5
0 is less than 5
4.2.3 for循环
1 for i in[1,2,3,4,5]: #不要忘记冒号
2 print(i*5) #不要忘记缩进
3 #print括号里的内容将会被重复
4.2.4 range() 函数
range([start,] stop[, step=1])
for i in range(2, 9): # 不包含9
print(i)
# 2
# 3
# 4
# 5
# 6
# 7
# 8
2
3
4
5
6
7
8
4.2.5 enumerate()函数 (与for循环结合使用)
用 enumerate(A)
不仅返回了 A
中的元素,还顺便给该元素一个索引值 (默认从 0 开始)。此外,用 enumerate(A, j)
还可以确定索引起始值为 j
。
enumerate(sequence, [start=0])
for i,a in enumerate(A)
do something with a
4.2.6 break 语句:用于结束循环
例如:
import random
secret = random.randint(1, 10) #[1,10]之间的随机数
while True:
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp)
if guess > secret:
print("大了,大了")
else:
if guess == secret:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
break
else:
print("小了,小了")
print("游戏结束,不玩儿啦!")
4.2.7 continue 语句:终止本轮循环,开启下一轮循环
5.异常处理
- BaseException:所有异常的 基类
- Exception:常规异常的 基类
- StandardError:所有的内建标准异常的基类
- ArithmeticError:所有数值计算异常的基类
- FloatingPointError:浮点计算异常
- OverflowError:数值运算超出最大限制
- ZeroDivisionError:除数为零
- AssertionError:断言语句(assert)失败
- AttributeError:尝试访问未知的对象属性
- EOFError:没有内建输入,到达EOF标记
- EnvironmentError:操作系统异常的基类
- IOError:输入/输出操作失败
- OSError:操作系统产生的异常(例如打开一个不存在的文件)
- WindowsError:系统调用失败
- ImportError:导入模块失败的时候
- KeyboardInterrupt:用户中断执行
- LookupError:无效数据查询的基类
- IndexError:索引超出序列的范围
- KeyError:字典中查找一个不存在的关键字
- MemoryError:内存溢出(可通过删除对象释放内存)
- NameError:尝试访问一个不存在的变量
- UnboundLocalError:访问未初始化的本地变量
- ReferenceError:弱引用试图访问已经垃圾回收了的对象
- RuntimeError:一般的运行时异常
- NotImplementedError:尚未实现的方法
- SyntaxError:语法错误导致的异常
- IndentationError:缩进错误导致的异常
- TabError:Tab和空格混用
- SystemError:一般的解释器系统异常
- TypeError:不同类型间的无效操作
- ValueError:传入无效的参数
- UnicodeError:Unicode相关的异常
- UnicodeDecodeError:Unicode解码时的异常
- UnicodeEncodeError:Unicode编码错误导致的异常
- UnicodeTranslateError:Unicode转换错误导致的异常
三、学习问题与解答
循环语句中 for循环与while循环 的用法很相似,这两者如何区分,什么时候用for 什么时候用while呢?通过百度,大概知道了 当工作量确定时,用for来完成重复性工作;当工作量不确定时,可以用while来工作;
异常处理的类型很多,直接记忆难度很大。我认为应该在报错中认识和解决,需要结合实践运用。
四、学习思考与总结
Task1 的知识让我对python有了初步的认识,也有原来的一窍不通,渐渐地学习到了一些基础语句,但是学习的内容较多,有点吃不消,感觉有点任重而道远。总的来说,学完Task1还是很有收获的,希望接下来的学习,能够更好地消化。