美文网首页
day3-变量和运算符

day3-变量和运算符

作者: 杨海py | 来源:发表于2018-11-07 19:31 被阅读0次

    1.变量

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

    1.声明变量(定义变量) python中没有严格意义上的声明(给变量赋值就是声明变量)
    语法:
    变量名=值

    说明:
    变量名 -要求:标识符,不能是关键字
    规范:
    1.遵守PEP8的命名规范(名字的所有字母都小写,如果由多个单词组成,单词之间用下划线组成)
    2.见名知义
    student_name
    同时给多个变量赋值

    num1=num2=num3=10
    print(num1,num2,num3)
    
    x,y,z=10,20,30
    print(x,y,z)
    
    num4=100
    num4=200
    print(num4)   # 给同一个变量赋值,后赋的值会覆盖先赋的值
    num4='abc'
    print(num4)   # 同一个变量可以存储不同类型的值
    

    运行:


    image.png

    2.声明变量和给变量赋值的本质
    c语言中声明变量:
    int num=10
    num=100 #只能是给定的类型,并且由类型确定内存空间大小,超出则会溢出

    python中数据需要多大空间,就提供多大空间
    python中所有的变量存的都是数据在内存中的地址。内存地址的大小一样
    用一个变量给另一个变量赋值,实质就是将变量中的地址赋给另外一个变量

    3.变量的三要素:值、地址、类型
    值:变量中存的地址对应的值
    地址:变量中存储的地址
    类型:变量中存的地址对应的值的类型

    name1='小明'
    name2=name1
    print(name1)   #打印变量中地址对应的值
    print(id(name1),id(name2))   #id(变量)  获取变量中存储的地址(每次打印地址都在变化)
    

    运行:


    image.png

    2.运算符

    python中的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符
    二进制运算都要用他的的补码运算
    1.数学运算符:+,-,,/,%,//,*
    %:取余(求余数)
    获取一个数的最低位或者几位的值
    判断一个数是否能被另一个数整除 num1 % num2 ==0

    num=123456
    print(num % 10)
    //:整除(获取商的整数部分)  如果商是负的小数(小数部分大于0)  结果是整数部分减一
    print(5//2)
    print(3.9//3)
    
    num=289
    print(num//100)  #取num的百位上的值
    **:幂运算
    num=2**3
    num1=3**3
    print(num,num1)
    print(9**0.5,8**(1/3))  #开次方
    
    

    运行:


    image.png

    2.比较运算符:>,<,==,!=,>=,<=
    比较运算符的运算结果都是布尔值

    == 判断两个数据苏值是否相等
    is 判断地址是否相等


    image.png
    image.png

    3.逻辑运算符:and,or,not(运算对象是布尔(不是布尔也可以只是没有意义),结果也是布尔)
    and(逻辑与运算):
    条件1 and 条件2 :同时为真:True,有一个为假:False

    or(逻辑或运算):
    条件1 or 条件2 :有一个为真:True,同时为假:False

    not(逻辑非运算):
    not 条件:对结果取反 True->False False->True

    age=21
    print(not age<18)
    

    运行:


    image.png

    4.赋值运算符:=,+=,-+,=,/+,%=,//=,*=
    所有的赋值运算符的左边必须是变量;组合的赋值运算符的左边的变量必须已经赋值
    a += b ---> a=a+b
    a -= b ---> a=a-b
    ...

    num =10
    num -=4
    print(num)
    
    num **=2
    print(num)
    
    num //=5
    print(num)
    

    运行:


    image.png

    5.运算符的优先级
    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
    优先级高的先算。如果有括号,先算括号里面的
    数学运算符中:** > *,/,//,% > +,-

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

    • 位运算是针对二进制中的每一位进行的相关操作
      按位与(&):数字1 & 数字2 -> 二进制的每一位进行与运算,如果对应位都为1 则结果为1;否则为0
      11010 & 00111 = 00010
      与运算的应用:判断一个数的奇偶性(最优解答)
      将数字与1进行按位与运算,结果为1 则为奇数;结果为0,则为偶数
      按位或(|);数字1 | 数字2 -> 如果有一位是1结果就是1,否则为0
      3(补码)=0011
      2(补码)=0010
      -3(补码)=111101
      20(补码)=010100
    print(3 & 2)
    print(-3 | 20)
    

    运行:


    image.png

    按位异或(^)
    数字1 ^ 数字2 对应位如果相同就为0,否则为1

    按位取反( ~ ):~ 数字 -> 将每一位取反 (按位取反的快捷运算公式 -(x+1))
    010补码 -> 101(补码) =100(反码) =111

    print(~2)
    

    运行:


    image.png

    左移(<<)
    数字1 << 位数 相当于 数字1 * 2**n 将指定的数字的每一位向左移指定的位数,空出的位置用0填满(负数左移是他的正数左移的相反数)
    01010

    print(10 << 2)
    print(-10 << 2)
    

    运行:


    image.png

    右移(>>) 右移部分去除(负数右移是他的正数右移的相反数)
    数字1 >> n 相当于 数字1//(2**n)
    01010 >> 1 -> 0101 = 5

    print(10 >> 1)
    

    运行:


    image.png

    3.字符串

    1.什么是字符串(str)
    字符串是python中一种常用有序但是不可变的容器类的数据类型。属于序列

    字面量:使用单引号或者双引号将任意字符括起来,就是字符串常量
    字符就是指字符串中的每一个单元.python中只有字符概念没有字符类型

    2.字符串中的内容
    普通字符:包含数字,字母,普通符号,中文,韩文等

    转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符
    \n 换行
    ' 表示一个单引号

    注意:一个转义字符代表一个字符

    阻止转义:在字符串最前面加r/R,可以阻止转义

    print(r'abc\n123')
    

    运行:


    image.png

    相关文章

      网友评论

          本文标题:day3-变量和运算符

          本文链接:https://www.haomeiwen.com/subject/xsbvxqtx.html