前面简单介绍了Python基本运算,这里再来简单讲述一下Python字符串相关操作
1. 字符串表示方法
> "www.jb51.net" #字符串使用单引号(')或双引号(")表示 'www.jb51.net' > 'www.jb51.net' 'www.jb51.net' > "www."+"jb51"+".net" #字符串可以用“+”号连接 'www.jb51.net' > "#"*10 #字符串可以使用“*”来代表重复次数 '##########' > "What's your name" #单引号中可以直接使用双引号,同理双引号中也可以直接使用单引号 "What's your name" > path = r"C:\newfile" #此处r开头表示原始字符串,里面放置的内容都是原样输出 > print(path) C:\newfile
2. 字符串运算
> str1 = "python test" > "test" in str1 #这里in用来判断元素是否在序列中 True > len(str1) #这里len()函数求字符串长度 11 > max(str1) 'y' > min(str1) ' '
3. 字符串格式化输出(这里重点讲format函数)
> "I like %s" % "python" #使用%进行格式化输出的经典表示方式 'I like python' > dir(str) #列出字符串所有属性与方法 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
① format(*args,**kwargs)
采用*args赋值
> str = "I like {1} and {2}" #这里{1}表示占位符(注意:这里得从{0}开始) > str.format("python","PHP") Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> str.format("python","PHP") IndexError: tuple index out of range > str = "I like {0} and {1}" > str.format("python","PHP") 'I like python and PHP' > "I like {1} and {0}".format("python","PHP") 'I like PHP and python' > "I like {0:20} and {1:>20}".format("python","PHP")#{0:20}表示第一个位置占据20个字符,并且左对齐。{1:>20}表示第二个位置占据20个字符,且右对齐 'I like python and PHP' > "I like {0:.2} and {1:^10.2}".format("python","PHP")#{0:.2}表示第一个位置截取2个字符,左对齐。{1:^10.2}表示第二个位置占据10个字符,且截取2个字符,^表示居中 'I like py and PH ' > "age: {0:4d} height: {1:6.2f}".format("32","178.55") #这里应该是数字,不能用引号,否则会被当作字符串而报错! Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> "age: {0:4d} height: {1:6.2f}".format("32","178.55") ValueError: Unknown format code 'd' for object of type 'str' > "age: {0:4d} height: {1:8.2f}".format(32,178.5523154) #这里4d表示长度为4个字符的整数,右对齐。8.2f表示长度为8,保留2位小数的浮点数,右对齐。 'age: 32 height: 178.55'
② format(*args,**kwargs)
采用**kwargs赋值
> "I like {str1} and {str2}".format(str1 = "python",str2 ="PHP") 'I like python and PHP' > data = {"str1":"PHP","str2":"Python"} > "I like {str1} and {str2}".format(**data) 'I like PHP and Python'
小结:对齐方式为:
<
左对齐
>
右对齐
^
居中对齐
4. 字符串函数
> # isalpha()判断字符串是否全部为字母 > str1 = "I like python" #这里str1里面有空格 > str1.isalpha() False > str2 = "pythonDemo" #这里为全部是字母 > str2.isalpha() True > # split()分割字符串 > smp = "I like Python" > smp.split(" ") ['I', 'like', 'Python'] > # strip()去除字符串两端空格 ,类似的,lstrip去除左侧空格,rstrip去除右侧空格 > strDemo = " python demo " > strDemo.strip() #类似于php中的trim()函数 'python demo' > "****python**".strip("*") #strip()函数还可删除指定字符 'python'
字符串常用函数【转换、判断】
split()
分割字符串
strip()
去除字符串两端空格
upper()
转大写
lower()
转小写
capitalize()
首字母转大写
title()
转换为标题模式(字符串中所有首字母大写,其他字母小写)
swapcase()
大写转小写,小写转大写(如:"I Like Python".swapcase() 得到i lIKE pYTHON)
isupper()
判断字母是否全部为大写
islower()
判断字母是否全部为小写
istitle()
判断是否为标题模式(字符串中所有单词首字母大写,其他小写)
isalpha()
判断字符串是否全部为字母
isdigit()
判断字符串是否全部为数字
isalnum()
判断字符串是否仅包含字母与数字
> #字符串拼接(对于+不适用的情况下可以使用) > smp = "I like Python" > c = smp.split(" ") > c = "I like python".split() > type(c) #这里检测类型,可以看到c为列表 <class 'list'> > "*".join(c) 'I*like*Python' > " ".join(c) 'I like Python' > " ".join(["I","Like","python"]) #这里可以直接使用列表作为join函数的参数 'I Like python' > " ".join("abcd") #也可直接使用字符串作为join函数的参数 'a b c d' > # count()函数统计指定字符串出现次数 > "like python,learn python".count("python") 2 > # find()函数查找指定字符串出现位置 > "python Demo".find("python") 0 > "python Demo".find("Demo") 7 > # replace(old,new)函数替换指定字符串(old)为新字符串(new) > "I like php".replace("php","python") 'I like python'
简单入门教程~
基本一看就懂~O(∩_∩)O~
未完待续~~欢迎讨论!!