1. 格式化字符串
- 1.1 拼串
s = 'hello' print('s = '+ s) 运行结果: s = hello
- 1.2 参数传递
print('abc','bcd') print('s =',s) 运行结果: abc bcd s = hello
- 1.3 占位符
- 在创建字符串的时候可以在字符串中指定占位符
- %s 任意的字符
- %f 任意的小数
- %d 任意的整数
s = 's = %s'%'Jerry' 运行结果: s = Jerry # 特别注意:有几个占位符就的有几个对应的值 s = 's1 = %s,s2 = %s'%('hello','Jerry') 运行结果: s1 = hello,s2 = Jerry
- 1.4 格式化的方式
s1 = '钢铁侠' s2 = '葫芦娃' s = f'hello {s2},{s1}' print(s) 运行结果: hello 葫芦娃,钢铁侠 #str.format() s = 'i like {1}' b = s.format('python') print(b) 运行结果: i like python # 多个参数的format s = 'i like {1},{0}' s1 = s.format('美女','美食') print(s1) 运行结果: i like 美食,美女
2.字符串的使用
-
2.1 len() – 字符串的长度
print(len("hello world!!!")) 运行结果: 14
-
2.2 max() – 最大值(比较的是字符对应的asscii值)
a = '2342345453459324' print(max(a)) 运行结果: 9 b = 'helloJerry' print(max(b)) 运行结果:y
-
2.3 min()
a = '2342345453459324' print(min(a)) 运行结果: 2 b = 'helloJerry' print(min(b)) 运行结果:J
-
2.4 split() —分割字符串返回一个列表
- 参数:
- 不传参:默认以空格分隔字符串
- 参数中的字符或字符串包含于将要分割的字符串:将以参数分割字符串
- 将要分割的字符串不包含参数中的字符串:将不能分割字符串
s = 'i love china' b = s.split() #不传参 print(b) 运行结果: ['i', 'love', 'china'] print(s.split(' ')) # 空格 运行结果:['i', 'love', 'china'] print(s.split('love')) # love 运行结果:['i ', ' china'] print(s.split('vvvv')) # 运行结果:['i love china']
- 参数:
-
2.5 join() —拼接字符串
- str.join()
- str 你要拼接的方式
b = 'abc' # 以 - 的方式来拼接字符 result = '-'.join(b) print(result) print(type(result)) 运行结果: a-b-c <class 'str'>
- str.join()
-
2.6 去空格
- s.strip() 去字符串两边的空格
- s.lstrip() 去字符串左边的空格
- s.rstrip() 去字符串右边的空格
-
2.7 字符串大小写
- s.upper() 全部大写
- s.lower() 全部小写
- s.isupper() 判断是否大写 ,返回bool 值
- s.islower() 判断是否小写,返回bool 值
3.运算符
-
3.1 概念
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2,3,而运算符则是 ‘+’
-
**3.2 算术运算符 + - * / // % ** **
- 加法运算符 +
- 数学计算
- 布尔数据类型可参与 + 运算 (True为1,False为0)
- 字符串的相加就是字符串拼接
- 减法运算符 -
- 数学计算
- 布尔数据类型可参与 - 运算 (True为1,False为0)
- 字符串相减不支持
- 乘法运算符 *
- 数学计算
- 字符串相乘不支持
- 字符串与数字相乘
- 除法运算符 /
- 除法总是返回一个浮点类型
- 数学运算,其中除数不能为0
- 字符串之间的除法或字符串与数字的除法
不支持
- 整除运算符 //
- 只会保留计算后的整数位,返回一个整型
- 取模运算符 %
- 两数相除取余数(除数不为0)
- 幂运算符 **
- 开平方
- 总会返回一个浮点类型
- 总会返回一个浮点类型
- 加法运算符 +
-
3.3 赋值运算符 += -=
- 可以将等号右边的值赋值给等号在左边的值
- += 、-= … 先用左边的值进行+ 、-= …运算,再将结果存入左边的值
-
3.4 比较运算符 == != > <
- 比较的是两个对象值结果为True或False
- 数值比较我在此就不必说了
- 两个字符之间比较的是字符所对应ascci的值
- 如果出现多个字符,那么比较的是采用的是对位比较,具体步骤如下:
- 两个字符串按位比较,如果当前位字符的ascci 码相同,则继续比较下一位,直到出现ascii 值不同时,判断大小,其值就为最终的结果值
- 两个字符串按位比较,如果当前位字符的ascci 码相同,则继续比较下一位,直到出现ascii 值不同时,判断大小,其值就为最终的结果值
-
3.5 比较运算符 is 、 is not
- 比较的是两个对象是否为同一个对象,即对象的id是否一样,返回True或False.
- 比较的是两个对象是否为同一个对象,即对象的id是否一样,返回True或False.
-
3.6 逻辑运算符 非布尔值怎么操作
-
not 逻辑非
- not可以对符号右侧的值进行非运算,对于布尔值非运算会对其进行取反操作。True -->False ,False->True。
-
and 逻辑与
-
and可以对符号两侧的值进行与运算。只有在符号两侧的值都为True时,才返回True,其他情况返回Fasle.
-
如果第一个值为false,则不再看第二个值,直接返回false.
True and True # True True and False # False False and True # False False and False # False
-
-
or 逻辑或
- 或运算两个值中只要有一个True,就会返回True
True or True # True True or False # True False or True # True False or False # False ```
- 或运算两个值中只要有一个True,就会返回True
-
-
3.7 非布尔值的逻辑运算
- 对于非布尔值 非运算会将其先转换成布尔值,然后在进行取反操作
- 对于非布尔值的与或运算与布尔值运算一样
a = 456 # True
a = not a # False
a = '' # False
a = None # False
a = 'hello' # True
a = 0 # False
a = not a # True