2018-11-07
今天是来到千峰python培训班的第一天,因为一些私人原因没能赶上开课的第一天,心里着实有些遗憾。但是今天的学习仍然使我收获良多。
今天,老师给我们讲解了python中的几种运算类型:数学运算,赋值运算,比较运算和位运算。其中着重讲解了位运算的运算方式。
首先是介绍了各类运算的优先级:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符;有括号要先计算括号里面的。 数学运算符中的优先级:** > * , / , % , // > + , -
其中位运算主要是针对二进制每一位进行的相关操作
按位与运算:
数字1 & 数字2 -> 每一位上的数字相与,一位上的数如果和1与,就会保留这位数,如果和0与,就会将这位数置0
11010 & 00111 = 00010
按位取反:
~ 数字 - 将每一位取反(0变成1,1变成0)
~1 = 0
~0 = 1
~010 -> 101(补) = 100(反) = 111
按位亦或:
数字1 ^ 数字2 -> 每一位如果相同就为0,不同就为1
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
11 ^ 2
01011 ^ 00010 = 01001(补)
左移:
数字1 << n(位数) - 将指定的数字的每一位向左移指定的位数,移出多少位,后面加多少个0
相当于:数字1 * (2**n)
10 << 1
01010(补) << 1 = 010100 = 20
10 << 2
01010(补) << 2 = 0101000 = 40
-10 << 1
11010 -> 10110(补) << 1 = 101100(补) = 101011(反) = 110100 = -20
右移:
数字1 >> n位数 将数字的二进制向右移指定的位数(低位直接去除)
相当于:数字1 // (2**n)
20
010100 >> 2 = 0101 = 5
0101 >> 1 = 010 = 2
010 >> 1 = 01 = 1
最后还讲解了一部分关于字符串的知识:
字符串的内容
普通字符:包含数字字符、字母、普通符号、中文、韩文、日语等
转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符
\n- 换行
\t- 制表符
\'- 表示一个单引号(避免与语法中的引号冲突)
\"- 表示一个双引号(同上)
\\- 表示一个\(避免与其他转义字符冲突)
注意:一个转义字符只代表一个字符
阻止转义:在字符串的最前面加r/R,可以阻止转义
今天的收获还是很丰富的,也过得非常充实,很期待后面的学习,我会更加努力,更加用心的去对待这次的培训,加油吧!!!