Python 字符串
Var1="Hello World"
Var2='Runoob'
Python 转义字符
在需要在字符串中使用特殊字符是,Python用反斜杠(\)转义字符。Python 拼接(截取)
var1 = 'Hello World'
var2 = "Runoob"
print ("var1[0]:",var1[0])#截取下标为0的 字符
#输出结果为:var1[0]: H
print ("var2[1:5]:",var2[1:5])#截取下标在1-5的字符,但不包括最后一位
#输出结果为:var2[1:5]: unoo
#截取字符串
#str="1432682635@qq.com"
#获取单个字符串 下标(从0开始)
# print("第一个字符:"+str[0]);
# print(len(str));#字符总长度
# print("最后一个字符:"+str[16]);
# print("最后一个字符:"+str[len(str)-1]);
# print("最后一个字符:"+str[-1]);
切片方法:
#切片方法 [] [:] [: :]
#str="5726758635@qq.com"
# #mystr[1:5]截取1-4下标的字符串;
# print(str[:5]); #从0(0可以不写)开始到结束;不包含最后一位下标
# print(str[:]); #不写表示所有
# print(str[5:]); #丛几开始到结束
# 从后往前;
# print(str[-5:0]);#从-5开始到结尾
# print(str[-5:-2]);#从-5开始到结尾 不包含最后一位
#其中最后一个参数代表步长;(最后一位也可为负数(往后走))
# print(str[::2]);#不写表示所有,2代表步长,每隔两位来一个
# 从后往前 -1-1-1-1-1;一个一个往后走
# print(str[-1:-5:-1]);
# print(str[-1: :-1]); #倒叙
# print(str[::-1]); #倒叙
Python 字符串运算符
下实例中 a 值的变量为字符串“Hello”,b 值的变量为字符串“Python”a = 'Hello '
b = "Python"
print ("a + b 输出结果:",a+b);
print ("a * 2 输出结果:",a*2);
print ("a[1] 输出结果:",a[1]);
print ("a[1:4] 输出结果:",a[1:4]);
if("H" in a):
print("H 在变量 a 中")
else:
print("H 不在变量 a 中")
if("M" not in a ):
print("M 不在变量 a 中")
else:
print("M 在变量 a 中")
print('-------------')
print(a,'\n',b)
print(a,r'\n',b)
print(a,R'\n',b)
输出结果为:
a + b 输出结果: Hello Python
a * 2 输出结果: Hello Hello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
-------------
Hello
Python
Hello \n Python
Hello \n Python
Python 字符串格式化
python 中支持格式化的输出。尽管这样我、肯会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符的%s的字符串中,例如:
#/usr/bin/python03
print ("我叫 %s 今年 %d 岁!"%('Tom',17))
#输出结果为:
#我叫 Tom 今年 17 岁!
Python中的字符串格式化符号:
Python 三引号
Python三引号允许一个字符串跨越多行,字符串中可以包括换行符(\n),制表符(\t空格)等其他特殊字符,para_str ='''这是一个多行字符串的实例,
多行字符串可以使用制表符
(空'\t'格).
也可以使用换行符[这是'\n'换行符]
'''
print (para_str)
#输出结果为:
这是一个多行字符串的实例,
多行字符串可以使用制表符
(空' '格).
也可以使用换行符[这是'
'换行符]
Python 中(Unicode字符串)
Python 的字符串内建函数
python 中的字符串常用的内建函数如下:
Mystr=”hello”
Len(mystr)字符串的长度
count(sub,start=0,end=len(string)):mystr.count(“o”)返回有几个字符,如果指定范围(beg或者end)则返回制定范围内str出现的次数
Capitalize():mystr.capitalize()将字符串的第一个字符转换为大写(单词组的第一个字母)
Title():将每一个单词的首字母大写;每个单词的首字母
Find(str,beg=0,end=len(string)):mystr.find(“l”)找字符串,返回找到的字符串的下标 范围beg=0,end之间
Rfind(str,beg=0,end=len(string))从右边开始找beg-end指定的一个范围
Index():和find()一样,找存在的下标,如果包含子字符串返回开始的索引值,否则发出异常
Rindex():从右边开始找
Find()vs index():如果找不到,index()产生异常,find()则返回-1
Replace():mystr.replace(“ll”,”LL”),但是原字符串不会被改变
Split(str=””,num=string.count(str)):mystr.split(“”):如果split()什么都不写,就是通过\t和空格进行拆分,num=分割几次
Startswith():以xx结尾 返回bool类型
Lower():
Upper():忽略大小写的地方 全部转换为大写 小写
Ljust(int num,str=””),rjust(),center():字符串输出时怎样对齐,括号里面填大小 达到一个新高度 以什么填充
Ljust()右对齐 往左填充
Rjust()左对齐 往右填充
Center()居中 左右填充
去除空格
Strip()去除两端空格,
lstrip()去除右边空格,
rstrip() 去除左边空格
Partition():mystr.partition(“xxx”)以字符串为节点拆分返回头,分割符,尾三个部分 返回头,尾两个孔元素的3个元祖。
***
Splitlines(bool keepends):按照换行符拆分,如果字符串中有“\n”,结果里是否去掉换行符(‘\r’,’\r\n’,’\n’),默认为false,不包含换行符,如果为true,则保留换行符
Isalpha():判断字符串是否是全是字母/文字(汉字)非特殊字符(符号) 返回bool类型
Isalnum():判断字符串是否是数字/字母/文字(汉字)非特殊字符(符号) 返回bool类型
Isdigit():判断字符串是否全是数字 返回bool类型
Join(sequence):将列表组成新的字符串,mystr.join(“”)sequence要拼接列表 mystr链接项
# 0 , a,b为参数,从字符串指针为a 的地方开始截取字符,到b 的前一个位置(因为不包含b)
var1 ="hello world"
print(var1[3:7]);
#输出结果为:
#lo w
#1,如果a,b均不填写,则默认去全部的字符,即下面打印都一样:
print(var1[: ])
print(var1)
#输出结果为:
# hello world
# hello world
#2,如果a 填写, b 不写,(或者填写的值比总值大),则默认从a 开始截取,到字符串的最后一位:
print(var1[3: ])
#输出结果为:
#lo world
#3,如果a 不填写,b 填写,默认从0位置开始截取,至b 的前一个位置
print(var1[ :8])
#输出结果为:
# hello wo
#4,如果a 为负数,则从尾部指定的位子,开始向后截取
print(var1[-4: ])
#输出结果为:
# orld
#5,如果a>=b,默认输出为空
print(var1[14:4])
num=14.23434
print('%.3f'%num )
#输出结果为:14.234
------------------------------------------------------------------------------------------
字符串的截取补充:
a=['h','e','l','l','o','p','y','t','h','o','n']
print (a[::3])
#输出结果为:['h', 'l', 'y', 'o']
使用负数从字符串的右边末尾向左边反索引时,最右侧的索引值是 -1:
str="runoor"
print (str[-4:5])
#输出结果为:noo
partition(sep) --> (head,sep,tail)
从左边像右边遇到分隔符把字符串分割成两部分,返回头(head),分割符(sep),尾部(tail)三部分的三元组,如果没有找到分隔符,就返回头,尾两个空元素的三元组
s1="Im a good sutdent."
#以‘good’为分割符,返回头,分割符,尾三部分
s2=s1.partition('good')
#没有找到分割符‘abc’,返回头,尾两个空元组
s3=s1.partition('abc')
print(s1)
print(s2)
print(s3)
#输出结果为:
Im a good sutdent.
('Im a ', 'good', ' sutdent.')
('Im a good sutdent.', '', '')