Python学习笔记(三):字符串的查找与替换到运算符

Python学习笔记(三):字符串的查找与替换到运算符

一. 字符串的查找与替换

字符串查找

find() 在一个较长的字符串中查找子字符串

source_string.find(sub_string)

source_string:源字符串
sub_string:待查的目标子字符串

如果该字符串中有多个子字符串,则该方法返回第一个子串所在位置的最左端索引;若没有找到符合条件的子串,则返回-1

>>>source_string = 'youchanwill'
>>>print(source_string.find("l"))
>>>print(source_string.find("x"))
9
-1

字符串替换

replace() 替换给定字符串中的子串

source_string.replace(old_string, new_string)

source_string:源字符串
old_string:被替换的字符串
new_string:替换的字符串

>>>source_string = 'youchanwill'
>>>print(source_string.replace("chanwill","cw"))
youcw

二. 运算符

赋值运算符

Python最基本的赋值运算符是等号 = 将一个表达式的值赋给另一个变量

a = b = c = 100
= 具有右结合性,连续赋值,a、b、c 三个变量的值都是 100

=== 是两个不同的运算符,= 用来赋值,而 == 用来判断两边的值是否相等

扩展后的赋值运算符

运算符说明等价形式
+=加赋值x += y x = x + y
-=减赋值x -= y x = x - y
*=乘赋值x *= y x = x * y
/=除赋值x /= y x = x / y
%=取余数赋值x %= y x = x % y
**=幂赋值x **= y x = x ** y
//=取整数赋值x //= y x = x // y
&=按位与赋值x &= y x = x & y
|=按位或赋值x |= y x = x | y
^=按位异或赋值x ^= y x = x ^ y
<<=左移赋值x <<= y x = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= y x = x >> y,这里的 y 指的是右移的位数

*赋值运算符只能针对已经存在的变量赋值,如果变量没有提前定义无法参与运算

算数运算符

常用算术运算符

运算符作用
+
*
/
//整除(只保留商的整数部分)
%取余,返回除法的余数
**幂运算/次方运算
  • 当+用于数字时表示加法,当+用于字符串时,拼接字符串
  • 用作减法运算之外,还可以用作求负运算
  • *用作乘法运算,还可以用来重复字符串,将 n 个同样的字符串连接起来

逻辑运算符

and	与运算	
a and b	
当 a 和 b 都为真时,a and b 才为真,否则为假

or 或运算
当 a 和 b 都为假时,a or b 才是假,否则为真

not 非运算
如果 a 为真,那么 not a 的结果为假
如果 a 为假,那么 not a 的结果为真
Python逻辑运算符可以用来操作任何类型的表达式,不管表达式是不是bool类型;
逻辑运算的结果可以是任意类型

在Python中,andor 不一定会计算右边表达式的值,只计算左边表达式的值就能得到最终结果

andor 会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果

and 运算:

  • 如果左边表达式的值为假,就不计算右边表达式的值,此时 and 会把左边表达式的值作为最终结果
  • 如果左边表达式的值为真,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果

or 运算:

  • 如果左边表达式的值为真,就不用计算右边表达式的值了,把左边表达式的值作为最终结果
  • 如果左边表达式的值为假,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果

运算符优先级

按照优先级从高到低的顺序依次执行

运算符说明优先级\结合性
( )小括号19\无
x[i]索引运算符18\左
x.attribute属性访问17\左
**乘方16\右
~按位取反15\右
+(正号)、-(负号)符号运算符14\右
*、/、//、%乘除13\左
+、-加减12\左
>>、<<位移11\左
&按位与10\右
^按位异或9\左
|按位或8\左
==、!=、>、>=、<、<=比较运算符7\左
is、is notis 运算符6\左
in、not inin 运算符 i5\左
not逻辑非4\右
and逻辑与3\左
or逻辑或2\左
exp1, exp2逗号运算符1\左

不要过多地依赖运算符的优先级来控制表达式的执行顺序,应尽量使用( )来控制表达式的执行顺序

当一个表达式中出现多个优先级相同的运算符时:先执行左边的叫左结合性,先执行右边的叫右结合性

三. bool类型和比较运算符

 bool 类型来表示真(True)或假(False)
 
 比较运算符用于判断两个值(变量、常量、表达式)之间的大小,比较运算的结果是 boolTrue可被当成整数 1 使用,False 可被当成整数 0 使用,TrueFalse 两个值可以参与各种算术运算
!= 如果运算符前面的值不等于后面的值,则返回 True;否则返回 False
is:判断两个变量所引用的对象是否相同,如果相同则返回 True
is not:判断两个变量所引用的对象是否不相同,如果不相同则返回 True

is 要求两个变量引用同一个对象,Python提供了 id() 函数来判断变量所引用的对象的内存地址
如果两个对象所在的内存地址相同(计算机同一块内存在任一时刻只能存放一个对象),则说明这两个对象其实是同一个对象

四.三目运算符

#比较两个数字,获得其中较大的一个
if a>b:
    max = a;
else:
    max = b;

#使用if else 实现三目运算符
max = a if a>b else b
exp1 if contion else exp2

condition:判断条件
exp1,exp2:表达式
如果 condition 成立(True),执行 exp1 并把 exp1 的结果作为整个表达式的结果
如果 condition 不成立(False),执行 exp2 并把 exp2 的结果作为整个表达式的结果

Python三目运算符支持嵌套
a if a>b else c if c>d else d
>>>a if a>b else ( c if c>d else d )

>>>a = int(input("a: "))
>>>b = int(input("b: "))
>>>print("a>b") if a>b else ( print("a<b") if a<b else print("a==b"))
先对 a>b 求值,如果该表达式为 True,程序就执行第一个表达式 print("a>b")
否则将继续执行 else 后面的内容,也就是( print("a<b") if a<b else print("a==b"))
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值