1.#的作用

  注释,标注的文本。

2.python支持的数字类型:

  整数型:不区分long和int,无上限。布尔型只有两个值(True和False),注意首字母大写。

  浮点数型:1.2、3.1415、-0.12、1.46e9等价于1.46*10^9。

  复数型:1+2j

3.python中的字符串:

  ▪ 使用‘ ’‘单双引号引用的字符的序列,单引号于双引号的作用是一样的。

  ▪ ’‘’和“”“单双三引号,可以跨行、可以在其中自由的使用单双引号。

  ▪ 在字符串前面加上r或者R,表示该字符串不作特殊处理。

4.转义序列:

  \\、\t(Tab)、\r(回车)、\n(换行)、\'(表示单引号本身的意义,单引号本身是字符串的界定符,前面加上反斜杠就表示了自身的意义)、\"(同单引号)

print('ab\'c')#在这里如果不加入反斜杠的话,会报语法错误
print('ab"c')#在这条print()语句中,因为有两个单引号界定了字符串,因此里面的双引号可以不使用反斜杠,当然使用也是正确的。
print(r'ab\"c\t',100,r'\n')#如果在字符串前面加上r或R的话,转义符是失效的,该条语句输出的是 ab\"c\t 100 \n

5.缩进:

  ▪ 未使用C等语言的花括号,而是采用缩进的方式表示层次关系

  ▪ 约定使用4个空格缩进

7.续行:

  ▪ 在行尾使用\

  ▪ 如果使用各种括号,认为括号内是一个整体 ,内部跨行不用\

8.标识符:

  只能用字母、下划线和数字,且不能以数字开头,不能是python的关键字,python是区分大小写的。固定值的标识符是常量,可以改变值得标识符是变量。

9.关于语言类型:

  静态编译语言:声明变量类型且不能再改变,编译时检查。

  动态编译语言:不事先声明变量类型,随时可更改该变量的类型,编译时无法判断。

  强类型语言:不同类型之间操作,必须先强制类型转换为同一类型。print('a'+1)

  弱类型语言:不同类型间可以操作,自动隐式转换。JavaScript中console.log(1+'a')

  python是动态语言、强类型语言。

print('a' + 1) #如果这样写的话,会提示报错,因为python并不认为a和1是同一种数据类型,a是字符串,而1是数字,无法相加
print('a' + str(1)) #将1声明成字符串型,这样的话该语句输出a1,无报错。

10.运算符:

  算数运算符:+  -  *  /  %  **(乘方),自然除/结果是浮点数,整除//

  

  位运算符:&  |  ~  ^(异或)  <<  >>,常用方式:乘除2的倍数,32//4相当于32>>2

  

  如图所示,32整除4是8,那么将32和8分别转换成二进制来看,其实就是100000往右移动了两位变成了1000。

  原码5 -- 0b101,1 -- 0b1,-1 -- -0b1,负数的原码是在其二进制的最高位用1表示,比如-1的二进制原码是1000 0001,第一个1表示的是负号-

  反码:正数的反码与原码相同;负数的反码符号位不变其余按位取反

  补码:正数的补码与原码相同;负数的补码符号位不变其余按位取反后+1。

    ▪ 原码是给人看的,放在计算机中都会转变成补码方便计算机识别。

  负数表示法

    ▪ 数字电路中的CPU的运算器实现了加法器,但是没有减法器,减法是转换成加法

    ▪ 负数在计算机中使用补码存储,-1的补码为1111 1111

    ▪ 5-1 => 5+(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃。0000 0101 + 1111 1111第一个二进制的最后一个1与1111 1111想加得到1 0000       0000,溢出位1舍弃得到0000 0000,然后0000 0101变成0000 0100继续与0000 0000相加得到0000 0100,换算成十进制即为4。

    ▪ ~12,正数12取反是什么?12转换成二进制是0000 1100,取反为1111 0011,而这个二进制是一个负数的补码形式,对其进行补码(补码的补码就是原码),负数的补码符     号位不变其余按位取反后+1,变成1000 1101,换成十进制就是-13。

    ▪ 取反运算遵循这样的一个规律:~n= -(n+1)

   已知一个数的补码,求原码的操作分两种情况

    ▪ 如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
    ▪ 如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。

  比较运算符:==  !=  >  <  >=  <=  不同类型之间可以等于或不等,但是不能比较大小。链式比较操作符:4>3>2,4>number>=1

  

    ▪ 这里要注意字符串的比较,字符串的比较都是逐个进行对比的,如上图所示,a的值为abc,那么abc中的首字母a与'a'想等,然后对比b,'a'中后续没有,因此abc>'a',      但是abc中的a是小于'b'的,因此无需进行后续的比较了,abc<‘b’。

  逻辑运算符:与或非--and or not

    短路运算符:与逻辑中,第一个表达式如果是false,该逻辑表达式一定是false。

          或逻辑中,第一个表达式如果是true,该逻辑表达式一定是true。

  赋值运算符:=  +=  -=  *=  /=  %=等等

  成员运算符:in  、not in

  身份运算符:is  、 not is

11.运算符的优先级:

  算数运算符>位运算符>身份运算符>成员运算符>逻辑运算符,多使用括号方便理解更加直观。

12.表达式:

  由数字、符号、括号、变量等的组合。

01-26 14:49