字符串编码:Unicode
ord()用于将字符转换为Unicode 码
chr()用于将Unicode 码转换为字符
Eg:
>>> ord("高")
>>> chr("39640")
39640
'高'
字符串定义:单双引号都可定义(三连续单/双引号可进行多行输入)
转义字符:
字符串拼接:
1. 可以使用+将多个字符串拼接起来。
(1) 如果+两边都是字符串,则拼接。(效率上join()更快)
(2) 如果+两边都是数字,则加法运算。
(3) 如果+两边类型不同,则抛出异常。
字符串复制:
使用*可以实现字符串复制。
不换行打印:end=""
print("abc",end="")
print("def")
abcdef
从控制台读取字符串:input()
str()实现数字转型字符串:
>>> str(3.14e2)
’314.0’
使用[]提取字符:
正向搜索:
最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1
为止。
反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)
为止。
replace()实现字符串替换:
a=a.replace("改变前的字符","改变后的字符")
replace本身不改变字符串
字符串切片 slice 操作:
[起始偏移量 start:终止偏移量 end:步长 step]
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始
偏移量小于 0 则会当做 0,终止偏移量大于“长度-1”会被当成-1。例如:
>>> "abcdefg"[3:50]
'defg'
Tip:有头没尾
split()分割和 join()合并:
a.split("分割物") 即以什么分割
>>> a = "to be or not to be"
>>> a.split('be')
"'to ', ' or not to ', ''
a.join("合并物") 即以什么合并
>>> a = ['sxt','sxt100','sxt200']
>>> '*'.join(a)
'sxt*sxt100*sxt200'
字符串驻留机制:就是合法标识符会缓存在同一位置
>>> a = "abd_33"
>>> b = "abd_33"
>>> a is b
True
>>> c = "dd#"
>>> d = "dd#"
>>> c is d
False
常用查找方法:
len(a) 字符串长度
a.startswith('') 以指定字符串开头
a.endswith('') 以指定字符串结尾
a.find('') 第一次出现指定字符串的位置
a.rfind('') 最后一次出现指定字符串的位置
a.count("") 指定字符串出现了几次
a.isalnum() 所有字符全是字母或数字
去除首尾信息:
a.strip("指定字符")去除左右两边指定字符
a.lstrip("指定字符")去除左边指定字符
a.rstrip("指定字符")去除右边指定字符
大小写转换:
a.capitalize() 产生新的字符串,首字母大写
a.title() 产生新的字符串,每个单词都首字母大写
a.upper() 产生新的字符串,所有字符全转成大写
a.lower() 产生新的字符串,所有字符全转成小写
a.swapcase() 产生新的,所有字母大小写转换
其他方法:
isalnum() 是否为字母或数字
isalpha() 检测字符串是否只由字母组成(含汉字)。
isdigit() 检测字符串是否只由数字组成。
isspace() 检测是否为空白符
isupper() 是否为大写字母
islower() 是否为小写字母
format()基本用法:
>>> a = "名字是:{name},年龄是:{age}"
>>> a.format(name="giaohu",age=18)
'名字是:giaohu,年龄是:18'
填充与对齐:
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
>>> "我是{name},我喜欢数字{num:*^8}".format(name="giaohu",num="666")
'我是giaohu,我喜欢数字**666***'
数字格式化:
可变字符串: io.StringIO()
import io
s="Hello,world?"
sio=io.StringIO(s)
sio.seek(11)
sio.write("!")
s=sio.getvalue()
print(s)
'Hello,world!'
标签:字符,数字,基础,指定,偏移量,字符串,name 来源: https://blog.csdn.net/qq_61206761/article/details/122637260
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。