python字符串

基本概念

判断一个变量是不是字符串,用isinstance()函数来判断

a='i love python'
print(isinstance(a,str))

#isinstance()函数也可以判断其它类型的

b=90
print(isinstance(b,int))

#True
#True

 字符串用  ‘’  或  “”  来包裹。

索引

正向索引:

从0开始,依次向后

反向索引:

从-1开始,依次向前

str1='i love python'

print(str[0])

print(str[-1])

#i
#n

需要注意:
1.正向索引第一个数字是0,而反向索引第一个数字是-1

2.索引的结果是一个只读的值,不能通过改变索引对应值的方法来修改字符串,否则会报错

str1='i love python'
str1[0]='h'

print(str1)

#TypeError: 'str' object does not support item assignment

在py中,修改字符串的方法是通过字符串拼接来实现的。比如要修改第三个字符,要先取出前两个字符和后两个字符,然后再将这些字符与修改后的字符拼接起来,再赋值给原来的变量。

切片

对字符串进行切片后返回的仍是字符串类型。

str[m:n]返回[m,n]的字符串,(含左不含右)m必须小于n,m,n也可以是负数str[-3,-1](含左不含右)

其具体操作与列表相似

拼接

将数个短的字符串拼接成一个长的字符串,方法主要有:

1. +号连接

2. %号连接

3.  join()函数,可以将一个列表拼接成一个字符串

4.format()函数

5.格式化字符串

#  +号连接
str1='py'
str2='thon'
str3=str1+str2
print(str3)

bar="\u2589"
print("4/10:[" +bar*4+"---"*6+"]")
#4/10:[▉▉▉▉------------------]

#  %号连接
str1='py'
str3='%sthon'%str1
print(str3)

#join()函数

a=','.join(['hello','world','python'])
print(a)

#hello,world,python

特殊字符和转义字符

常用的转义字符

\newline反斜杠加换行全部被忽略
\\反斜杠(\)
\'

单引号(')

\''双引号(")
\n换行符
\r回车符
\t水平制表符(TAB)
\ooo表示一个八进制码位的字符,\141表示字母a
\xhh

表示一个十六进制码位的字符,\x61表示字母a

sql="""
select id,name,accesslevel\
drom user\
where nME=@P1 AND password=@p2
"""
print(sql)

#select id,name,accessleveldrom userwhere nME=@P1 AND
password=@p2  输出结果位一整行,忽略了换行和斜杠

#---------------------------------------------

print("\'")
print('\"')
print("i'm fine,thank you")


#'
#"
#i'm fine,thank you

原始字符串和格式化字符串

原始字符串:就是指在字符串前加先导符 “ r ”/“ R ”之后,字符串的内容都不会被转义。

astr=r"c:\desktop\python\homework.py"

print(astr)

#c:\desktop\python\homework.py

格式化字符串:

调用format()函数

astr="{0:>4}:{1:.2f}".format('价格',10)

print(astr)

#  价格:10.00

0对应第一个参数,1对应第二个参数

格式化规则的书写方法如下:

[对齐方式][符号显示规则][#][0][填充宽度][千分位分隔符][.<小数精度>][显示类型] 

astr="{0:+>20}".format('价格',20)
print(astr)

#++++++++++++++++++价格

默认情况下,填充文本是空格符,可以不写

对齐方式里,<表示左对齐,>表示右对齐,^表示居中对齐,建有的方向就是对齐方向 

字符串的编码

可以使用ord()函数将asc码可显示的字符转换成其对应的数字,也可以使用chr()函数进行反向转换。

>>>chr(97)

#'a'

>>>ard('a')

#97

若要一次性转换很多的字符,要用到字节串字面量,字节串字面量只能保存asc码表中存在的字符以及十六进制码,书写时,需要在字符串前加字母b/B

string=b'i love python'
print(type(string))

print(string[0])

#<class 'bytes'>
#105

字符串的常用操作

类型转换函数:int()  long()  float()  list(),tuple() 等等

表达式转换函数:eval()

price=90
amount=5
a=eval("price*amount")
print(a)

#450

长度计算函数:len()

大小写转换函数:lower(),upper()对非英文字母不起作用

查询函数:find(带查询的字符串,查询的开始位置,查询的结束位置)

字符串分解函数:split(分隔符,切割次数)

print('python#c#c++#java#c'.split('#',2))

#['python', 'c', 'c++#java#c']

切割次数是处理前两个分隔符,分成三段。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值