哈咯i 、 大叫好 。 今天看了 Python 中的字符串,在我看来不管是那一门编程语言,也不管是什么地方 字符串类型的操作永远是非常重要的、因为我个人感觉其实解决很多问题的时候 本质 都是一些字符串的操作。恩对没错就是这样。 好 来看看Python中的字符串类型和它的简单操作吧!!
在Python中 创建字符串可以有多种方式 ,第一种可以是大家常见的 " 若干字符 " 利用 “ ” 来创建一个字符串,这与其他编程语言也是一样的 比如 C/C++
还用一种可以利用 ‘ 若干子符 ’ 来创建一个字符串。 就是 幸亏 我好久没写 C/C++ 的代码了。否则是绝对接受不了这个现实的 ,因为大家都知道 ‘ ’
在 C/C++ 中只能表示一个字符 要是放一个字符串进去 那肯定是会报error!的 呃呃俄呃呃,
第三种就是 Python中可以用 ''' 若干字符 ‘’‘ 来创建一个多行字符串就可以是多行的’ 因为我们知道 “ ” ‘ ’ 创建的如果没有 \ 这个转义字符 那肯定是报 error的 ! 当然 我们也可以用 " " 和 ‘ ’ 在利用上转义字符也可以创建多行的 , 恩@ 当然直接利用 ''' ''' 当然更好阿!
当然Python提供多的字符串创建方法是有方便之处的、 比如 如果我们在一个符串中想表示(既想让字符串里面包含) " 或者 ‘ 号 如果 那创建字符串的方式要与包含的 不一致 这样才不会引发qi意 是吧 比如 当然也可以使用我们熟悉的转义字符咯! 如:
另外也和其他编程语言一样 我们可以 用索引 去获取字符串当中的某个字符 当然下标是从 0 开始的 恩! 程序猿数数都是从 0 开始的 ‘’‘’‘’‘’‘
当然Python不仅 提供了正向递增序列索引 还提供了反向递减序列索引 正向从 0 开始递增,反向从 -1 开始递减、 恩 没错 有的时候 还是很方便的是吧! 这个特征!
.
呃呃俄 好 接下来看看 Python中字符串的操作符 :
x + y 直接连接两个字符串 x 和 y
x * n 复制 n 次字符串 、 这里当然 n 肯定为整数咯!
x in s 这个我感觉就比较厉害了 , 他的作用是判断 若 x 为 字符串 s 的字串 则 返回布尔值 Ture 否则 返回 False : 如
.
好现在来 看看几个 Python 处理字符串的函数 、
1 : len(X) 该函数返回字符串的长度
2: str(x) 该函数就比较厉害了,它能够将任意类型的 x 转换成 字符串类型 最通俗理解就是 给它两边加了个 “ ” 呗!
这里就有必要像起来个 eval(x) 函数了 这个函数也比较厉害了、我感觉最通俗说 就是它可以将 x 字符串 两边的 (不管你是) ‘ ’ 、 “ ”
还是 ''' ''' 都给你去掉 、 完全和 str的作用相反 比如:
恩!对 一看就明白了!
3: hex(X) 和 oct(x) 将整数的 x 转换为 16进制和8进制 数的形式的字符串、结果是一个字符串 比如 hex(425)因为425的16进制形式为 0x1a9 所以这个函数的
返回值就是 "0x1a9" 就变成一个字符创咯、、、
4:chr(u) 和 ord(x) 这两个函数的作用就是提供 Unicode编码与 字符之间的转换作用的、其中 chr(u) u 是其Unicode编码 该函数返回对应的字符、ord(x) x是一 个字符 该函数返回其 Unicode 编码! so、 比如:
比如我知道 12星座的 Unicode编码 我就可以 得到其对应字符、
Python使用的是 Unicode 编码方式 Unicode编码方式几乎覆盖所有字符 、 包括 汉字 这也说明了在 Python3 里面 可以用 汉字 作为变量来使用也是因为 Python 人家可用的是 Unicode 编码!!!
好 来体验一下 面向对象编程的体验、 一些对字符串的的处理功能。
我们可以用 str.lower() 函数 该函数返回 str字符串的副本、并且将里面所有的 字母改成小写,而与之对应的 str.upper() 函数可以将字符串 str 里面的所有字符转换成 大写 比如 " Amerian ".upper() 返回的就是 "AMERIAN"
str.split(set = None) 该函数返回一个列表,由str根据sep被分割的部分组成。set为其str的字串 ,返回一个列表所谓列表既 有一系列值组成的序列,值与值之间用逗号隔开 由 [ ] 包裹。 当然 set 有默认值 如果 str.split() 像这样 那么默认就是被空格分割。返回一个列表 比如
呃呃俄 忽视沃 world 写错了!!
第一个 print l里面的字符串 我们 用 'o' 去分割并且返回一个列表 就如我们所看到的那样儿!
第二个 print 因为 我试图用 'S' 去分割 但是 str字符串里 没有 ‘S’ 字符串所以就没分割开、
str.count(sub) 这个就比较简单了也比较直观 该函数返回 str 字符串中 字串 sub 出现的次数
str.replace(old,new) 返回str字符串的副本,其str 中所有的 old 字串 被替换成 new
str.center(width[,fillchar]) 该函数返回 字符串根据 withd 宽度 居中 ,fillchar为可选参数 根据宽度居中,那剩下的就用 fillchar 填充哦。若不提供fillchar参数默认为 空格 填充!
.
str.strip(chars) 该函数的作用是 去掉在其左侧和右侧chars中列出来的字符,(想想Python这家伙还廷方便的这要是在C/C++)你还得自己写个函数或者写个类
那可要这边直接调用就好了) 比如 :
观察其特点,发现这函数是从两边开始 去 的。
str.join(iter) 它的作用刚好与 split() 基本相反!--------
唉! 好累 去歇会儿、、、、、、、、、、