Python数据类型——字符串
万事开头难!大家好,我是傻傻傻傻的新手,本博内容仅为自己学习的体会,仅供与广大的爱好者学习交流,表达心声。别无它意!写的不好的,有误的地方,还请多多指教哦!(Python环境2.7x)
言归正传:———————————————-手动分割线—————————————————
Python数据可以分为以下类型:
1. 数字
2. 字符串
3. 列表和元员
4. 字典(核心)
5. 文件
6. 布尔值
文章概要
1、普通字符串
2、字符串的操作
3、转义字符(不得不强调的一点)
1、普通字符串:
Python 中字符串的表达方式: 以单引号,双引号或者三引号”’SSYanXin520””来赋值表示(通常情况下,三引号用于多行的字符串)
str1='SSYanXin520'
str2="SSYanXin520"
str3='''
我是第一行
我是第二行
我是第三行
'''
其实其主要形式还是和Java等语言一样,只是有细微的不同。上面例子都可以称之为普通字符串,其就是由数字、字母大小写以及汉字字符等组成, 但是当我们需要的字符串里面含有单引号”或者说是一个文件路径(尤其是win平台下的文件路径)还是像上面那样直接书写么?先放到这里,后面给出!
2、字符串常用方法
(1)str.capitalize() 作用:将字符串首个字母大写(所以对于中文或者其它字符开头时是无效的),注意该函数不会修改调用capitalize()函数的字符串str,而是返回一个新的字符串。
(2)str.title() 作用:将字符串中每个“单词”的字母大写。其返回一个新的字符串,不会修改原字符串。可以看出,当吧所有字母连接在一起时,其与capitalize函数“效果”是一样的。其以空格、斜杠等非字母符号为分割符来判定是否是一个单词。此处尝试了几种常见的符号,也可以尝试其他的特殊符号,验证一下是否正确。
(3)str.split() 作用:将字符串按指定字符分割,默认以空格分割,返回一个列表,且不会含有分隔符!str.split([sep[,maxsplit]]) 参数sep指定的分割符,maxsplit 最大的分割数。其二者都是可选的参数。当没有参数时会以空格为分割符。(第二个例子可以看出,返回的结果中是不会包含分隔符的)
(4)str.join() 作用:连接字符串,对原字符串不做修改,返回一个新的字符串。此处的“连接”不同于常见的
可以看出,join方法是把字符串放在两个相同符号的中间,当只有一个字符时,则返回连接符。疑问?当参数是两个不同的字符呢?是一个汉字时是什么效果呢?两个汉字呢?请大家自己尝试一下。
(5)str.count() 作用:返回字符串中某个子字符串的个数,当不含有指定子字符串时返回0。
(6)str.find() 作用:查找字符串中指定子字符串的起始位置,所有字符串位置都是从0开始计算的。当不含有指定子字符串是返回-1.可以看出,当子字符串含有多个字符时,返回的是第一个字符的位置(也可以理解为通常说的下标)。
(7)str.upper() 和str.lower() 作用:改变字母的大小写,upper使小写转换成大写,另外一个则是相反的作用。
(8)str.swapcase() 作用:翻转字符串中字母的大小写,大写变小写,小写变大写。
(9)还有其他的方法:
这些方法返回布尔类型
A:str.isdigit() 作用:检测字符串是否只由0-9组成;
B:str.isalpha() 作用:检测字符串是否由A-Z、a-z组成;
C:str.isalnum() 作用:检测字符串是否由A-Z、a-z、0-9组成;
D:str.islower() 作用:检测字符串是否全为小写字母; isupper()则相反!
其实字符串还有很多方法,在此不一一列举了,小伙伴可以查阅官方文档。
3、转义字符
为何要提转义字符呢?因为这是一个比较棘手的问题,在处理一些问题时会经常遇到的,比如Windows环境中文件路径的问题,例如“F:\FireFox”,当你直接赋值时会报错的。那该如何是好呢?比较笨拙的解决办法“F:\FireFox”,多加一个反斜杠。可能会有疑问为什么这就可以呢?因为此处“\”它已经不是一个简简单单的反斜杠了,其具有了不同的含义——“转义”:
\t 制表符 ;
\n 换行符 ;
\r 回车;
\\ 表示字符‘\’;
\’ 表示一个单引号,而不是字符串结束;
\”表示一个单引号,而不是字符串结束;
这些只是常见的一些,想了解更多可以百度一下。
有人可能会说,如果像上面那样手动加反斜杠,要是路径很深,有很多路径时,那岂不是要加到手软。
这时候就要介绍另外一个知识点:原始字符串,何为原始字符串?如何表示原始字符串呢? str=r”c:\user”,形如这样。大写R或者小写r都可以,其实说明后面这个这个字符串中所有字符都只是普通的字符,无特殊含义。
滴滴滴!欢迎大家留下宝贵的意见与建议。如果有想问的也可以留言哦,如果是我会的,我愿意效劳!