python基础知识(字符串),python字符串比较,定义字符串‘ ‘单引


定义字符串

‘ ‘单引号 " "双引号 只能用于单行

‘" ‘"三引号 可以用于多行

拼接字符串使用 +号链接

字符串只能链接字符串其他类型字符串需要用str()进行转换后相加

计算字符串的长度

字母、数字、.小数点、_下划线、空格占一个字节

汉子一般占2~4 utf-8占3个字节

len() 计算字符串函数 获取字符个数

gdk或者2312 汉子为2个字节

str1 = "人生苦短,我用python!"

print(len(str1.encode())) #计算utf-8的字符长度

encode()表示utf-8的字符编码

encode("gbk") 表示gbk编码

截取字符串

字符串属于序列

可以用切片来进行

string[起始值:结束值:步长]

切片时字符串不存在不会报错

索引不存在会出现报错

捕获异常

try:

print(str1[不存在的值])

except IndexError:
print("索引不存在")

p1 = "你知道我的生日吗?"
print("程序员甲说:",p1)
p2 = "输入你的身份证号吗:"
print("程序员乙说:,p2")
idcard = "123456789112345"
print("程序员甲说:",idcard)
birthday = idcard[6:10] + "年" + idcard[10:12] + "月" + idcard[12:14] + "日"
print("程序员乙说:你是" + birthday +"出生的,所以你的生日是" + birthday[5:])

分割和合并字符串

分割字符串

split()

listname = str.split(sep,maxsplit)

sep来指定分割符的 可以包含多字符默认是空白符 (空格、换行符 、
\n、制表符、\t)

maxsplit来表示分割次数、如过我们不指定、或者把值赋值为-1那么表示没有限制能分割多少就分割多少,如果有分割次数那么就分割指定次数+1 ,当使用分割次数参数时候如果指定参数了,那么sep就是必选参数

alt + p调用上一次使用的代码

str1 = "@我 @扎克伯格 @俞敏洪 @勤奋的天使"
list1 = str1.split(" ") #用空格分割字符串
for item in list1:
print(item[1:]) #输出每个好友并且去掉@


扎克伯格
俞敏洪
勤奋的天使

合并字符串

join

strnew = string.join(iterable)

string合并时的分隔符 字符串

iterable可迭代对象 (可以是列表。元组) 中所有对象以字符串来表示

list1 = ["我","扎克伯格","俞敏洪","勤奋的天使"] #好友列表
str1 = " @".join(list1) #用空格和@进行链接
at = "@" + str1 #第一个@我没有@所以要[email protected]
print("你要@的好友为:",at)

你要@的好友为: @我 @扎克伯格 @俞敏洪 @勤奋的天使

检索字符串

count() 检索一个字符串在另一个字符串中出现次数

str.count(sub[,start[,end]]) 如果不存在为0 ,如果存在显示次数

sub表示要检索的子字符串 start表示检索的起始位置 end表示检索的结束位子,可选参数

find() index() 检索是否包含此字符串的

str.find(sub[,start[,end]]) 和count类似返回值是0表示该函数首次出现在第一位

没有找到返回-1 rfind()从右开始查找

str.index(sub[,start[,end]]) 如果没有会抛出异常 rindex()从右开始查找

startwith()是否以此字符串开头

str.startswith(prefix[,start[,end]])

endswith()是否以此字符串结尾的

str.endswith(prefix[,start[,end]])

字母的大小写转换

大写转小写

lower()

对象名.lower()

小写转大写

upper()

对象名.upper()

去除字符串中的空格和特殊字符

特殊字符 \n制表符\r回车符 \t换行符

strip()去除字符串两边的空格和特殊字符

str.strip([chars]) 指定去除字符,没有指定去除\n制表符\r回车符 \t换行符空格

lstrip()去除左侧 空格和特殊字符

str.lstrip([chars])

rstrip()去除右侧空格和特殊字符

str.rstrip([chars])

格式化字符串

使用%操作符

‘%[-][+][0][m][.n]格式化字符‘’%exp

使用字符串对象的format()方法

str.format(args)

{[index][:[fill]align][sign][#][width][.precision][type]]}

index 可选参数如果指定的话那么设置格式对象,在参数列表当中的索引位置从0开始

fill 空白处填充字符对齐方式值 <左对齐 >右对齐 =左对齐,并且把填充内容放在最右侧

sign有无符号 正数 + 负数 - 空格 正数+ 空格

# 指定2、8、16是否加前缀

二进制 0B 八进制0O 十六进制0x

python基础知识(字符串)

评论关闭