python中的变量和算数运算

您所在的位置:网站首页 根号123456的值 python中的变量和算数运算

python中的变量和算数运算

2023-11-12 00:32| 来源: 网络整理| 查看: 265

先说下变量的作用: 用来保存数据,为什么要保存? 后面要使用。

变量的概念:

    变量就是用来存储一些信息,供程序以后调用或者操作修改。变量为标记数据提供了一种描述性的名字,以便我们的程序可以被程序的阅读者很清晰的理解。把变量作为一个存储信息的容器会更容易理解变量。它的主要是目的是笔记和存储在内存中的数据,这个数据就可以在你的整个程序中使用。我们给变量指定值的过程叫做赋值。

变量的命名规则:

1)变量名只能是 字母、数字或下划线的任意组合2)变量名的第一个字符不能是数字3)区分大小写4)关键字不能声明为变量名   (约定俗成的一些规则:  变量名称应该有意义、不要用中文做变量名、不要使用拼音)

 

表达式和运算符

什么是表达式?

1+2*3 就是一个表达式,这里的加号和乘号叫做运算符,1、2、3叫做操作数。1+2*3 经过计算后得到的结果是7,就1+2*3 = 7。我们可以将计算结果保存在一个变量里,ret = 1-2*3 。 所以表达式就是由操作数和运算符组成的一句代码或语句,表达式可以求值,可以放在“=”的右边,用来给变量赋值。

算术运算符        +  (加号) -  (减号)  * (乘号)  /  (除号)   //(取整除)   %(取余)    **(例如x**y,意思是x的y次方)

 

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

>>> num = 2>>> num2>>> num += 1>>> num3>>> num -= 1>>> num2>>> num *= 1>>> num2>>> num2>>>>>> num /= 1>>> num2.0>>> num //= 1>>> num2.0>>> num %= 1>>> num0.0

>>> num **= 2>>> num0.0

 

比较运算符:>、 =、 >> a = 5>>> b = 3>>> a > b # 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 True>>> a < b # 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。False>>> a >> a >= b # 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。True>>> a == b # 检查,两个操作数的值是否相等,如果是则条件变为真。False>>> a != b # 检查两个操作数的值是否相等,如果值不相等,则条件变为真。True

 

逻辑运算符: not 、and、 or

逻辑运算符是用来做逻辑计算的。像我们上面用到的比较运算符,每一次比较其实就是一次条件判断,都会相应的得到一个为True或False的值。而逻辑运算符的的操作数就是一个用来做条件判断的表达式或者变量。

>>> a > b and a < b # 如果两个操作数都是True,那么结果为True,否则结果为False。False>>> a > b or a < b # 如果有两个操作数至少有一个为True, 那么条件变为True,否则为False。True>>> not a > b # 反转操作的状态,操作数为True,则结果为False,反之则为TrueFalse

 

成员运算符: not in 、in (判断某个单词里是不是有某个字母)

成员运算符用来判断一个元素是否是另一个元素的成员。 比如说我们可以判断 “hello” 中是否有 “h”, 得到的结果也是True 或者 False。 

>>> "h" in "hello" # 这里的意思是 “h” 在“Hello” 中,判断后结果为True True >>> "h" not in "hello" # 这里的意思是 “h” 不在“Hello” 中,判断后结果为False False

 

身份运算符: is、is not(讲数据类型时讲解,一般用来判断变量的数据类型)

用来判断身份。

>>> a = 123456>>> b = a>>> b is a #判断 a 和 b 是不是同一个 123456True>>> c = 123456>>> c is a #判断 c 和 a 是不是同一个 123456False>>> c is not a #判断 c 和 a 是不是不是同一个 123456True

 

结果为True的时候,我们一般称 结果为 真, 逻辑运算符会有一个真值表。

               

             and  真值表                                               or 真值表                                                   or 真值表

 

成员运算符: not in 、in (判断某个单词里是不是有某个字母)

成员运算符用来判断一个元素是否是另一个元素的成员。 比如说我们可以判断 “hello” 中是否有 “h”, 得到的结果也是True 或者 False。 

>>> "h" in "hello" # 这里的意思是 “h” 在“Hello” 中,判断后结果为True True >>> "h" not in "hello" # 这里的意思是 “h” 不在“Hello” 中,判断后结果为False False

 

身份运算符: is、is not(讲数据类型时讲解,一般用来判断变量的数据类型)

用来判断身份。

按 Ctrl+C 复制代码 按 Ctrl+C 复制代码

这里我们首先将123456赋值给a,后有将a赋值给b, 这样其实是 a和b 的值都是123456, 但是后面c的值也是123456,为什么 第一次a is b 的结果为True ,c和 a 的结果为False 呢?

原因是这样的: 我们知道程序是运行在内存里的,第一次 我们将123456赋值给a的时候,其实是在内存里开辟了一块空间,将123456放在这块空间里,为了找到这里的123456, 会有一个指向这块空间的地址,这个地址叫做内存地址,是123456存储在内存中的地址。a其实指向的就是存储123456的内存空间的地址。执行了b=a,就是让b指向的地址和a一样。之后我们执行了 c = 123456 ,这里就会再开辟一块内存空间,并将指向该空间的内存地址赋值给c ,这样的话 ,a和b 指向的是同一个123456, c 指向的是另外一个123456 。

 

 

 

位运算符: 

先了解一个概念: 

我们平时用到的数字在计算机中是以二进制表示的,  这个二进制数叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

比如:十进制中的数 +7 ,计算机字长为8位,转换成二进制就是00000111。如果是 -7 ,就是 10000111 。那么,这里的 00000111 和 10000111 就是机器数。

  原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

  [+1]原 = 0000 0001

  [-1]原 = 1000 0001

  第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:  11111111 到 01111111 即 -127 到 127

  反码的表示方法是:  正数的反码是其本身  负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

  [+1] = [00000001]原 = [00000001]反

  [-1] = [10000001]原 = [11111110]反

  补码的表示方法是:  正数的补码就是其本身  负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

  [+1] = [00000001]原 = [00000001]反 = [00000001]补

  [-1] = [10000001]原 = [11111110]反 = [11111111]补

  

我们设置a=234 (二进制为 11101010), b=44 (二进制为 101100)

& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 

        

| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

        

^ 按位异或运算符:当两对应的二进位相异时,结果为1 

        

~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 

          a = 10000000 = 128

    ~a 

     result: 01111111 = 127

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

    a = 10110011 = 179

    a >> 2

          result:  00101100  = 44

位运算符一般用于二进制操作,一般用于底层,我们很少用,知道就可以了。

优先级

运算符描述 ** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法减法 >> > range(1,10,2) # 还可以指定步长 [1, 3, 5, 7, 9] # rang()的用法: range(stop) #stop为结束位置,列出从0到stop之前的所有整数 range(start, stop[, step]) #start表示起始数字,stop表示结束数字,stop表示每两个相邻数字之间的差,也叫步长 #列出从start开始,到stop之前所有的数字 复制代码

 

 

流程控制——for循环

复制代码 # for循环结构一 for var in sequence: statements(s) # for 循环示例 for i in range(10): print(i) 复制代码

和while循环一样,在for循环中也可以使用break和continue语句,两者效果一样。

1.  使用for循环输出1-100的所有偶数/奇数2.  使用for输出0-10,如果遇到5,结束循环

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3