python--字符串

#一、字符串本质

'''

字符串的本质是字符序列

字符串的基本特点:python中字符串是不可变的,无法对原字符串做任何修改,但是可以将字符串的一部分复制到新创建的字符串中

内置函数ord()可以把字符串转换成对应的unicode码

内置函数chr()可以把十进制数字转换成对应字符

python中允许创建空字符串

'''

a="abc"

print(a)

a=ord("b")

print(a)

a=chr(12)

print(a)

a=""

print(len(a))

a='''name="sj",\\

age='36',\\

lover='zd'

'''

print(a)

#二、转义字符

'''

转义字符:使用“\\+特殊字符”

\\:行尾,续行符

\\\\:反斜杠符

\\':单引号

\\b:退格

\\n:换行

\\t:横向制表符,占4个位置

\\r:回车

'''

a="姓名='sj',\\\\年龄='36',\\\\职业='教育'"

print(a)

a="姓名='sj,\\'年龄='36',\\'职业='教育'"

print(a)

a="姓名='ss',\\b年龄='36',\\b职业='教育'"

print(a)

a="姓名='ss',\\n年龄='36',\\n职业='教育'"

print(a)

a="姓名=ss',\\r年龄='36',\\r职业='教育'"

print(a)

a="姓名='ss',\\t年龄='36',\\t职业='教育'"

print(a)

#三、字符串拼接

'''

使用+将多个字符串拼接

两边都是字符串,则拼接

两边都是数字,则加法运算

两边类型不同,则报错

*,实现字符串的复制

'''

a=12

b=34

c="aa"

d="bb"

print(c*5)

print(c+d)

print(a+b)

#print(a+c)报错,不同类型

#四、不换行打印:可以通过参数 end="任意字符串"

print("123",end='')

print("123",end='&&')

print('\\n')

#五、input()从键盘读取输入的内容

a=input("我的名字:")#input()内不能有多个参数

print(a)

#六、str(),实现数字转型字符串,使用[]提取字符

a=str("1234.5678")

print(a)

print(a[2])

# 七、replace(),实现字符串替换,并创建新字符串,并不是修改之前的字符串

a='123'

a=a.replace("2","s")

print(a)

#八、字符串的切片,slice操作

'''

格式:[起始偏移量star:终止偏移量end:步长step]

如果只有起始和终止,包头不包尾

如果[:],则为取整体字符串

如果起始、终止、步长为负值,则为反向截取

'''

a='abcdefghijklmnopqrstuvwxyz'

print(a[0:6])

print(a[:])

print(a[:30])

print(a[::2])

print(a[:9:])

print(a[::-1])#步长为-1,从右向左反向提取

print(a[-25:-1])

print(a[-26:-4:2])

#九、split()分割和join()合并

a="abcdefghijklmnopqrstuvwxyz"

b='1234'

print(a.split())

print(a.split("abcdefg"))

print(a)

print(b.join(a))

print("字母".join(a))

#十、字符串驻留机制和字符串比较,对于符合标识符规则的字符串(下划线、字母、数字)会启用字符串驻留机制

a='123'

b='123'

c='123*'

d='123*'

print(a is b)

print(c is d)#这里课件有问题,不仅包含下划线、字母、数字

print(id(c))

print(id(d))

#十一、字符串的常用方法

'''

len():长度

startswith():以指定字符串开头

endswith():以指定字符串结尾

find():第一次出现指定字符串位置

rfind():最后一次出现指定字符串位置

count():指定字符串出现次数

isalnum():所有字符全是字母或数字

strip():去除字符串首尾指定信息

capitalize():首字母大写

title():每个单词首字母大写

upper():所有转换成大写

lower():所有转换成小写

swaplase():所有字母大小写互换

center():居中对齐

ljust():左对齐

rjust():右对齐

其他方法:

isalpha():检测字符串是否由字母组成

isdigit():检测字符串是否由数字组成

isspace():检测字符串是否由空白符组成

isupper():检测字符串是否大写

islower():检测字符串是否小写

strip():去除指定字符串

lstrip():去除左侧指定字符串

rstrip():去除右侧指定字符串

'''

a='abcdefghijklmnopqrstuvwxyz'

b='name age lover'

c='123'

d=' '

print(len(a))

print(a.startswith("a"))

print(a.endswith('z'))

print(a.find('a'))

print(a.rfind('b'))

print(a.count("c"))

print(a.capitalize())

print(a.upper())

print(a.lower())

print(b.title())

print(b.swapcase())

print(b.center(100,"&"))

print(a.isalpha())

print(c.isdigit())

print(d.isspace())

#十二、字符串的格式化,函数str.format(),基本语法通过{}和:来代替之前的内容

#填充和对齐,^、分别是居中、左、右对齐,一般后面带宽度:后面带填充的字符,只能是一个字符,不指定默认用空格填充

a='我的名字是:{0},我的年龄是:{1}'

print(a)

print(a.format('sj','36'))

b='我的名字是:{name},我的年龄是:{age},{name}是个好小伙'

print(b.format(name='sj',age='36'))

c="123"

print("{:*>8}".format(c))

print("我的名字是:{name},我的年龄是{age:^61}".format(name='sj',age='36'))

#十三、可变字符串:使用io.stringio对象或array模块原地修改字符串

import io #引入io模块

a='hello word'

b=io.StringIO(a)#b为定义一个变量

print(a)

b.seek(7)#找到位置为7的值

b.write("g")#将上面找到的值修改

print(b.getvalue())

#基本运算符

'''

逻辑运算符:与and、或or、非not

同一性判断:is is not

比较运算:、>=、!=、==

位操作:或|、异或^、与&

移位:<>

按位反转:~

算数运算:+、—、*、/、//、%、**

优先级:实际使用中使用小括号来组织运算,位运算和算数运算>比较运算>赋值运算>逻辑运算

'''

a=3

b=a<<3#右移3位,每移动1位乘以2

c=a>>1#左移2位,每移动1位除以2

print(b)

print(c)


分享到:


相關文章: