二.python运算符

来源:互联网 发布:量表数据怎么录入excel 编辑:程序博客网 时间:2024/05/21 08:46

python初识


第一个python命令

print("hello world")运行结果:hello world
print('hello world')运行结果:hello world

python中单引号与双引号是基本没有区别的,但是shell中是有区别的


python语法与shell 进行比对:


python if 语法:

age = 23 if age > 23 :     print("you are old")else :     print("you are young")运算结果:you are young

shell的if语法:

age=22if [ $age -gt 23 ]thenecho "you are old"elseecho "you are young"fi

我们发现python语法极其简洁


变量

首先所有的变量都是存储在内存中的
a = 3 ,这样我们定义了一个变量 ,a 叫变量名 ,3 叫做变量值
这个操作会在内存中开辟出一个空间,这个内存空间用来存储3 ,而a 指向这块内存空间

变量名:是一个标识符(identifier),用来指代一块内存区域。
你的机器代码中,是不会出现变量名的;变量名是给我们程序员操作内存来使用的。
想想在汇编年代,没有变量名,我们操作内存,都是用地址来直接操作的,还要控制区域大小;

a = 3 id(a)运行结果:9177952
#9177952 就是内存地址b = 3 id(b)运行结果:9177952

发现两个变量名都只是指向了同一块内存地址,举个形象的例子说3 是一间房子,而a ,b 只是房子的门牌号

变量的命名规范

  • (1).只能以字母、数字和下划线命名
  • (2).只能以字母和下划线开头,不能以数字开头
  • (3).不能使用python解释器的保留字(python解释器的保留字,例如:for in if 等)
    a = 3  #中间要有空格    1a = 5  #不能以数字开头    File "<ipython-input-51-06e0ed540183>", line 1        1a = 5  #不能以数字开头         ^    SyntaxError: invalid syntax


python运算符

  1. 算术运算符
  2. 逻辑运算符
  3. 比较运算符
  4. 其他
    • 赋值运算
    • 成员运算
    • 身份运算 (成员与身份运算符详见后面的文章)


算数运算符

基本算数运算


1 + 1 运算结果:21 - 2运算结果:-12 * 4运算结果:82 / 4运算结果:0.52 / 2运算结果:1.0

在python3 中 / 除法结果是浮点数,在python2中是取整数的
例如:

>>> 3/40>>> 5/41


取整除

如果在python3中,除法想取整数怎么办?

7 // 3运算结果:2

取模

5 % 32

乘方

2 ** 38


比较运算符

  • “==” 相等
  • “!=” 不相等
  • “>” 大于 、“<” 小于 、 “>=” 大于等于 、 “<=” 小于等于

比较运算符的返回值是 bool布尔值,bool布尔值一共就有两个值,一个叫TRue,一个叫FALSE

1 > 5运行结果:False5 > 1运行结果:True1 > 'a'运行结果:TypeError: unorderable types: int() > str()不同类型的值,不能使用比较运算符


逻辑运算符

python中逻辑运算符只有三个,与(and)、或 (or) 、非 (not)

逻辑运算符只能对bool类型或者是可以隐式转化为bool类型的值进行运算

True and True  #两边为真,则为真运行结果:TrueTrue or False #有一个为真,则为真运行结果:Truenot False #取反运行结果:True
1 < 3 and 2 > 5运行结果:False1 < 3 or 2 > 5运行结果:True

短路操作

逻辑运算总是从左至右计算,如果计算过程中,一旦能够决定表达书的最终值,则立即停止并返回

def cal(x,y):        print(x+y)        return x + ycal(1,3)运行结果: 4 4cal(1,3) < cal(2,4) or cal(3,2) < cal (3,1)运行结果:46True

从上面的例子可以看出只执行了左边函数,就能确认最终结果,所以右边没有执行