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,可以阻止转义

  今天的收获还是很丰富的,也过得非常充实,很期待后面的学习,我会更加努力,更加用心的去对待这次的培训,加油吧!!!

你可能感兴趣的:(2018-11-07)