字符串: 是由单引号或双引号括起来的文本(不包含引号)
字符串操作:
字符串连接: str1=str2+str3
输出重复字符串: str1=str2 * 3
访问字符串中的某个字符:
通过下标访问第 i 字符: 字符串名[下标 i], 字符串中包含文字也可以, 一个文字相当于一个字符, 虽然它可能占有 2-4 个字节.
字符串不可变:
一旦字符串放在了内存之中, 则该内存中的字符串无法改变, 数字类型同理.
例如: 想要修改字符串 str1 里的单个字符. str1='yuliangiloveyou' . 由于字符串无法改变, 表达式 str1[1]='a'是错的, 不可能执行成功.
如果想改变一个字符串变量, 只能通过修改引用.
例如: str1='yuliangiloveyou'.id(str1)=94618624. 使用 str1='iloveyouyuliang'语句. id(str1)=94619456. 由于两次 id 不一样可知后面的赋值语句改变的是字符串引用, 而不是内存里面的字符串.
字符串存到内存的过程:
例如:'a'
a 通过 ASCII 码表 -十进制数字 -二进制数据
截取字符串中的一部分:
str2[[start,] [:stop]], 截取字符串 str2 的 [start,stop) 区间中的字符, 若 start 和 stop 全部省略, 则打印 str2 整个字符串.
判断 str1 是否在 str2 中:
str1 in str2: 若 str1 为 str2 的子字符串, 则返回 1, 否则返回 0.
格式化输出:
%d ,%s,%f: 格式化占位符 优点: 在打印多个数据的时候很方便
print('%s %d%.3f' %(str1, num1,float1)) 优点: 在打印多个数据的时候很方便
\: 转义字符(将一些字符转换成有特殊含义的字符)
\n 表示一个字符, 功能是换行
\\: 输出一个 \
\': 输出一个'
\": 输出一个"
\t: 制表符(windows 默认相当于 4 个空格, linux 默认相当于 8 个空格).
如果字符串内有很多换行, 用 \ n 写影响阅读. 可以用如下形式:
print("""goog
dddd
rer""")
如果字符串里面有很多个字符需要转义, 就需要很多个 \, 为了简化, python 允许用 r 表示内部字符串默认不转义(windows 用 \ 连接各个目录, linux 用 / 连接各个目录).
print(r'\q\w\r\t\y\u\\gfg\dfasd\"\fasd'\')
有关字符串的函数:
eval(str): 将字符串 str 当成有效的表达式来求值, 并返回计算结果. 和强制转换 int()函数类型, 不过要强与 int()
例子: num1=eval("123")------>num1=123 跟 int()一样
num1=eval('12+3')----->num2=5 比 int()要强
len(str): 返回字符串长度.
str.lower(): 将 str 中的大写字母转换成小写字母. str 本身不会改变, 因为字符串变量是不可一改变的变量, 它只是重新开辟了一个内存空间, 将转换后的字符串放在新的内存空间里面.
str.upper(): 将 str 中的大写字母转换成小写字母..................................(其他同上).
str.swapcase(): 小写变大写, 大写字母为小写字母.................................(其它同上).
str.capitalize(): 首字母大写.
str.title(): 把字符串里面的每个单词的首字母大写.
str.center(width,fillchar): 设置该字符串的长度为 width, 将 str 字符串居中, 其他位置用 fillchar 填充, 返回新字符串.
str.ljust(width[,fillchar]): 设置该字符串的长度为 width, 将 str 字符串左对齐, 其他位置用 fillchar 填充, 返回新字符串.
str.rjust(width[,fillchar]): 设置该字符串的长度为 width, 将 str 字符串右对齐, 其他位置用 fillchar 填充, 返回新字符串.
str.zfill(width): 设置字符串的长度为 width, 右对齐, 其他位置填充 0 字符.
str.count(str1[,start][,end]): 返回 str 中 str1 出现的次数, 搜索范围是[start,end), 默认搜索范围是[0,len(str) )
str.find(str1[,start][,end]): 在 [start,end) 中从左至右寻找 str1 是否包含在 str 中, 若 str1 包含在 str 中, 返回第一个查找到的下标, 若 str1 不存在, 则返回 - 1
str.rfind(str1[,start][,end]): 在 [start,end) 中从右至左寻找 str1 是否包含在 str 中, 若 str1 包含在 str 中, 返回第一个查找到的下标, 若 str1 不存在, 则返回 - 1
str.index(str1,start=0,end=len(str)): 跟 find 方法一样, 若 str1 不存在, 则产生异常 ValueError
str.rindex(str1,start=0,end=len(str)): 跟 rfind 方法一样, 若 str1 不存在, 则产生异常 ValueError
str.lstrip([char]): 删掉 str 左侧指定的字符 char, 默认删除空格
str.rstrip([char]): 删掉 str 右侧指定的字符 char, 默认删除空格
str.strip([char]): 删掉 str 左侧和右侧的字符 char, 默认删除空格
来源: http://www.bubuko.com/infodetail-2646234.html