字符串基本使用

1.字符串的赋值
# 字符串的赋值:
a_str = ‘ben’
b_str = a_str
a_str = ‘tom’
print(a_str)
print(b_str)
#不是说字符串创建之后是无法改变的吗?这里怎么发生改变了?
#是因为内存地址发生了改变

自己去思考

a_str = 'my name is ben'
print(a_str[-1])   #最后一个
print(a_str[2])  
print(a_str[1:6])   #包左不包右

2.字符串去空格和特殊符号
a_str = ’ my name is ben ’
print(a_str)
print(a_str.strip()) #左右两边空格
print(a_str.lstrip()) #左边空格
print(a_str.rstrip()) #右边空格
b_str = ’ ,ben.’
print(b_str.lstrip(’,’)) #去掉左边空格和逗号
print(b_str.rstrip(’.’)) #去掉右边空格和点号
a = " .@eric#! "
b = a.lstrip(’ .@’).rstrip(’#! ‘) #这里?
print(b)
3.字符串的+和*以及替换操作
a_str = ‘b’
b_str = ‘en’
c_str = a_str + b_str
print(c_str)
print(c_str * 4,’\n’)
print((c_str + ‘q’) * 3)
d_str = ‘my name is ben’
e_str = d_str.replace(‘name’, ‘age’)
print(d_str)
print(e_str)
print(d_str.replace(‘tom’, ‘jim’))
4.字符串的查找:
index/find
a_str = ‘my name is ben’
print(a_str.index(‘ben’)) #返回第一个索引值
print(a_str.index(‘python’)) #找不到报错
print(a_str.find(‘name’)) #返回第一个索引值
print(a_str.find(‘python’)) #找不到返回-1
5.字符串的比较
from operator import eq,lt,gt,le,ge #字符串的大小是怎么比较?
a_str = ‘ben’
b_str = ‘bom’
print(eq(a_str,b_str)) # =
print(lt(a_str,b_str)) # <
print(gt(a_str,b_str)) # >
print(le(a_str,b_str)) # <=
print(ge(a_str,b_str)) # >=
print(ge(a_str,b_str)) #这里是字符串的大小的比较,如果换成数字呢?自己动手试试看
# 字符串是否包含指定的字符:
a_str = ‘ben’
print(‘b’ in a_str)
print(‘o’ in a_str)
# 当前,之前用的find方法也可以去判断是否包含
6.字符串的小大写转换
a_str = ‘ben’
print(a_str.lower()) #不管转换之前是不是大小写,转换之后所有的字符转换为小写
print(a_str.upper()) #和上面对应,结果转换为大写
# 大小之间的转换:
print(a_str.swapcase())#,这个方法是把大变小,小的变大
# 首字母转换为大写:
print(‘my name is ben’.title())
from string import capwords
print(capwords(‘my name is ben’))#看看结果,是怎么转换的过程?这个方法到底执行了什么操作
print(‘my name is ben’.lower().title())
# 字符串的翻转:这里是利用的切片
a_str = ‘python’
print(a_str[::-1])
7.字符串分割
# 字符串的分割: 分割之后的结果为list
a_str = ‘my name is ben’
print(a_str.split())
b_str = ‘my,name,is,ben’
print(b_str.split(’,’))
# 字符串连接方法之join:
a_str = ‘,’
b_str = [‘my’, ‘name’, ‘is’, ‘ben’]
print(a_str.join(b_str))
c_str = ’ ’
d_list = [‘tom’, ‘is’, ‘good’]
print(c_str.join(d_list))
# 这个join方法和split方法的操作是个逆向的过程
# 字符串的截取: 这里也不展开了, 通过切片的操作可以实现
8.字符串的对齐操作:注意,是制定的字符,而不是字符串,单个的
# 字符串的对齐操作:注意,是指定的字符,而不是字符串,单个的
a_str = ‘python’
print(a_str.ljust(10, ‘=’)) #右边= 凑够十个字符
print(a_str.rjust(20, ‘+’)) #左边+ 凑够二十个字符
print(a_str.center(22, ‘0’)) #左右两边0 凑够二十二个字符
# 字符串编码操作:
a_str = ‘ben’
b_str = b’python’
print(a_str)
print(a_str.encode(‘utf-8’)) #编码
print(b_str.decode(‘utf-8’)) #解码
# 字符串的判断操作:是判断字符串的某种状态或者属性
print(‘ben’.startswith(‘b’)) #判断是否以什么字符或者字符串开头
print(‘ben’.startswith(‘n’))
print(‘ben’.endswith(‘o’))
print(‘ben’.endswith(‘n’))
print(‘ben’.endswith(‘en’)) #这里指定的不是字符,而是字符串
print(‘ab00’.isalnum()) # 数字或者字符
print(‘88888’.isalpha()) # 全字符
print(‘abv’.isalpha())
print(‘ben999’.isalpha())
print(‘88ben’.isdigit()) # 全数字
print(‘888’.isdigit())
print(’’.isspace()) # 这里要注意和下面的区别 #是否包含空格
print(’ ‘.isspace())
print(‘ben’.isspace())
print(‘ben’.islower()) # 注意这里的判断是全判断,而不是部分判断
print(‘ABC’.isupper())
print(‘ABChg’.islower())
print(‘ABFhgj’.isupper())
print(‘My Name Is Tom’.istitle()) # 随便改写一个开头的大写字母看看结果
# 如果去掉中间的空格呢?
1.使用replace方法
a = ‘hello world’
a.replace(’ ‘, ‘’)
输出:‘helloworld’
2.使用字符串函数split
a = ‘’.join(a.split())
print(a)
输出:helloworld
字符串中某个元素出现的次数:
a_str = ‘ben love study python’
print(a_str.count(‘o’)) #2
print(a_str.count(‘on’)) #1
# 右对齐方式:
print(‘ben’.zfill(20)) # 保留的长度,字符串位置在右边,左边填充0
# 字符串存在和位置的index和find: 注意一点, 如果出现多次, 返回的结果为第一次出现的位置
a_str = ‘my name is ben’
print(a_str.index(‘n’))
print(a_str.rindex(‘n’)) # 从右边开始查找
print(a_str.rfind(‘n’)) # 这里也是从右边开始查找
‘’’
1.完成函数文档字符串的使用
2.在你的command line中打印输出:
print(‘\\n\’)
print(r‘\\n\\’)看看会发生什么?
print(‘\\t\’)
print(r’\\t\’)
3.name = ‘tom’
age = 20
使用字符串格式化输出打印name和age
4. 从键盘录入的手机号为“ 180 0010 1101 ”剔除该字符串中空格,输出为
“18000101101格式”
5. “来自星星的我”这个同学经常错误使用标点符号,混用中文及英文标点。
如: “hello,I’am tom。use python i can fly。”
请替换该字符串中中文标点为英文标点,并将该字符串通过句号分割为两句话,分别打印输出。
将第一句话倒叙输出。 将第二句话首字母大写。

‘’’

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值