Python入门之数据类型-字符串类型

一、字符串的定义

使用单引号或双引号来创建字符串, 使用三引号创建多行字符串。双引号中可以嵌套单引号,单引号中可以嵌套双引号。但是单引号嵌套单引号或者双引号嵌套双引号就会出现歧义。类如:

 二、字符串的运算

a='string'

b='Python'

运算描述示例
+字符串拼接(速度慢)a+b='stringPython'
*将字符串重复多少次a*2='stringstring'
[]通过索引获取字符串中的字符a[0]='s'
[:]截取字符串的一部分a[1:3]='tr'
in成员运算符 - 如果字符串中包含给定的字符返回True't' in a输出True
not in成员运算符 - 如果字符串中不包含给定的字符返回True's' not in a输出False
r/R原始字符串:所有的字符串都是直接按照字面的意思来使用print(r'/n')输出/n

与数字类型一样,字符串也是不可变类型,字符串本身是不可修改的,类如:

 三、常用内置方法

方法描述示例
string.count(str, beg=0,end=len(string))返回str在string里面出现的次数,如果 beg 或者end指定则返回指定范围内str出现的次数'Python’'.count('y')=1
string.find(str, beg=0,end=len(string)检测str是否包含在string中,如果beg和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

'Python'.find('th')=2

'Python'.find('oo')=-1

string.index(str, beg=0,end=len(string))

跟find()方法一样,只是如果str 不在string 中会报一个异常'Python'.index('oo')抛出异常
string.isdigit()如果string只包含数字则返回True,否则返回False'123'.isdigit()=True
string.join(seq)以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串','.join('Python')='P,y,t,h,o,n'
string.lower()转换string中所有大写字符为小写'Python'.lower()=python'
string.replace(str1, str2, num=string.count(str1))把string中的str1替换成str2,如果num指定,则替换不超过num次'PythonPython'.replace('ython','ay',1)='PayPython'
string.split(str="", num=string.count(str))以str为分隔符切片 string,如果num有指定值,则仅分隔num个子字符串'P,y,t,h,o,n'.split(',')=['P', 'y', 't', 'h', 'o', 'n']
string.startswith(obj, beg=0,end=len(string))检查字符串是否是以obj开头,是则返回True,否则返回 False。如果beg和end指定值,则在指定范围内检查'Python'.startswith('P')=True
string.strip([obj])删除string字符串两端的空格' ccc '.strip()='ccc'
string.upper()转换string中的小写字母为大写'Python'.upper()='PYTHON'

四、多行字符串

可以使用三引号(单引号或双引号都可以)来编写跨行字符串,类如:

五、格式化字符串

1、%

'Hello %s' % 'Python'
"i'm %s, %d years old" % ('ccc',18)

%s 表示用字符串替换,%d 表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略.。

常见的占位符有:

占位符替换内容
%s字符串
%d整数
%s浮点数
%x十六进制数

2、format

简单的 format 格式化方法基本有两类:

  • 位置参数
  • 关键字参数

位置参数:{0}、{1}、{2},使用时必须按顺序,不能随意调整,类如:

# 'I am ccc,18 years old'
# 18是第一个参数,对应{0},'ccc'是第二个参数,对应{1}
fs = 'I am {1},{0} years old'.format(18, 'ccc')

关键字参数:{name}、{age},使用时必须以键值对的方式,可以随意调整顺序,类如:

# 'I am ccc,18 years old'
fs = 'I am {name},{age} years old'.format(name='ccc', age=18)

3、f-Strings

Python3.6开始支持,语法与 str.format()使用的语法类似,只需要在格式化字符串前加f或F即可,类如:

name,age='ccc',18
# 'I am ccc,18 years old'
fs = f'I am {name},{age} years old'

 格式化时,可以使用函数、字典、对浮点数精度做限制等等,可以使用{{}}获取到{,}类如:

name,age='ccc',18.123
# 'I am CCC,18.12 years old'
fs = f'I am {name.upper()},{age:.2f} years old'
# '字典{"name":"ccc"}'
fs1 = f'字典{{"name":"ccc"}}'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值