首页 > 编程语言 >【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符

【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符

时间:2023-09-15 18:40:23浏览次数:55  
标签:10 False 07 python 运算符 print True 赋值

赋值运算符

基本赋值运算符

运算符 描述 实例
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

单个变量赋值:

num = 10
num

同时为多个变量赋值(使用等号连接):

a = b = 4
a
b

多个变量赋值(使用逗号分隔):

num1, f1, str1 = 100, 3.14, "hello"
num1
f1
str1

语法错误,值的个数超过变量的个数,赋值失败:

num1,num2=(1,2,3)

语法错误,变量的个数超过值的个数,赋值失败:

num1,num2,num3,num4=(1,2,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

示例:*=

a = 100
a *= 2  # 相当于执行 a = a * 2
a

示例:*=,运算时,符号右侧的表达式先计算出结果,再与左边变量的值运算

a = 100
a *= 1 + 2  # 相当于执行 a = a * (1+2)
a

注意:赋值运算符是从右往左运算,将等号右边的值赋值给等号左边,所以,等号的左边一定不能是常量或者表达式。

比较运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 True。这个运算符类似 !=
> 大于 - 返回x是否大于y (a > b) 返回 False
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 True
>= 大于等于 - 返回x是否大于等于y (a >= b) 返回 False
<= 小于等于 - 返回x是否小于等于y (a <= b) 返回 True

字符串使用比较运算符

数字和字符串做==运算结果是False,除了 == 以外的逻辑运算时,会直接报错。

str1 == a

如果是两个字符串进行比较,会将每个字符都转换成对应的编码,然后逐一进行对比。

str1 = 'a'
str2 = 'ABC'

# 将字符转换成为对应的编码  a对应的编码是97,A对应的编码是65
str1 > str2

逻辑运算符

运算符 逻辑表达式 描述
and x and y 只要有一个运算数是False,结果就是False;只有所有的运算数都为True时,结果才是True。做取值运算时,取第一个为False的值,如果所有的值都为True,取最后一个值。
or x or y 只要有一个运算数是True,结果就是True;只有所有的运算数都为False时,结果才是False。做取值运算时,取第一个为True的值,如果所有的值都为False,取最后一个值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

练习:

a = 34
b = 12

print((a > b) and (b > 10) and (a > 30) and (a > 50)) 
print((a > b) and (b > 10) and (a > 30) and (a < 50)) 
print(a and b and 'hello' and 0 and 123)
print(a and b and 'hello' and 123 and 'hi')

print((a > 50) or (b < 10) or a > b or (a == b))
print((a > 50) or (b < 10) or a < b or (a == b))
print(0 or None or a or '')
print(0 or "" or '' or None)

提高:

面试题:一下代码的输出结果是什么,为什么会有这样的输出。

a = 34

a > 10 and print('hello world')
a < 10 and print('hello world')

a >10 or print('你好世界')
a <10 or print('你好世界')

思考:

逻辑运算的短路问题

逻辑与运算和逻辑或运算取值时为什么是那种规则。

标签:10,False,07,python,运算符,print,True,赋值
From: https://blog.51cto.com/u_14522592/7484259

相关文章

  • Ajax 跨域报错 python后端处理
    Ajax跨域报错python后端处理个人项目,前端接口用Ajax写的,python后端部署在另一台电脑上,发出以下报错:查询很久发现是因为前端向后端发送请求时,会预先发送一个OPTION的请求,然后请求通过之后才能够发送这个POST的请求。具体原因还是没有理解,只知道这个大概,有理解的可以评论区......
  • python的字典错误:RuntimeError: dictionary changed size during iteration
    1.在字典遍历过程中修改字典元素,报错RuntimeError:dictionarychangedsizeduringiteration错误代码:foriinphone:i=int(i)forkeyindict_phone.keys():ifkey==i:print(dict_phone.pop(key,'ss')) 改正foriinphone:i......
  • Python并发编程——IO模型、阻塞IO、非阻塞IO、多路复用、异步IO、IO模型比较、select
    文章目录每日测验一IO模型介绍二阻塞IO(blockingIO)三非阻塞IO(non-blockingIO)四多路复用IO(IOmultiplexing)五异步IO(AsynchronousI/O)六IO模型比较分析七selectors模块网络并发知识点梳理网络并发知识点梳理每日测验简述死锁现象你用过哪些队列阐述进......
  • 《Python从入门到实战》-源码篇-Scrapy
    什么是Scrapy?Python写的开源爬虫框架,快速、简单的方式构建爬虫,从网站上提取你所需要的数据。优点:功能非常强大的爬虫框架,不仅能便捷地构建request,还有强大的selector能够方便地解析response,最受欢迎的还是它的性能,既抓取和解析的速度,它的downloader是多线程的,request是异步......
  • windows系统安装Python环境
    Python在此次AI浪潮中,被广泛使用,所以我们搭建一下Python的运行环境现在我安装的是Python1.10版本,没有使用最新版,是因为某些Python库不支持高版本Windows系统前往Python官网,直接下载安装程序https://www.python.org/downloads/windows/安装过程就是直接下一步,就能成功,记得勾选添......
  • Python爬虫如何使用代理IP进行抓取
    前言Python爬虫是一种非常强大的工具,可以用于抓取各种网站的数据。但是,在一些情况下,我们需要使用代理IP来完成数据抓取,如绕过IP限制或保护隐私信息等。本文将介绍如何使用Python爬虫抓取数据时使用代理IP,并提供示例代码和注意事项。一、什么是代理IP代理IP是一种充当客户端和服务器......
  • python中'\n'与'r'的区别和使用习惯
    在Python中,'\n'和'\r'是两个特殊的转义字符,它们用于控制字符串中的换行和回车行为。它们有不同的含义和用途:'\n'(换行符):'\n'表示换行,在字符串中使用它会将光标移动到下一行的行首。通常用于在文本中创建新的行或在输出中添加换行符,以使文本更易于阅读。示例:print("这是第一行\n这是......
  • DBeaver连接国产数据库OceanBase,以及Python连接,解决ModuleNotFoundError: No module n
    DBeaver连接OceanBase参考:https://www.modb.pro/db/365929用户名的格式为:数据库用户名@租户名#集群名 Python连接OceanBase参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033288pip3installJayDeBeApi会自动下载JayDeBeApi和JPype1两个......
  • 基于python+selenium的自动批量添加
    场景点击添加”新增“按钮,弹出”新增对话框“,输入各种数据,然后点击”确定“按钮,如此循环。数量多,这样操作累人。seleniumSelenium是一个用于自动化Web浏览器操作的库,可以实现模拟点击、输入文本等操作。代码实现#!/usr/bin/envpython3#-*-coding:utf-8-*-fromsel......
  • pip国内镜像源-Python安装第三方库
    众所周知,在没有配置第三方库的时候,使用pip或者conda安装包的时候,会直接指向Python官网,由于服务器在国外,下载速度会很慢,因此,大多数情况下会选择国内的镜像源网址来提升安装第三方库的速度。1.8个国内镜像源以下是中国常见的pip镜像源,按照完全度和下载速度排序,需要注意的是,镜像源......