二.python运算符

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=22

if [ $age -gt 23 ]
then
echo "you are old"
else
echo "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 
运算结果:
2

1 - 2
运算结果:
-1

2 * 4
运算结果:
8

2 / 4
运算结果:
0.5

2 / 2
运算结果:
1.0

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

>>> 3/4
0
>>> 5/4
1


取整除

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

7 // 3
运算结果:
2
取模
5 % 3
2
乘方
2 ** 3
8


比较运算符

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

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

1 > 5
运行结果:
False


5 > 1
运行结果:
True

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


逻辑运算符

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

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

True and True  #两边为真,则为真
运行结果:
True


True or False #有一个为真,则为真
运行结果:
True

not False #取反
运行结果:
True
1 < 3 and 2 > 5
运行结果:
False

1 < 3 or 2 > 5
运行结果:
True
短路操作

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

def cal(x,y):
        print(x+y)
        return x + y
cal(1,3)
运行结果:
 4
 4

cal(1,3) < cal(2,4) or cal(3,2) < cal (3,1)
运行结果:
4
6
True

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值