py教学 之字符串处理·····

字符串索引与切片

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号 [] 来截取字符串,字符串的截取的语法格式如下:

变量[头下标(start):尾下标(end):步长(end)]

image
注意事项

  • 记住从后面向前索引时是从-1开始的
  • 记住头下标一定比尾下标的值小 例如:str[-4:-2]这样子才合法
  • 可以前面空着,表示从0开始 [:4] ,也可以后面 表示从-1开始
  • [1:4] 左闭右开的区间
  • [::number] 每隔几个取一个
  • step:默认是正向的,当为-1时,就是负向的,-2 就是负向并且一次两个字符

字符串翻转

str1=str1[::-1]

字符串拼接

+ 字符串连接

first_name = "ada" 
last_name = "lovelace" 
full_name = first_name + " " + last_name 
print(full_name)

字符串重复

\str*6 就是六倍重复

print("a * 2 输出结果:", a * 2)

a * 2 输出结果: HelloHello

Python三引号

  • python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

字符串相关方法的操作

str="hello python"
print(str.upper())
print(str.lower())
print(str.title())
#分割 (默认空格分割)
print(str.split( ))
#替换
print(str.replace('python','world'))
#去空格
bbb='    hello world     '
print(bbb.strip())
#左边l 开头
print(bbb.lstrip())
#右边 r 开头
print(bbb.rstrip())

replace(检索串,替换串,替换次数)

当替换次数为1:
就是只替换0次,当替换1次就结束

所以如果只是想替换一次的话,那么就设置为2

len()

  • 获取字符串长度

count()

  • 统计某个字符出现的次数

index()and rindex()

  • 出现的第一次的位置和最后一次的位置,无则抛异常

find() and rfind()

  • 出现的第一次的位置和最后一次的位置,无则报错

split() and rsplit() and partition() and rprtition()

  • split分割字符串返回list(左向右)
  • split(maxsplit=2) 最大分割2次,可以比这个小
  • partition 用一整个str作为分割符,整体为分割符

center() and ljust() rjust()

  • 居中,左对齐,右对齐

正则表达式:

实现多个字符的分割:

import re

a=input()
#re.split('这里写正则表达式',a) 格式

re.split('[ .]',s)
#这样就可以实现去对于结尾个中间空格的去重

删除两端字符

a.strip(''')

删除末尾字符

a='hellow world.'
a.rstrip(".")
print(a)

删除首字符

a='hellow world.'
a.lstrip(".")
print(a)

字符串格式化输入输出

格式化输入

  • input() 这个就是读入一行字符串,但是如果我们想要的一个是一个int类型的数组,float的类型的数字的话我们就必须要将str类型转换为数字类型
  • 我们就需要用到eval()函数 eval的本质就是去掉输入两边的引号:"1"==1,"[1,3,4]"=[1,3,4].......
a=eval(input())

input()常用的一些方法

  • input().split("作为分割的字符")

读入3 45 66 89这样的一行的数到4个变量里面

  • c++ cin 就可以直接做到
  • 用到map()映射
a,b,c,d=map(input().split())

可以达到目的

格式化输出

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))#""引号内写字符串,和c的写法一模一样
##需要注意,用%(, , , ),里面写每个变量“,”隔开

我叫 小明 今年 10 岁!

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度

格式化操作符辅助指令

符号 功能
. 定义最小总宽度或者小数点精度
- 用做左对齐
0 显示的数字前面填充'0'而不是默认的空格
+ 在正数前面显示加号( + )
a=1111123.3123
#b=int(float(a))
print("%15.2f"%(a))#显示的是最小总宽度
print("%015.2f"%(a))
print("%+.3f"%(a))

format 进行格式化输入输出

image

{}数字代表先后位置
{}内字母代表指定位置的标识 方便传入

新的简便写法

a='asdasdasd'
b=1
c=2.223
print(f'{(c+b):.2f}hhhh,{a.upper()}')

print()常用参数

end

  • print默认输出一行str后加上一个\n 如果我们不想要他这么做,就可以指定 end='结尾要输出的字符'
a='asdasdasd'
b=1
c=2.223
print(f'{(c+b):.2f}hhhh,{a.upper()}',end='')

sep

  • 更改输出的分割串,当然这也只有在不用格式化出的时候才用的上:
    例如

a,b,c=1,2,3
print(a,b,c,sep=',')

posted @   E_sheep  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示