python笔记day2

01.变量

    变量就是在程序中用来保存数据的容器

    1.声明变量(定义变量)

    语法:

        变量名 = 值

        说明:

        变量名---要求:标识符,不能是关键字,

                规范:a.遵守PEP8命名规范(名字的所有字母都小写,

                        如果由多个单词组成,单词之间用_隔开)

                      b.见名知义(看到名字就知道变量中存的是什么数据)

        = ---- 赋值号,将等号的右边的值赋给左边的变量

        值---- 可以使任何有结果的表达式,例如:190 ,变量 ,10+20 ,调用函数表达式

        使用变量的时候,就是使用变量中保存的中值

        变量必须先声明(赋值)再使用

        同时声明多个变量并且赋一样的值(同时给多个变量赋值)。

            例子:num1 = num2 = num3 = 10

        同时声明多个变量并且赋不一样的值。(变量的个数和值得个数要保持一致)

            例子:x,y = 10,20

        给同一个变量赋值,后赋的值会覆盖先赋的值

            例子:num4 = 100

                  num4 = 200

                  print(num4) # 200

          同一个变量可以存储不同类型的值(C和JAVA中不可以)

    2.声明变量和给变量赋值的本质

        结论:python中所有的变量,存的都是数据在内存中的地址。内存地址的大小一样

            用一个变量给另外一个变量赋值,实质是将变量中的地址赋给另外一个变量

            使用变量的时候,是使用变量中地址对应的值

    3.变量的三要素:值、地址和类型

            值:变量中存的地址对应的值

            地址:变量中存储的地址

            类型:变量中存的地址对应的值得类型

                例子:  name1 = "xiaoming"

                        name2 = name1

                        print(name1)#使用变量 拿到变量对应中地址对应的值

                        print(id(name1),id(name2))# id(变量) ---获取变量中存储的地址

                        print(type(name1))

02.运算符

    python中的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符

  1.数学运算符:+,-,*,/,%,//,**

      +:加法运算

      -:减法运算

      *:乘法运算

      /:除法运算

      %:取余运算

          应用1:获取一个数最低一位或者几位的值      num%(10^n)

          应用2:判断一个数是否能够被另外一个数整除    num1%num2

      //:整除---求商获取商的整数部分

      **:幂运算

  2.比较运算符:>,<,==,!=,>=,<=

      python中所有的比较运算符的运算结果都是bool值

      num1 > num2  :  num1 是否大于num2

      num1 < num2  :  num1 是否小于num2

      num1 == num2  :  num1 是否等于num2

      num1 != num2  :  num1 是否不等于num2

  3.逻辑运算符:and ,or ,not

    逻辑运算符的运算对象是bool值,运算结果也是bool值

    a. and (逻辑与运算)

      值1  and  值2 : 值1 和 值2 都为True,结果才为True;只要有一个False,结果就是Flase。

      相当于生活中的”并且“,当需要多个条件同时满足,就是用and将多个条件连接在一起。

        例子: 要求成绩大于90并且表现分大于95,才能获得奖学金

            grade = 99  #成绩

            score = 80  #分数

            print('是否获得奖学金:',grade > 90 and score > 95)

    b. or  (逻辑或运算)

      值1  or  值2 : 值1 和 值2 中只要有一个为True,结果就为True。

      相当于生活中的”或者“,当需要多个条件中,至少有一个条件满足,就使用or将多个条件连接在一起

          例子: 要求成绩大于90或者表现分大于95,才能获得奖学金

            grade = 99  #成绩

            score = 80  #分数

            print('是否获得奖学金:'g,rade > 90 or score > 95)

  c.not  (逻辑非运算)

        not 值 : 如果值是True,结果就是False;如果值是False,如果就是True。

            例子:  是否能进入网吧,age不小于18

                age = 21

                print('是否能够进入网吧:',not age < 18)

  4.赋值运算符:=,+=,-+,*=,/=,%=,//=,**=

        赋值符号的左边必须是变量;组合的赋值运算符的左边的变量必须已经赋值。

        所有的赋值运算符最终都会进行赋值的操作

    a.  =  -----  直接将右边的结果赋给左边的变量

    b. +=,-+,*=,/=,%=,//=,**=

      变量 += 值  -----    变量 = 变量 + 值

      变量  -= 值  -----    变量 = 变量 - 值

      变量  *= 值  -----    变量 = 变量 * 值

5.运算符的优先级

  数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

  优先级高的先算,如果有括号先算括号里面的

6. 位运算: &按位与 , | (按位或),^ (按位异或) ,~(按位取反),<<(左移),>>(右移)

      为运算时针对二进制每一位进行的相关操作

    a.  数字1 & 数字2  ----  二进制的每一位进行与运算,运算的时候如果都为1,结果就是1,否则就是0

        例子: 11010 & 00111  ----  00010

      与的特点  :  一位上的数如果和1与,就会保留这一位上的数。如果和0与,就会将这一位 置0

      与运算的应用 :判断一个数的奇偶性(最优解答)

                              将数字和1与,如果结果为0,这个数是偶数,反之为奇数。

    b.  数字1 | 数字2  ----二进制的每一位进行或运算,如果有一位是1结果就是1。两个都为0,结果才是0

        例子: 11010 | 00111  ----  11111

          -3 | -20    =  -3

      ( 100011    |  110100  (原)=  111101 |  101100(补)  =  111101(补)  = 1 00011(原)  =  - 3)

    c.  数字1  ^  数字2    -------  每一位如果相同就为0,不同就为1

    d. ~ 数字    ------- 按位取反  (0变成1,1变成0)

    e. 左移

      数字1 << n  ------    左移指定的位数就是在二进制后面加指定的0

      相当于 :数字 1 *(2**n)

    f. 右移

      数字1 >> n  ------    将数字的二进制位向右移动指定的位数(将低位删除指定的位数)

      相当于 :数字1  // (2**n)

你可能感兴趣的:(python笔记day2)