Python基础之零碎知识——运算符、断言语句

Python基础之零碎知识——运算符、断言语句

该部分作为python里的一些零碎的知识,但是又极为重要。掌握这些知识点,我相信大家的python水平定能提升一个台阶。

一、运算符

1、运算符详解

运算符主要分为五大类:赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符

1)赋值运算符

python中的赋值运算符和别的编程语言一样,都是“=”

#input
a = '时间都去哪了'
b = '鬼知道'
c = '我好像知道哎'
print('小明说:"{:<10s}" "{:>10s}" "{:^10s}"'.format(a,b,c))

#output
小明说:"时间都去哪了    " "       鬼知道" "  我好像知道哎  "
2)算术运算符

算术运算符,主要是用于数字类型,字符串类型的数据无法使用算术运算符。(如果你真想用,用用 ‘+’ 就好了hhhhhhh),

当算术运算符和赋值同时出现时,先做运算再进行赋值。
a. +=、+

加号运算符,它的出现一般’='都会伴随出现。

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_01 +add_02
sum_02 += add_01

print(sum_01)
print(sum_02)

#output
15
6
b. -=、-

减号运算符,它的出现一般’='都会伴随出现。

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_01 -add_02
sum_02 -= add_01

print(sum_01)
print(sum_02)

#output
-5
-4
c. /=、/

除号运算符,它的出现一般’='都会伴随出现。

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_02/add_01
sum_02 /= add_01

print(sum_01)
print(sum_02)

#output
2.0
0.2
d. *=、 *

除号运算符,它的出现一般’='都会伴随出现。

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_02*add_01
sum_02 *= add_01

print(sum_01)
print(sum_02)

#output
50
5
e. //

求商运算符

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_02//add_01
sum_02 //= add_01

print(sum_01)
print(sum_02)

#output
2
0
f. %

取余运算符

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_02%add_01
sum_02 %= add_01

print(sum_01)
print(sum_02)

#output
0
1
g. **

平方运算符

#input
sum_02 = 1
add_01 = 5
add_02 = 10
sum_01 = add_02**add_01
sum_02 **= add_01

print(sum_01)
print(sum_02)

#output
100000
1
3)关系运算符

python中关系运算符的返回值为Boolean,值有且只有两种True、False。因此,关系运算符常用于判断语句中。

格式:表达式1  关系运算符  表达式2

判定表达式1和表达式2是否满足关系运算符。若满足,返回True,否则返回False

a. ==
格式:表达式1 == 表达式2

表达式1 和 表达式2 是否相等,若相等返回True,否则返回False

b. !=、<>
格式:表达式1 != 表达式2   或者  表达式1 <> 表达式2

表达式1 和 表达式2 是否不相等,若不相等返回True,否则返回False

c. >=
格式:表达式1 >= 表达式2

表达式1 大于等于 表达式2 ???

d. <=
格式:表达式1 <= 表达式2

表达式1 小于等于 表达式2 ???

e. is
格式:表达式1 is 表达式2

表达式1 是 表达式2 ???

f. is not
格式:表达式1 is not 表达式2

表达式1不是表达式2 ???

g.实例代码:

我们可以使用下述代码,通过更换if后面的参数和关系运算符来学习各个关系运算符的作用。

# ==  !=  >=  <=  <>  is  is not

a = range(0)
b = 1
c = '时间'
d = 1.1
e = bool(1)
f = [1,2]
g = (1,2)


if f == g:
	print('我想你了!')
else:
	print('我不想你!')
4)逻辑运算符

python中逻辑运算符有:与(and)、或(or)、非(not)

逻辑运算符的返回值也是Boolean.
5)位运算符

Python中位运算符主要有:&(按位与) 、|(按位或) 、 ^(异或)、 <<(按位左移)、 >>(按位右移)、~(取反)

我们再使用位运算符时,基本思路就是:将十进制或者十六进制的数转换为二进制,然后进行位运算
#按位与 :  & ----------(同为1,才是1)
5&3 = 1 ------> 101  011 001 相同位仅为个位1 ,故结果为 1
#按位或 :| ----------(一个为1,就为1)
5|3 = 7  ---------- ------> 101  011 出现1的位是 1 1 1,故结果为 111
#按位异或 :^ ----------(相同为0,不同为1)
5^3 = 6  ---------- ------> 101  011 对位相加是 1 1 0,故结果为 110
#按位反转 :~ (将二进制数+1之后乘以-1)
~5 = -6  ---------- ------> ~x = -(x+1)-(101 + 1) = -110
~7 = -0111+1= -1000 = -8
#按位左移 :<< (向左移动n位然后空位补0)
5<<2 = 20 ---------- ------> 101 向左移动2位得到 10100 ,即右面多出2位用0#按位右移 :>> (向右移动n位然后空位补0)
5>>2 = 1 ---------- ------> 101 向右移动2位得到 001 ,即左边用014 二进制:1110 001 110

上述示例,取自gf520it 这位大佬

2、三目运算符
格式: 结果  if 表达式 else 结果

判断表达式是Ture还是False
如果是Ture则将IF前面的内容进行运算
如果是False则将else后面的内容运算结果

#input
a = 6
b = 5

result = (a+b) if a<b else (b-a)
print(result)

#output
-1
3、运算符优先级
**						优先计算
~						   .
+  -(符号运算符)		       .
*   /  //  %               .
+ -加减                 
<<  >>
&
^
|
==  !=  >  >=  <=  <
Is  is not                 .
Not                        .
And                        .
Or						最后运算

二、断言语句

python中的断言语句是由关键字:assert组成的

assert语句格式:assert 表达式,返回数据

当表达式为False时则触发AssertionError异常

#input
try:
    a=input("请输入一个数字:")
    assert a.isdigit(),"只能输入数字"
    print("你输入的是:",a)
except Exception as error:
    print("发现错误:",error)

#output
请输入一个数字:时间
发现错误: 只能输入数字
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值