Python基础二(字符串、运算符)
字符串
1.字符串的操作
- len() 字符串的长度
- max() 最大值
- min() 最小值(最大最小值是按ascii表的来区分)
- split() 分割字符串(默认用空格分割,可以自定义分割字符)
a = "hello world"
print(a.split("w"))
- join() 拼接字符串
print(" ".join(a))
#输出为:h e l l o w o r l d
- find() 查找字符串(等同于index(),但如果查找不到,都会返回-1,index()还会报错)
- replace() 替换字符串
a = "hello world"
b = a.replace("hello","hi")
print(b)
#输出结果为:hi world
- partition() 把字符串分割为三部分
a = "hello world"
print(a.partition("o"))
#输出结果为:('hell', 'o', ' world')
- 去空格
- s.strip() 左右两边去空格
- s.lstrip() 去左边空格
- s.rstrip() 去右边空格
- 字符串大小写
- s.upper() 全部大写
- s.lower() 全部小写
- s.isupper() 判断是不是大写
- s.islower() 判断是不是小写
- isdigit() 判断是不是纯数字
2.字符串的切片
- 索引 左数从0开始,右数从-1开始
a = "abcdefg"
# a b c d e f g
# 0 1 2 3 4 5 6
#-7 -6 -5 -4 -3 -2 -1
- 切片:在内存中,数据是连续存储的数据类型就可以切片
- 语法:变量[起始位置:结束位置:步长(间距)] 左闭右开区间
- 默认:[::]默认起始位置为0,结束位置为最后一位,默认步长为1
a = 'abcdefg'
print(a[2:6:2])
#输出结果为:ce
#逆序打印:
print(a[::-1])
运算符
1. 运算符
1.1 运算符的概念
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
1.2 运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
2. 算术运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
- 乘法运算符 表现形式 *
- 除法运算符 表现形式 / (除法得到的结果都为float类型)
- // 整除,只会保留计算后的整数位,总会返回一个整型
- % 取模,求两个数相除的余数 (取余需要向上取余)
- ** 幂运算,求一个值的几次幂
字符串只能进行加法和乘法运算
a = "python"
print(a*2)
#输出结果为"pythonpython"
print("hi"+a)
#输出结果为"hipython"
3. 赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
- += (x+= 3 相当于 x = x + 3 )
- -= (x -= 3 相当于 x= x - 3 )
- *= (x = 3 相当于 x = x 3 )
- **= (x **= 3 相当于 x = x ** 3 )
- /= (x /= 3 相当于 x = x/ 3 )
- //= (x //= 3 相当于 x = x // 3 )
- %= (x %= 3 相当于 x= x % 3 )
4. 比较运算符
- 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False(True可以看作是1,False可以看作是0)
- ">"比较左侧值是否大于右侧值
- “>=” 比较左侧的值是否大于或等于右侧的值
- < 比较左侧值是否小于右侧值
- <= 比较左侧的值是否小于或等于右侧的值
- 特殊的比较方式
- == 比较两个对象的值是否相等
- != 比较两个对象的值是否不相等
- is 比较两个对象是否是同一个对象,比较的是对象的id
- is not 比较两个对象是否不是同一个对象,比较的是对象的id
5. 逻辑运算符
5.1 not 逻辑非
- not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True(0,空串,‘’,None还有一些表示空性的值会转换为False,其余剩下的所有值都是True)
5.2 and 逻辑与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 or 逻辑或
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True的
5.4 非布尔值的与或运算
- 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
- 非布尔值与运算的规则
- 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
- 非布尔值或运算的规则
- 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
6. 条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2
#if的判断如果成立则返回if前面的,否正返回后面的
a = 20
b = 30
print("a比较大") if a > b else print("b比较大")
#最终结果为:b比较大
实战演练:
1.以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
x = input("姓名:")
print("521 "+ x +" 嫁给我好吗?")
print(f"521 {x} 嫁给我好吗?")
print(r"521 %s 嫁给我好吗?" %x)
print("521 {} 嫁给我好吗?".format(x))
2.现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
print("最大值为a") if (a > b and a > c) else (print("最大值为b") if (b > a and b > c) else print("最大值为c"))