一、学习知识点概要(review)
- 变量(various):变量的命名规则和变量的赋值运用
- 运算符:算术运算符、比较运算符、逻辑运算符、位运算符等,三元操作符,运算符的使用优先级
- 数据类型:浮点型(float)、整型(int)、布尔型(bool)及其运用,获取类型信息和类型判断,数据类型的转换
- 位运算:利用位运算符运算(有关二进制)
- print()函数
- 注释
二、学习内容(record)
自己觉得一些比较值得记录和巩固的知识点,在这里对每一个知识点按自己的理解进行比较详细的介绍,方便后面进行学习巩固。
1.变量的命名:变量的命名有一定的规则,可以使用中英文来命名,可以包含下划线和数字,英文命名区分大小写,但我们在命名变量的同时最好与目标有关联。
例如说要制作一个密码锁程序,定义的变量可以命名为password;又如制作PK小游戏时,创建玩家攻击值和生命值可以这样命名:攻击值player_attack,生命值player_life。这样一来,便很容易看懂,而不是随便起个名字,这对以后写代码时是很有帮助的。甚至说我们可以用中文命名。
2.位运算:位运算主要通过位运算符来运行。常见的位运算符有按位与(&)、按位或(|)、按位异或(^)和按位取反(~)。~也称按位非
以上四个位运算符比较常见,我将以例子展现他们的运算:
#4=00000100,5=00000101,4|5=00000101=5(按位或)
#4^5=00000001=1(按位异或),4&5=00000100=4(按位与)
按位与运算,将十进制转化为二进制,对应数字同时为1才为1,否则为零。
按位或运算,将十进制转化为二进制,对应数字有一个为1就是1,否则为0。
按位异或运算,将十进制转化为二进制,对应数字相异则为1,否则为0。
按位取反运算比较简单,~x输出 -(x+1),如~5输出-6
3.三元运算符:三元操作符的条件表达式可以简化代码行数和部分代码
它的格式:[when_true] if [condition] else [when_false]
如:
a = 'Hello'
b = 'Hi'
if a == b:
a = c
else:
b = c
print(c)
#简化后
a = 'Hello'
b = 'Hi'
c=a if a==b else b
print(c)
三、学习问题与解答(analysis)
二进制运算:3>>2为什么不等于192?
四、学习思考与总结(summary)
自己的一些思考和总结,可以是知识技术层面,也可以是学习方法层面等,多思考,多总结,学习效率会更高。
1.对于第三个模块我提出的问题我又一定的见解:>>按位移运算即将00000011(3) 往右移两位,即变成11000000=192。这是错的。3>>2输出结果为0。
反过来3<<2即将00000011(3)往左移两位,即变成00001100=12,结果是正确的。
在我看来应该是补位的问题,向右移>>运算左边会补0,那么3>>2变成00000000=0才是对的
对于左移<<运算右边同样也是补0。
2.在第二模块写的三元操作符是对于代码简化是很有帮助的。
同样我们可以利用元组进行三元操作符运算
a = 'Hello'
b = 'Hi'
if a == b:
a = c
else:
b = c
print(c)
#简化后
a = 'Hello'
b = 'Hi'
c=a if a==b else b
print(c)
#带元组的三元操作符运算
a = 'Hello'
b = 'Hi'
(c=a,c=b)[a==b]
print(c)
带有元组的三元操作符使代码更加简洁
给出它的格式:(when_false, when_true)[condition]
与[when_true] if [condition] else [when_false]有异曲同工之妙!