字符串
1.单引、双引号都可以定义字符串 name='tom';name1="tomcat";print(name,name1); 2.三个单引号或三个双引号能够使变量的赋值跨行排列与输出结果一致转义字符:\t代表一个制表符(一个空位);\n代表自动换一行;多用来修饰代码的排列方式达到美观效果。html='''<html><hand>\t</hand><body> \n
</body>
</html>''';
print(html)
3.截取字符串
str="zhangsan@qq.com"; 切片 [] [:] [ : : ] 获取单个字符 在[]里填写该字符串所对应的下标(左从0开始数) print("第一字符:"+str[0]) print(len(str))获取字符串的长度 获取字符串最后一个字符的几种方式: print("最后一个字符:"+str[14])用实际下标表示 print("最后一个字符:"+str[len(str)-1])用公式表示 print("最后一个字符:"+str[-1])又数第一位下标是-1 多个字符截取: 从左向右:str[a:b] str[a:b];a 表示从下标第几位开始,b表示到下标第几位,截取的长度只包括b的前一位 (str[:5]) #从零(0可省略)开始到下标5的前一位 print(str[:]);#整个字符串 print(str[5:]); #从下标5开始到结束 print(str[-5:]); #从-5到结尾 print(str[-5:-2]); #从-5到结尾 不包含后一位 从右往左:得到的是反向字符串 print(str[a:b:c]);a,b同上,c表示步长 print(str[-1:-5:-1]); print( str[-1::-1]) #倒叙 print(str[::-1]) #倒叙 4.in或not in判断字符是否在该字符串中存在得到布尔值 email ="hang@bdqn.cn"; print("an in email:"+ str( 'an' in email )); print("at not in email:"+ str( 'at' not in email )); r/R:原样输出字符串, 取消特殊性(字符串前面加) print("hello\tpython"); print(r"\t 代表一个制表符 \n 换行符"); 5.字符串格式化:(前面字符串的格式映射到后面的字符串) 第一种用%号 %s字符 %d整数 %f 浮点型 %.2f 保留2 小数 四舍五入 print("name:%s"%'tom');一个数值省略小括号 print("name:%s age:%d money:%.2f"%('tom',33,90.456)); 第二种 .format();格式(样式)化: print('name:{0} age:{1}'.format("tom",33)); print("name:{name} age {age}".format(name="tom",age=33));前后对应的样式要统一(同是键值对或下标) print("name:{name} age {0}".format(name="tom",33))写法错误 想输出{0}则输出两个{{}} print('aaa{{0}}'.format()) 想输出{}则输出三个{{{}}} print('aaa{{{0}}}'.format("")) 例如: print("name={0}".format("tom"))找不到 print("name={{0}}".format("tom"))得到name=tom print("name={{{0}}}".format("tom"))得到name={tom} 6.字符串的一些函数: word="""hello python world"""; 获取字符串的长度 print("字符串的长度:{0}".format(len(word))); count(str,start= 0,end=len(string)) 查找str(字符个数不限)出现的次数,得到的是次数 print("字符串中 o 的次数:{0}".format(word.count("on",0,7) )); #capitalize()将字符串的第一个字符转换为大写 print(word.capitalize()); title():将每一个单词首字母大写 标题化 print(word.title()); find 返回找到的字符串第一次的下标 找不到=-1 print("h in word of index:{0}".format( word.find('q'))); rfind 从右面开始找 beg-end 指定一个范围 print("h in word of index:{0}".format( word.rfind('h',-13,-1))); index():没有则抛出异常。 print("h in word of index:{0}".format( word.index('h'))); find() vs index():如果找不到,index()产生异常,find()则返回-1 replace():str.replace("ll","LL")替换字符只是复制一份得到新的字符串,但是原字符串不会被改变。 print(word.replace("hello","nihao:")); print(word) split(str="", num=string.count(str)):表示以str为分隔符拆分num次 str:表示分隔符,空值默认为空格;但是()不能是"", '',"""否则语法错误. num=分割几次 s=word.split("o",5); print(s) 邮箱验证案例: 有一个 邮箱 验证是否合法 @ > . 获取用户名的部分 [] email="zhangsan@163.com"; a=email.find("@"); if a==-1: print("邮箱错误 没有包含 @ "); elif a == 0: print("邮箱错误 @不能出现在第一位 "); elif(email.find(".")==-1): print("邮箱错误 没有包含 . "); elif(email.find(".")<email.find("@")): print("邮箱错误 . 的位置应该在@ 后面 "); else: print("邮箱合法 用户名是{0}".format( email[:a] )); str='123abcEFG456' (1)startswith(str, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。 print(str.startwidth('123'),0,4);True (2)endswith(suffix,beg=0,end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False print(str.endwidth('456'),0,4);False (3)isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False print(str.isalnum());true (4)isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False print(str.isalpha());False (5)isdigit()如果字符串只包含数字则返回 True 否则返回 False. print(str.isdight())False (6)isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False print(str.isnumeric());false (7)isspace()如果字符串中只包含空白,则返回 True,否则返回 False. print(str.isspace());false (8)lower()转换字符串中所有大写字符为小写. print(str.lower()); (9)upper()转换字符串中的小写字母为大写 print(str.upper()); (10)swapcase()将字符串中大写转换为小写,小写转换为大写 print(str.swapcase()); (11)ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串. width:指字符串长度,值大于原字符串的长度才有意义;fillchar:指填充字符,默认空格。 print str.ljust(20,'t')) rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符
同上
(12)name=name.ljust(10," ");
print(name);
print(name.strip());
lstrip()截掉字符串左边的空格或指定字符。
print(name.lstrip());
rstrip()删除字符串字符串末尾的空格.
print(name.rstrip());
(13)partition():以此字符串为节点拆分
返回头、分割符、尾三部分 返回头、尾两个空元素的3个元组。
name="hello-python-world";
print(name.partition(" "))
输出('hello-python-world', '', '')
(14)join(sequence):将列表组成新的字符串,
用法:newstr.join(sequence)
newstr连接项;sequence 要拼接列表
s="-";
word=("a",'b','c');
print(s.join(word))