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

day-03 变量和运算符

作者: 哗啦噼里啪啦 | 来源:发表于2018-11-07 20:04 被阅读0次

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

    1.申明变量(定义变量)-假申明
    语法:
    变量名=值
    说明:
    变量名-要求:标识符(关键字不能用来命名)
    规范:a.遵守PEP8的命名规范(名字所有字母都小写,如果多个单词组成,单词之间用下划线隔开)
    student_name
    b.见名知义(看到名字就知道意思)
    = - 赋值符号(将=右边的值赋给左边的变量)
    值 - 可以是任何有结果的表达式 如 234 变量-10+20,调用函数表达式

    age = 18
    name = '小明'
    

    变量必须先申明(赋值)再使用
    使用变量就是使用变量中保存的值

    print(age)
    

    同时申明多个变量,并且赋一样的值

    num1=num2=num3=10
    print(num1,num2,num3)
    

    同时申明多个变量,并且赋不一样的值。(变量的个数要和值的个数保持一致)
    x, y,z = 10, 20, 30
    print(x, y, z)```

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

    num4=4
    num4=8
    print(num4)
    num4='li zheng li wo ai ni '同一个变量可以存储不同类型的值
    print(num4)
    

    2.申明变量和给变量赋值的本质
    结论:
    python中所有的变量存的都是数据在内存中的地址。不管存的什么内存地址大小一样
    用一个变量给另外一个变量赋值,实质是将变量中的地址赋给另一个变量
    使用变量的时候,是使用变量中地址对应的值
    C 中申明变量:
    类型 num=10
    int num=10

    python中申明变量:(随便什么类型都行)

    num=100
    num='afthbvcxvsdv
    
    num5=413423595639847638759285986123758274385728437528735827
    print(num5)
    

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

    name1='小明'
    name2=name1
    print(name1)
    print(id(name1),id(name2))#   id(变量)获取变量中存储的地址
    print(type(name1))
    

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

    一、数学运算符:+,-,,/,%,//,*

    +:加法, -:减法, *:乘法, /:除法, %:取余数(求余数), //:整除, **:幂运算(求多少次方)

    print(10+20)
    print(10-20)
    print(10*20)
    print(10/20)
    %-取余

    应用1:获取一个整数的最低的一位或者几位的值
    应用2:判断一个数能否被另外一个数整除 (num1 % num2)

    print(10%3)
    获取一个数的个位数
    num = 4873658583
    print(num % 10) #3
    print(num % 1000)#583

    // - 整除(求商,获取商的整数部分)
    负数整除的时候,如果商是负的小数,(小数点后的值大于0),最后的结果是整数部分减一
    print(5 // 2) #2
    print(53682349198259//563876583)
    print(3.9//3) #1.0
    num=765
    print(num//100) #取num的百位上的值

    **-幂运算

    x**y - 求x的y次方

    print(210) #2的10次方
    print(9
    0.5) #9开平方
    print(8**(1/3))#8开3次方

    二、比较运算符:> , < , ==(等于) , !=(不等于) , >= , <=

    所有比较运算符的运算结果都是布尔值

    print(100>10)
    print(3<1)

    三、逻辑运算符 : and, or, not
    逻辑运算符的运算对象都是布尔值,运算符结果也是布尔值

    and(逻辑与运算)
    值1 and 值2:判断值1和值2 是否为真。如果值1和值2都为True,结果才是True,只要有一个False结果都是False

    逻辑与运算相当于生活当中的’并且‘,当多个条件需要同时满足就用and链接在一起
    grade = 99; score = 89
    要求考试成绩大于90并且表现分大于95才能拿奖学金

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

    or (逻辑或运算)
    值1 or 值2:如果值1和值2中一个是True,结果就是True,两个都是False,结果才是Fasle
    逻辑或运算,相当于生活中的或者,当多个条件中至少有一个条件满足就使用or将多个条件连在一起

    print('是否拿奖学金',grade>90 or score>95)

    not(逻辑非运算)
    not 值:如果值是Ture,结果就是False.如果值是False,结果就是Ture
    用法:对某个条件进行否定

    age=21
    是否能够进入网吧的条件:年龄不少于十八
    print('是否能进入网吧',not age<18)
    print('是否能进入网吧',age>18)
    and or not 都是关键字

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

    赋值符号的左边必须是变量;组合的赋值运算符的左边的变量必须已经赋值
    所有的赋值运算符最终都会进行赋值操作

    = 直接将右边的结果赋给左边的变量
    num=5

    += ,-= ,= ,/= ,%= ,//= ,*=

    变量 += 值 相当于 变量 = 变量 + 值
    变量 -= 值 相当于 变量 = 变量 - 值
    变量 *= 值 相当于 变量 = 变量 * 值
    变量 /= 值 相当于 变量 = 变量 / 值

    num1=1
    num1 += 10 num1=num1 + 10 = 10
    print(num1)
    num1%=22
    print(num1)

    运算符的优先级

    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
    优先级高的先算(有括号先算括号)
    数学运算符中 ** > * / % //

    num =10+20 > 25 and True < 2

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

    位运算是针对二进制中的每一位进行的相关操作
    数字1 & 数字2 (二进制的每一位进行与运算,运算的时候如果都为1,结果就是1,否则就是0)
    11010 & 00111 = 00010
    1&1=1
    与的特点: 一位上的数如果和1与,就会保留这一位上的数,如果和0与,就会置0
    与运算的应用:快速判断一个数是否是偶数(最优解答)
    将数字和1 与,如果结果是0就说明这个数是偶数,如果结果是1,就说明这个数是奇数

    print(3&2) # 3(原码)=0011 2(原码)=0010 3 & 2 = 0011 & 0010 = 0010
    print(4&1)
    print(6&1)
    print(8&1)
    print(3&1)
    print(571&1)

    按位或运算: 数字1 | 数字2 (如果有一位是1,结果就是1,两个都是0,结果才是0)
    1|1=1
    1|0=1
    0|1=1
    0|0=0
    3|2=011|010=

    print(-3|-20)

    按位取反 ( 数字 ) 将每一位取反,1变0,0变1 。
    ~1=0
    ~0=1

    print(~2)

    按位异或
    数字1 ^ 数字2 每一位相同为0,不同为1
    判断两个数是否相同
    1^1--0
    1^0--1
    0^0--1
    112--0101100010=01001(补码)=9

    print(11^2)
    num=10
    print(num^10)

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

    右移>>n(位数)--将数字的二进制位向右移指定位数(将低位删除指定位数)
    相当于:数值1//(2**n)
    20>>
    10100>>1=1010=10
    10100>>2=101=5
    10100>>3=10=2
    10100>>4

    1.什么是字符串(str)
    字符串是python中一种常用的有序但是不可变的容器类的数据类型,可以同时存储多个字符。属于序列
    使用单引号或双引号或者双括号将任意字符括起来,就是字符串常量
    'glkjdfgkjfgkjl沙发哈4223235'

    字符:字符串中的每一个单元。注意python中只有字符概念,没有字符类型

    字符串中的内容
    普通字符:包含数字字符,字母,普通的符号:
    转义字符:通过反斜杠将一些字符转化成有特殊功能或者特殊意义的字符
    \n---换行
    \t---制表符
    '---表示一个普通单引号
    "---表示一个双引号
    \---表示一个
    注意:一个转义字符代表一个字符

    print('fdsfsfsdfsdf\tfjkddl')
    print('sdasfafa\tfsadfdf')

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

    print(r'1231231\t34234')
    print(0x13&0x17)
    print(2&3)

    相关文章

      网友评论

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

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