#一、字符串本质
'''
字符串的本质是字符序列
字符串的基本特点: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)
閱讀更多 愛簡單11 的文章