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 指的是右移的位数 |
*赋值运算符只能针对已经存在的变量赋值,如果变量没有提前定义无法参与运算
常用算术运算符
运算符 | 作用 |
---|---|
+ | 加 |
– | 减 |
* | 乘 |
/ | 除 |
// | 整除(只保留商的整数部分) |
% | 取余,返回除法的余数 |
** | 幂运算/次方运算 |
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中,and 和 or 不一定会计算右边表达式的值,只计算左边表达式的值就能得到最终结果
and 和 or 会将其中一个表达式的值作为最终结果,而不是将 True 或者 False 作为最终结果
and 运算:
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 类型来表示真(True)或假(False)
比较运算符用于判断两个值(变量、常量、表达式)之间的大小,比较运算的结果是 bool 值
True可被当成整数 1 使用,False 可被当成整数 0 使用,True、False 两个值可以参与各种算术运算
!= 如果运算符前面的值不等于后面的值,则返回 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"))