学习笔记004-字符串、运算符、逻辑运算符等等
Python学习004
一、格式化字符串
1、字符串的拼串 ,拼接 “+”
s = 'hello'
print('s = ' + s)
返回结果:s = hello
2、参数的传递
s ='abc','nba')
print('s = ' , s)
返回结果:s = 'abc','nba'
3、占位符
%s 字符串占位
%f 浮点数占位
%d 整数占位
#1、
print('s = %s'%'hello')
返回结果:s = hello
#2、
s = 's = %s ,s2 = %s '%('hello','Python')
print(s)
返回结果:s = hello ,s2 = Python
4、格式化字符串 : f + str({变量1},{变量2}…) r + str
f’{变量}’ / str.format
f’{变量}’、str.format,方法1:替换的字符有变量就用此方法
s1 = '钢铁侠'
s2 = '蜘蛛侠'
r = f'hello {s1},{s2}'
print(r)
返回结果:hello 钢铁侠,蜘蛛侠
参数传递,方法2:替换的字符没有变量可以用此方法
s = 'i like {}'
a = s.format('python')
print(a)
返回结果:i like python
参数传递,方法3:替换的字符没有变量可以用此方法
s = 'i like {}, {}'
a = s.format('python','java')
print(a)
返回结果:i like python, java
练习:1
d = 'zhangsan %d sui. %s suishu gengda'%(22,'linsi')
print(d)
返回结果:zhangsan 22 sui. linsi suishu gengda
练习:2
d = 'zhangsan {0} sui. {1} suishu gengda'
r = d.format(22,'lisi')
print(r)
返回结果:zhangsan 22 sui. lisi suishu gengda
练习:3
age = 22
name = 'lisi'
w = f'zhangsan {age} sui. {name} suishu gengda'
print(w)
返回结果:zhangsan 22 sui. lisi suishu gengda
二、字符串的其他操作
1、其他操作
len()–获取字符串的长度
print(len('iLoveyou'))
返回结果:8
max()–取的是这个字符所对应的ascii的最大值
print(max(100,50,60,85))
返回结果:100
min()–取的是这个字符所对应的ascii的最小值
print(min(100,50,60,85))
返回结果:50
in()–判断一个字符串是否在这个字符串当中,如果在就返回True,如果不在就返回Fasle
print('a' in 'a')
print('j' in 'c')
返回结果:True
返回结果:False
ord()–查找字符所对应的ascii值
print(ord('a'))
返回结果:97 #(ascii值)
split()–分割字符串,分割之后会把结果返回到一个列表里
s = 'I love china'
r = s.split(' ')
print(r)
返回结果:['I', 'love', 'china']
s1 = 'www.baidu.com'
r = s1.split('.')
print(r)
返回结果:['www', 'baidu', 'com']
join()-- 拼接字符串 --str.join(seq) str–> 拼接的方式 seq --> 序列的内容
a = 'abc'
r = '-'.join(a)
print(r)
返回结果:a-b-c
2、去空格
s.strip()–左右两边去空格
s = ' python '
r = s.strip()
print(r)
返回结果:'python'
s.lstrip()–去左边空格
s = ' python '
r = s.lstrip()
print(r)
返回结果:'python '
s.rstrip()–去右边空格
s = ' python '
r = s.rstrip()
print(r)
返回结果:' python'
3、字符串大小写
s.upper()–全部大写
a='i love china'
b=a.upper()
print(b)
返回结果:I LOVE CHINA
s.lower()–全部小写
a='I LOVE CHINA'
b=a.lower()
print(b)
返回结果:i love china
s.isupper()–判断是不是大写
a='I LOVE CHINA'
b=a.isupper()
print(b)
返回结果:True
a='i love china'
b=a.isupper()
print(b)
返回结果:Fales
s.islower()–判断是不是小写
a='i love china'
b=a.islower()
print(b)
返回结果:True
a='i love china'
b=a.islower()
print(b)
返回结果:Fales
二、运算符
运算符的概念
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
1、算术运算符
加法运算
x = 1 + 2
x = 1.0 + 2
x = 'python' + 'java' #拼串
减法运算
x = 5-2
x = 2-5
x = 'python'-'hon' #TypeError: unsupported operand type(s) for -: 'str' and 'str'
不适用于字符串
乘法运算
x = 2 * 'a'
x = 2 * 5
x = 5 * 2
x = 'a'*'b' #TypeError: can't multiply sequence by non-int of type 'str'
不适用于字符串
除法运算
整数或者浮点数做除法运算总会返回浮点类型
x = 6 / 2
x = 6 / 0 #ZeroDivisionError: division by zero 除数不能为0
x = 5 / 2
取整
x = 7 // 3
取模(取余)
x = 7 % 3
幂运算(次方)
x = 2**3
x = 25 ** 0.5
2、赋值运算符
x += 3 # 等价于x = x + 3
x -= 3 # 等价于x = x - 3
x *= 3 # 等价于x = x 9 3
x /= 3 # 等价于x = x / 3
x //= 3 # 等价于x = x // 3
x **= 3 # 等价于x = x ** 3
x %= 3 # 等价于x = x % 3
3、比较运算符
主要是比较2个值之间的关系,总会返回一个布尔类型,关系成立返回True,关系不成立返回False
如果出现多个字符的情况下,那么比较方式是对位比较。
如果对位比较出的结果则直接返回结果,否则去下一位对位比较,直到比较出结果为止
运算符 | 说明 |
---|---|
> | ⽐较左侧值是否⼤于右侧值 |
>= | ⽐较左侧的值是否⼤于或等于右侧的值 |
< | ⽐较左侧值是否⼩于右侧值 |
<= | ⽐较左侧的值是否⼩于或等于右侧的值 |
== | 比较两个对象的值是否相等 |
!= | 比较两个对象的值是否不相等 |
is | 比较两个对象是否是同一个对象,比较的是对象的id |
is not | 比较两个对象是否不是同一个对象,比较的是对象的id |
4、逻辑运算符
逻辑运算符主要用来做一些逻辑判断
and 逻辑与
符号两侧的值进行与运算
只有再符号两则的值都为True时,才会返回True,只要有一个False就返回False
与运算是找False的,如果第⼀个值为False,则不再看第⼆个值
True and True 返回结果:True
False and True 返回结果:False
True and False 返回结果:False
False and False 返回结果:False
or 逻辑或
符号两侧的值进行或运算
或运算是找True的,如果第一个值为True,则不再看第二个值,
True变False,False变True
True or True 返回结果:True
False or True 返回结果:True
True or False 返回结果:True
False or False 返回结果:False
not 逻辑非
对符号右侧的值进行非运算
对于非布尔值,非运算会先将其转换为布尔值,然后再取反操作
对于 0 空串 None …这些表示空性的值,都会转换为False,剩下的都是True
not None 返回结果:True
not True 返回结果:False
not False 返回结果:True
not 0 返回结果:True
非布尔值的与或运算
当对布尔值进行与或非运算的时候,Python会将其当成布尔值运算,最终返回的是原值;
1、⾮布尔值与运算的规则:
与运算是找False的,如果第⼀个值是False,则不看第⼆个值。
如果第⼀ 个值是False,则直接返回第⼀个值,否则返回第⼆个值。
2、⾮布尔值或运算的规则:
或运算是找True的,如果第⼀个值是True,则不看第⼆个值。
如果第⼀个 值是True,则直接返回第⼀个值,否则返回第⼆个值。
5、条件运算符
如果(if)条件结果为真(True)就运行语句1, 否则(else)就运行语句2 ;
print('python') if True else print('java')
返回结果:python
a = 10
b = 20
print('a的值比较大') if a > b else print('b的值比较大')
返回结果:b的值比较大
课堂作业:
以4种格式化字符串的⽅式来实现 521 xxx 嫁给我好吗?
#以4种格式化字符串的⽅式来实现 521 xxx 嫁给我好吗?
#方式一
ns = '女神'
print('521'+ ns + '嫁给我好吗?')
#方式二
print('521%s嫁给我好吗?'%'女神')
#方式三
a= '521{}嫁给我好吗?'
s=a.format('女神')
print(s)
#方式四
ns= '女神'
a =f'521{ns}嫁给我好吗?'
print(a)
现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运 算符获取三个值中的最⼤值。
#现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最⼤值
方式一:
a = 150
b = 100
c = 20
print('a的值比较大') if a>b else print('b的值比较大')
print('a的值比较大') if a>c else print('c的值比较大')
print('b的值比较大') if b>c else print('c的值比较大')
返回结果:
a的值比较大
a的值比较大
b的值比较大
方式二:
a = 150
b = 100
c = 20
if a>b and a>c:
print('a的值比较大')
else:
if b>c and b>a:
print('b的值比较大')
else:
print('c的值比较大')
返回结果:a的值比较大
本文地址:https://blog.csdn.net/q19348/article/details/107661719