当前位置: 首页 > news >正文

Python 基础语法(二)

  目录

算数运算符

+、-、*、/

%、**、//

关系运算符

==、!=、<、>、<=、>=

小数的比较

逻辑运算符

赋值运算符


         本期继续进行 Python 基本语法的学习。

 算数运算符

        算数运算符主要用于变量之间的算数运算Python 中的算数运算符主要包含,+(加)、-(减)、*(乘) 、/(除)、%(取余)、**(乘方),//(向下取整除法)。

+、-、*、/

        代码如下。

a = 1 + 2 * 8 / 4
print(a)a = (1 + 2) * 3 /4
print(a)

        运行结果如下。

        与 C++ 中的加减乘除一样,Python 中的优先级依然是,先计算乘除后计算加减。但是,如果想让优先级较低的运算符先进行运算,必须使用 () 提升其优先级

        同时,我们通过上述的运行结果可以看出,Python 中的乘法的结果可以是小数,这一点区别于 C++ ,C++ 中乘法的结果一定是满足 同类型的变量/同类型的变量=同类型的变量这一规则。

%、**、//

        代码如下。

a = 10
b = a % 3
print(b)a = 4
b = 4**2
c = 4**0.5
print(b)
print(c)a = 5
b = 5 // 2
c = 5 // -2
print(b)
print(c)

        运行结果如下。

        取模和乘方很简单,这里不做过多阐述,向下取整除法,就是将最终的计算结果向下取整,注意区分正整数和负整数向下取整的方向

关系运算符

        关系运算符主要用于判断变量之间的大小关系,Python 中的关系运算符主要有 ==(等于),!=(不等于),>(大于),<(小于),>=(大于等于),<=(小于等于)

        关系运算符比较之后的结果为 bool 类型,结果之后 true false 两种类型。

==、!=、<、>、<=、>=

        代码如下。

a = 10
b = 20
print(a == b)
print(a != b)
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)a = 'hello'
b = 'ihello'
print(a > b)

        运行结果如下。

        这里需要注意一点,在 Python 中也是支持字符串的比较的,主要是从字符串的第一个字符开始,按照字符的字典序进行比较,从 a~z 的顺序,字母越靠前,字符越大,如果相等就继续判断下一个字符。

        正如上述的 hello ihello,从第一个字符开始进行比较,因为 h i 之前,所以 hi 小,所以 hello 就比 ihello 小。

小数的比较

        在 Python 中,小数的精度会在计算时丢失,所以不能单单的以关系运算符作为大小比较的标准。

        代码如下。

a = 0.1
b = 0.2
print((a + b) == 0.3)
print(a + b)

        代码运行结果如下。

        通过运行结果不难看出,在 Python 0.1 + 0.2 的结果因为精度的丢失,在最终计算出的结果并不是 0.3 ,所以要比较小数的相等,必须手动的指定误差范围,如果两个小数相减之后的结果在误差范围内,我们就认为这两个数相等。

        代码如下。

a = 0.1
b = 0.2
print( -0.000001 < (a + b) - 0.3 < 0.000001 )

        如上代码,在差值设定的范围内,我们就认为两个小数相等。

        运行结果如下。     

逻辑运算符

        Python 也有自己的逻辑运算符,分别为 and(逻辑与) or(逻辑或)not(逻辑反)。

        C++ 逻辑运算符的含义一样,逻辑与为一假则假逻辑或为一真则帧逻辑反则给整个逻辑取反

        代码如下。

a = 1
b = 2
c = 3#逻辑与,都为真则整体为真
print(a < b and b < c)
#逻辑与,一假则假
print(a > b and b < c)
print("---------------------------------------------")
#逻辑或,都为假则整体为假
print(a > b and b > c)
#逻辑或,一真则真
print(a > b or b < c )
print("---------------------------------------------")
#逻辑非,给计算记过取反
print(not a < b)

        代码运行结果如下。

        运行结果符合预期。

赋值运算符

        在 Python 中,赋值运算符与 C++ 中的复制运算符一致,都为 = ,表示将一个常量值赋值给一个变量,或者将一个变量的值赋值给另一个变量。 

        这里一定要区分 === 的区别,= 表示赋值,而 == 为关系运算符,用于判断两个变量的值是否相等

        代码如下。

#语法不允许
1 = 2
#常量赋值给变量
a = 1
#变量赋值给变量
b = 2
a = b

        在 Python 中,支持连续赋值多元赋值,连续赋值可以同时给多个变量赋相同的值,这个多元赋值有什么用呢?

        多元赋值可以用来简化两个变量值交换的代码。

        代码如下。

#连续赋值
c = d = 3
print(c,d)
print("-------------------------------------------------")#多元赋值
e,f = 4,5
print(e,f)
print("-------------------------------------------------")#交换 e 和 f 的值
#传统写法
temp = e
e = f
f = temp
print(e,f)
print("-------------------------------------------------")#多元赋值写法
e,f = f,e
print(e,f)

        我们先让 e f 以传统的方式进行值的交换,然后最终让 e f 以多元赋值的方式进行值的交换。        

        上述代码运行结果如下。

        我们发现,确实通过多元赋值的方法实现了两个变量值的交换,具体的原理简单理解为两个变量同时进行互相赋值。

        在 Python 中,还有 += ,-=,*=,\=、**= 的操作,以 += 为例,其他符号同理,代码如下。

a = 3
print(a)
a += 1
print(a)

        运行结果如下。

        a += 1 ,展开其实就可以理解为 a = a + 1

        在 C++ 中我们学过了自增 ++自减 -- 操作,但是在 Python 中是不支持这样的语法的。

        代码如下。

a = 1
print(a)
++a
print(a)
a++

        代码运行结果如下。

        ++a 表示给 a 连续取了正号,所以最终 a 的值还是 1,但是 a++ 在 Python 中是不支持这种语法的。

        至此,Python基本语法全部学习结束,后续会为大家带来 Python 的进阶语法。

        本期内容到此结束^0^

 

http://www.lryc.cn/news/623885.html

相关文章:

  • 0️⃣基础 认识Python操作文件夹(初学者)
  • Linux:TCP协议
  • RK3568平台开发系列讲解:PCIE trainning失败怎么办
  • 深入解析函数指针及其数组、typedef关键字应用技巧
  • 0-12岁幼儿启蒙与教育
  • CF2121C Those Who Are With Us
  • 2001-2024年中国玉米种植分布数据集
  • 【牛客刷题】01字符串按递增长度截取并转换为十进制数值
  • Day07 缓存商品 购物车
  • 14.web api 5
  • LEA(Load Effective Address)指令
  • 19.5 「4步压缩大模型:GPTQ量化实战让OPT-1.3B显存直降75%」
  • 混沌工程(Chaos engineering):系统韧性保障之道
  • 图解希尔排序C语言实现
  • 【Java】多线程Thread类
  • 2025年- H97-Lc205--23.合并k个升序链表(链表、小根堆、优先队列)--Java版
  • 【撸靶笔记】第二关:GET -Error based -Intiger based
  • 【102页PPT】新一代数字化转型信息化总体规划方案(附下载方式)
  • 2.4 双向链表
  • 牛客周赛 Round 104(小红的矩阵不动点/小红的不动点权值)
  • 03高级语言逻辑结构到汇编语言之逻辑结构转换if (...) {...} else if {...} else {...}
  • react 错误边界
  • git stash临时保存工作区
  • Win11 文件资源管理器预览窗格显示 XAML 文件内容教程
  • 【牛客刷题】成绩统计与发短信问题详解
  • 【Git系列】如何从 Git 中删除 .idea 目录
  • 【线程安全(二) Java EE】
  • 寻找数组的中心索引
  • 如果用ApiFox调用Kubernetes API,需要怎么设置证书?
  • Day16 多任务(2)