python 基础 之 字符串

Str 字符串

python 字符串str是在Python编写程序过程中,最常见的一种基本数据类型


A、创建字符串

a=str('字符串')

a='这样也是字符串'

astr='我是字符串'  #使用单引号或是双引号来创建
bint=123   #这是一个int类型
bstr=str(bint)  #str()可以用来把List,dict,int,float这些类转为字符串

#输入出结果及类型
print(astr,type(astr))
print(bint,type(bint))
print(bstr,type(bstr))

#输出

 我是字符串 <class 'str'>
 123 <class 'int'>
 123 <class 'str'>

 

 


B、三引号"""  """

1、定义字符串

2、解释说明

3、文档字符串,主要用在类(calss)里面,使用 __doc__

atstr="""
        我这里可以这样写
        我的排列,输出来就这样
 我怎么排,输出就怎么样
        """

输出结果:

        我这里可以这样写
        我的排列,输出来就这样
 我怎么排,输出就怎么样

 


C、python用反斜杠(\)转义字符

转义字符	    描述
\(在行尾时)  续行符
\\	   反斜杠符号
\'	   单引号
\"	   双引号
\a	   响铃
\b	   退格(Backspace)
\e	   转义
\000	   空
\n	   换行
\v	   纵向制表符
\t	   横向制表符
\r	   回车
\f	   换页
\oyy	   八进制数,yy代表的字符,例如:\o12代表换行
\xyy	   十六进制数,yy代表的字符,例如:\x0a代表换行
\other	   其它的字符以普通格式输出

 


1、原始字符串  

使用r 表示原始字符串 如:(r'C:\Python\Python36\Scripts') 

 


D、字符串格式化。

1、 % 格式化符

print('我叫 %s 今年 %d 岁!' % ('小明', 10))

#输出结果:
我叫 小明 今年 10 岁!

 

符   号	描述
%c	 格式化字符及其ASCII码
%s	 格式化字符串
%d	 格式化整数
%u	 格式化无符号整型
%o	 格式化无符号八进制数
%x	 格式化无符号十六进制数
%X	 格式化无符号十六进制数(大写)
%f	 格式化浮点数字,可指定小数点后的精度
%e	 用科学计数法格式化浮点数
%E	 作用同%e,用科学计数法格式化浮点数
%g	 %f和%e的简写
%G	 %f 和 %E 的简写
%p	 用十六进制数格式化变量的地址

  

 2、.format() 格式化 使用到 {}(大括号)

print('我叫 {} 今年 {} 岁!'.format('小明',10))

#输出结果:
我叫 小明 今年 10 岁!

 


E、字符串运算符 astr='Holle'  、bstr='Python'

1、+ 字符串连接 astr+bstr

cstr=astr+bstr
print(cstr)

#输出结果:
HollePython

2、* 重复输出字符串 astr*3

print(astr*3)

#输出结果:
HolleHolleHolle

3、[] 通过索引获取字符串中字符 astr[0]

print(astr[0])

#输出结果:
H

4、[ : ] 截取字符串中的一部分 astr[1:4],从索收 1到4,不包含4

print(astr[1:4])

#输出结果:
oll

正向

 

反向

 

5、[::-1]反转字符串 (-1反向)

print(astr[::-1])

#输出结果:
elloH

 


6、判断

6.1、in 成员运算符 - 如果字符串中包含给定的字符返回 True

print('H'in astr)

#输出结果:
True

6.2、not in 成员运算符 - 如果字符串中不包含给定的字符返回 True

print('H'not in astr)

#输出结果:
False
#--------------------------------
print('A'not in astr)

#输出结果:
True

 


F、字符串内置函数

1、strip()用于移除字符串头尾指定的字符(默认为空格)另外还有 strip('需要移除的符号')

a='   $#$#holle python     '
c=a.strip()
d=c.strip('$#')
print(c)
print(d)

#输出结果:
$#$#holle python

holle python

1.1 .lstrip() 移除左边空格

a='   lstrip   '
print(a.lstrip())

#输出结果:
lstrip   

1.2.rstrip()移除右边空格

a='   lstrip   '
print(a.rstrip())

#输出结果:
   lstrip

2、replace(x,y,z)替换字符,传入参数3个,前两个是必传,

第一个是要替换的原有子字符串,第二个是需要替换的新子字符串,第三个是最大的替换次数,不填写默认全部替换

dstr='我是小明,小明的小明'

print(dstr.replace('小明','小白'))

print(dstr.replace('小明','小白',2))#传入第三个参数,最大替换2次

#输出结果:
我是小白,小白的小白
我是小白,小白的小明

3、index()、find() 查找字符串中是否包含子字符串并返回字符串索引位置

3.1、index()查找,找到则显示字符串所在的索引位置

aindex='我的名字叫小明'

print(aindex.index(''))

#输出结果:
2

3.2、index()如查找的不存在则报错

aindex='我的名字叫小明'

print(aindex.index(''))

#输出结果:
ValueError: substring not found

3.3、find()查找,找到则显示字符串所在的索引位置(默认从左边开始查找)

aindex='我的名字叫小x'

print(aindex.find('x'))

#输出结果:
6

3.4、rfind()从右边开始查找,找到则显示字符串所在的索引位置

aindex='我的名字叫小x'

print(aindex.rfind('x'))

#输出结果:
6

3.4、 find()与rfind()如查找不到则返回-1

aindex='我的名字叫小x'

print(aindex.find('s'))

#输出结果:
-1

 


E、字符串比较

使用到operator需要导入 :from operator import lt ,le,gt,ge,eq

lt 相当于: < 、le 相当于:<= 、gt 相当于:> 、ge 相当于:>= 、eq 相当于:==

*这里例子用到字母比较,从26个字母a开始,最开始的a 是最小的,越往后越大。

ator='abc'
btor='hij'

print(lt(ator,btor))

#输出结果:
True
print(le(ator,btor))

#输出结果:
True
print(gt(ator,btor))

#输出结果:
False
print(ge(ator,btor))

#输出结果:
False
print(eq(ator,btor))

#输出结果:
False

 


F、字符串字母转换

1、字母小写转大写 upper()

abi='abcde'

print(abi.upper())#字母小写转大写

#输出结果:
ABCDE

2、字母大写转小写 lower()

 

axi='ABCDE'
print(abi.lower())#字母大写变小写

#输出结果:
abcde

3、标题化--首字母大写 title()

axi='ABCDE'

print(axi.title())#标题化,首字母大写

#输出结果:
Abcde

4、大小写反转 --- 小写转大写,大写转小写 swapcase()

abx='aBcdEfGHijKL'

print(abx.swapcase())

#输出结果:
AbCDeFghIJkl

5、分割字符串并放入一个 list()内   ----- .split()

asp='a b c d e'
print(asp.split())

#输出结果:
['a', 'b', 'c', 'd', 'e']

5.1、.split(',') 分割,字符串并放入一个 list()内

aspb='a,b,c,d,e'
print(aspb.split())

#输出结果:
['a,b,c,d,e']

 6、join()拼接字符串

ajo='abcd'
bjo='$'.join(ajo)#使用$连接字符串

print(bjo)

#输出结果:
a$b$c$d

7、字符串对齐 ljust() 、rjust() 、center()

ajust='python'
print(ajust.ljust(50,'-'))#向右以-补对齐50

#输出结果:
python--------------------------------------------
print(ajust.rjust(50,'-'))#向左以-对齐50

#输出结果:
--------------------------------------------python
print(ajust.center(50,'-'))#以- 50两向中间对齐

#输出结果:
----------------------python----------------------

8、判断字符开头与结尾字符 startswith()、endtswith()

asta='holle python'

print(asta.startswith('ho'))  #判断以ho开头

#输出结果:
True
asta='holle python'

print(asta.endswith('on'))  #判断以on结尾

#输出结果:
True

9、计算字符串中的子字符串出现几次 count()

acou='xi in xi cc bbi dd'

print(acou.count('xi'))#计算 xi 在acou中出现几次

#输出结果:
2

10、zfill() 返回指定长度的字符串,原字符串向右对齐,前面以0充。

ajust='python'

print(ajust.zfill(10)) #返回长度为10的字符串,向右对齐以0填充

#输出结果:
000000000python

 

 

#其它Python 的字符串常用内建函数点击查看》》》》》》》》》》

 

转载于:https://www.cnblogs.com/khaha/p/7723036.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值