Python学习笔记(三)

Python学习笔记(三)

字符串的查找与替换到运算符

  • Python学习笔记(三)
  • 一. 字符串的查找与替换
    • 字符串查找
    • 字符串替换
  • 二. 运算符
    • 赋值运算符
    • 算数运算符
    • 逻辑运算符
    • 运算符优先级
  • 三. bool类型和比较运算符
  • 四.三目运算符

一. 字符串的查找与替换

字符串查找

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 not is 运算符 6\左
in、not in in 运算符 i 5\左
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) if a<b else print("a==b"))
先对 a>b 求值,如果该表达式为 True,程序就执行第一个表达式 print("a>b")
否则将继续执行 else 后面的内容,也就是( print("a) if a<b else print("a==b"))

你可能感兴趣的:(Python,Note,python)