zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python爬虫-运算符

Python爬虫 运算符
2023-09-11 14:17:08 时间

运算符

1、算数运算符

  • 下面以a=10,b=20为例进行计算
运算符描述实例
+两个对象相加a+b输出结果30
-得到负数或是一个数减去另一个数a-b输出结果-10
*两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200
/b/a输出结果2
//取整数返回商的整数部分9//2输出结果4,9.0//2.0输出结果4.0
%取余返回除法的余数b%a输出结果0
**指数a**b为10的20次方
()小括号提高运算优先级,比如:(1+2)*3
  • 注意

    混合运算时优先级顺序为:**高于* / % //高于+ -,为了避免歧义,建议用()来处理运算优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。

a = 3
b = 2
print(a + b) # 5
print(a - b) # 1
print(a * b) # 6
print(a / b) # 1.5
# 取整
print(a // b) # 1 
# 取余
print(a % b) # 1
# 指数 幂
print(a ** b) # 9
  • 扩展
    • 字符串的加法 是拼接的
      a = '123'
      b = '456'
      print(a + b) # 123456
      
    • 在python中 + 两端都是字符串才可以进行加法运算
      a = '123'
      b = 456
      print(a+str(b)) # 123456
      
    • 字符串的乘法 是将字符串重复多少次
      a = 'test'
      print(a * 3) # testtesttest
      

2、赋值运算符

运算符描述实例
=赋值运算符把=号右边的结果 赋给左边的变量,如num = 1 + 2 * 3,结果num的值为7.
  • 例子
# 单个变量赋值
>>> num = 10
>>> num
10

# 同时为多个变量赋值(使用等号连接)
>>> a = b = 4
>>> a
4
>>> b
4
>>>

# 多个变量赋值(使用逗号分隔)
>>> num1,f1,str1 = 100,3.14,"hello"
>>> num1
100
>>> f1 
3.14
>>> str1
hello

3、复合赋值运算符

运算符描述实例
+=加法赋值运算符c += a 等效于c = c + a
-=减法赋值运算符c -= a 等效于c = c - a
*=乘法赋值运算符c *= a 等效于c = c * a
/=除法赋值运算符c /= a 等效于c = c / a
//=取整赋值运算符c //= a 等效于c = c // a
%=取模赋值运算符c %= a 等效于c = c % a
**=幂赋值运算符c **= a 等效于c = c ** a
  • 例子
>>> a = 100
>>> a += 1 # 相当于执行了 a = a + 1
>>> a
101

>>> a = 100
>>> a -= 1 # 相当于执行了 a = a - 1
>>> a
99

>>> a = 100
>>> a *= 1 # 相当于 a = a * 1
>>> a
100

>>> a = 100
>>> a /= 1 # 相当于 a = a / 1
>>> a
100

>>> a = 11
>>> a //= 2 # 相当于 a = a // 2 (整除)
>>> a
5

>>> a = 11
>>> a %= 2 # 相当于 a = a % 2 (取余,取模,模余)
>>> a
1

>>> a = 11
>>> a **= 2 # 相当于 a = a ** 2 (幂)
>>> a
121
  • 总结

    += -= *= /= //= %= **=
    += 最常用

4、比较运算符

  • 以下假设变量a为10,变量b为20:
运算符描述实例
==等于:比较对象是否相等(a==b)返回 False
!=不等于:比较两个对象是否不相等(a != b) 返回True
>大于:返回x是否大于y(a>b)返回 False
>=大于等于:返回x是否大于等于y(a>=b)返回 False
<小于:返回x是否小于y(a<b) 返回True
<=小于等于:返回x是否小于等于y(a<=b) 返回True
  • 代码实例
# 比较运算符返回的都是boolean类型的数据

# == 恒等  判断 == 两边的变量是否是一致
a = 10
b = 10
print(a == b) #  True

# != 不等 判断 != 两边的变量是否不一致
a = 10
b = 10
print(a != b) # False
# 扩展: <>这个不等是python2 版本使用的 python3 被遗弃了 不支持了

# >
print(10 > 20)
print(10 > 5)

# >= 大于等于
print(10 >= 10) # True
print(10 >= 5) # True
print(10 >= 20) # False

# < 小于
print(10 < 20) #True

# <= 小于等于
print(10 <= 10) # True
print(20 <= 10) # False

5、逻辑运算符

运算符逻辑表达式描述实例
andx and y只要有一个运算数是False,结果就是False;
只有所有的运算数都为True时,结果才是True;
做取值运算时,取第一个为False的值;如果所有的值都为False,则取最后一个值
True and True and False 结果为False;
True and True and True 结果为True
orx or y只要有一个运算数是True,结果就是True;
只有所有的运算数都为False时,结果才是False;
做取值运算时,取第一个为True的值,如果值都为False,取最后一个值
False or False or True 结果为True;
False or False or False 结果为False;
notnot x布尔 “非” 如果x为True 则返回False;如果x为False,则返回True。not True >False;
not False >True
  • 代码实例
# 逻辑运算符 and(与) or(或) not (非)

# and 与
# and 两边的数据 必须全部都是True的时候 才会返回True 只要一端返回的是False  那么就返回False
# and 两边都是False的时候 返回的是False
print(10 > 20 and 10 > 11)
# and 一边是False,一边是True的时候 返回的是False
print(10 > 3 and 10 > 11)
# and 两边返回的都是True则返回的是True
print(10 > 3 and 10 > 4)

# or 或者
# or 的两端都是False 则返回的是False
print(10 > 20 and 10 > 11)
# or 的两端 前面的一端为True 后面的一端为False 则返回的是True
print(10 > 3 and 10 > 11)
# or 的两端 前面的一端为False 后面的一端为True 则返回的是True
print(10 > 20 and 10 > 1)
# or 的两端都是True 则返回的是True
print(10 > 2 and 10 > 1)

# not 非 取反
print(not True) # False
print(not False) # True
print(not (10 > 30)) # True
  • 逻辑运算符的性能优化
    • 实例代码

      # and 的性能优化
      a = 36
      a > 10 and print("hello word") #  输出 hello word
      # and的性能优化 当and 前面的结果是False的情况下 那么后面的代码就不再执行了
      a < 10 and print("hello word") # 不输出
      
      # or 的性能优化
      # or 只要一方为True 那么结果就是True
      a = 38 
      a > 39 or print('hello word') # 输出 hello word
      # 前面为True了 后面就不做判断了
      a > 37 or print('hello word') # 不会执行hello word
      

输入输出

1、输出

  • 普通输出
print("一个代码狗")
  • 格式化输出
# scrapy框架的时候 excel文件 mysql redis
age = 18
name= "test"

# %s代表的是 字符串 %d代表的是数值
print("我的名字是%s,我的年龄是%d" % (name,age)) # 我的名字是test,我的年龄是18

2、输入

  • 代码实例
password = input("请输入您的密码")
print("我的密码是%s" % password)