#Python@字符串语法规则

Python中字符串是出现频率很大经常会用到,是**重点***
直接撸代码实战
一、案例:

1. 字符串的格式化问题

字符串的操作顾头不顾尾
我叫xxx,我住在xxxx,我今年xx岁,我喜欢做xxxxxx
name = input(‘请输入你的名字’)
address = input(‘请输入你的地址’)
age = int(input(‘你今年多大了’))
hobby = input(‘请输入你的爱好’)
s = ‘我叫%s ,我住在%s , 我今年%d岁 , 我喜欢做%s’ % (name, address, age , hobby)
print(s)

二、案例
%s 字符串占位符
#%d 占位符整数
%f 点位小数点
name = input(‘请输入你的名字’)
address = input(‘请输入你的地址’)
age = int(input(‘你今年多大了’))
hobby = input(‘请输入你的爱好’)
s0 = '我贵姓:%s ’ % name #限为一项,可以选择不加括号上去,超过了两项的话,需要加括号进去
print(s0)

s = ‘我叫%s ,我住在%s , 我今年%d岁 , 我喜欢做%s’ % (name, address, age , hobby) 方法一
s1 = ‘我叫{} ,我住在{} , 我今年{}岁 , 我喜欢做{}’.format(name, address, age , hobby) 方法二
s2 = f’我叫{name} , 住址{address}, 今年多大{age}, 兴趣爱好{hobby},住址{address},今年多大{age}’ # f-string 方法三
print(s2)

2.索引和切片
案例:
索引:按照位置提取元素
s = ‘我叫周杰伦’
可以采用索引的方式来提取某一个字符(文字)
print(s[3]) # 我们可以认为0是正数,程序都是从0开始数数
print(s[0]) #默认是start[0]开始
print(s[-1]) #-号表示倒数

案例:
s = ‘我叫周某某,你呢? 你叫李某某吗?’
print(s[3:6]) # 从索引3位置进行切片,切到6结束
语法: s[start:end] 从start到end进行切片,但是取不到end [start,end]
print(s[0:5])
print(s[:5]) # 如果start是从开头进行切片,可以省略
print(s[6:]) # 从start开始一直截取到末尾
: 如果左右两端有空白。 表示开头或者结尾
print(s[-3👎1]) # 目前还是只能从左往右切片
print(s[-1:-3]) # 没结果,这里是坑!!!

案例:
s = ‘我爱你’
可以给切片添加步长控制切片的方向
print(s[::-1]) # 负号为从右往左
语法: s[start🔚step] 从start切到end ,每个step个元素出来一个元素
s = ‘abcdefghijklmnopqrst’
print(s[-1:-7:-1])

  1. 字符串常规操作
    字符串的操作一般不会对原字符串产生影响,一般是返回一个新的字符串

capitalize(字符串大小写转换) 、title(单词的首字母变成大写) 、lower(把每个单词变成小写形式)、upper(把每个单词变换成大写形式)

3.1 字符串大小写转换
s = ‘python’
s1 = s.capitalize()
print(s1)

s = ‘I ha哈哈ve a dream’
s1 = s.title() # 单词的首字母变成大写
print(s1)

s = ‘HELLO WORLD!’
s1 = s.lower() # 把每个单词变成小写形式
print(s1)
s = ‘i have a dream’
s1 = s.upper() #把每个单词变换成大写形式
print(s1)

实战案例1:
如何忽略大小写进行判断 => upper()
verify_code = ‘xAd1’
user_input = input(f’请输入你的验证码({verify_code}): ') #提示符 f-string
if verify_code.upper() == user_input.upper():
print(‘验证码正确’)
else:
print(‘验证码不正确’)

实战案例2:
verify_code = ‘xAd1’
user_input = input(f’请输入你的验证码({verify_code}): ')
if user_input[0] ==‘x’ and user_input[1] ‘A’ and user_input[2]‘d’ and user_input[3] == ‘1’:
print(‘验证码正确’)
else:
print(‘验证码不正确’)

3.2替换和切换(*)

strip()

语法成员 strip(new_data)
s = ’ 你好, 我叫 周某某 ’
s1 = s.strip()
print(s1)
案例
username = input(‘请输入你的帐号:’)
password = input(‘请输入你的密码:’)
f username == ‘admin’:
if password == ‘123456’:
print(‘登入成功’)
else:
print(‘登入失败’)
else:
print(‘登入失败’)

语法成员 replace(old ,new) 字符串替换

案例 1
s = ‘你好啊,我叫赛利亚’
s1 = s.replace(‘赛昨亚’,‘周杰伦’)
print(s1)
案例 2
s = ‘你 来 自 哪 个 地方 呢 ? 我来自 江西 赣州’
s1 = s.replace(’ ‘,’’) #去掉所有的空格
print(s1)

split(用什么来切割) 字符串切割

语法成员 split(new_data)
s = ‘python_java_c_c#javascript’
lst = s.split(’
’) # 切割之后的结果会放在列表当中
print(lst)
s1 = s.split(‘java’)
print(s1)

strip replace split => 记住

3.4 查找和判断

s = ‘你好啊, 我叫周润发’

ret = s.find(‘周某某’) # 返回结果是-1代表的是没有 记住
print(ret)
ret = s.index(‘周某某’) #如果报错,就是没有
print(ret)
print(‘周某某’ in s) # in 可做条件上的判断 not in 不存在的字符串里面

案例

for c in s:

print(c, end = ‘’)

判断

name = input(‘请输入你的名字:’)
if name.startswith(‘张’): # 判断字符串是否以 xxxxx 开头,endswitch()
print(‘你姓张’)
else:
print(‘不姓张’)
案例 2 endswitch (尾部)
if name.endswith(‘忌’):
print(‘Yes’)
else:
print(‘No’)

money = input(‘请输入你兜里的钱:’)
if money.isdigit():
money = int(money)
print(‘可以花钱了’)
else:
print(‘对不起,你输入的有误’)

============================

3.5 补充和总结

len (获取一个字符串数量)

s =‘hello’

print(len(s)) # length()

join() => 合并

s = ‘python_java_c_c#_javascript’

lst = s.split(’_’) # 字符串的切割

print(lst)

lst =[‘赵某某’, ‘周某某’, ‘周某发’, ‘张某发’, ‘马某某’]
s1 = ‘_’.join(lst) # 拼接
print(s1)

总结

‘’’

  1. f’{变量}’ 格式化一个字符串 不用管其输出格式的类型符

  2. 索引和切片:
    索引:从0开始的。 [start:end]顾头不顾尾end
    切片:s[start🔚 step],end位置的数据永远拿不到

  3. 字符串相关的操作
    字符串操作对原字符串是不发生改变的。
    lower()
    1.upper() 在需要忽略大小写的时候用上 =>upper
    title()
    capitalize()
    2.strip() 可以去掉左右两端的空白(空格,\t,\n)
    3.replace() 字符串替换
    4.split() 对字符串的切割
    5.join() 拼接一个列表中的内容成为一个新的字符串
    6.startswitch() 判断字符串是否以xxx开头
    7.len() 字符串长度(内置函数)

    字符串的循环和遍历
    for c in s:
    print© 字符串中的每一个字符

    关于in:
    1. 判断xxx是否以xxxx出现
    2. for 循环 => for in range(start,end,step) 语法规则

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值