python笔记2
字符串排版*:
title():标题的每个单词都大写
capitalize():首个单词大写
center(width[,fillchar]):width打印宽度 fillchar填充的字符
zfil(width):width打印宽度,居右,左边用0填充
ljust(width[,fillchar]):左对齐
rjust(width[ ,fillchar]):右对齐
字符串的修改*:
replace(old,new[,count]):字符串中找到替换为新子串,返回新字符串;count表示替换几次,不指定就是全部替换
‘www.baidu,com'.replace('w',''p',2)
结果:ppw.baidu.com
字符串的修改*:
strip([chars]):从字符串两端去除指定的字符集chars中所有字符;如果chars没有指定,去除两端的空白字符
lstrip([chars]):从左开始
rstrip([chars]):从右开始
字符串查找*:
1、
find(sub[,start[,end]]):在指定的区间(start,end),从左向右,查找子串sub。找到返回索引,没找到返回-1
rfind(sub[,start[,end]]):在指定的区间(start,end),从右至左,查找子串sub。找到返回索引,没有返回-1
例:s.find('abc',2,-1)从索引2到最后一个,但是不包括最后一个索引
2、
index(sub[,start[,end]]):在指定的区间[start,end],从左至右,查找子串sub。找到返回索引,没有抛出异常查ValueError
rindex(sub[,start[,end]]):在指定的区间[start,end],从右至左,查找子串sub。找到返回索引,没有抛出异常查ValueError
#两套方法几乎一样
字符串判断*:
endswith(suffix[,start[,end]]):在指定的区间(start,end),字符串是否以suffix结尾
startswith(prefix[,start[,end]]):在指定的区间(start,end),字符串是否以suffix开头
字符串判断is系列:
isalnum() 是否是字母和数字组成
isalpha()是否是字母
isdecimal()是否只包含十进制
isidentifier()是不是字母和下划线开头,其他都是字母、数字、下划线
isdigit()是否全部数字(0~9)
islower()是否全是小写
isupper()是否全部大写
isspace()是否只包含空字符串
字符串格式化:
1)、join拼接只能使用分隔符,且要求被拼接的是可迭代对象
2)、+拼接字符串还算方便,但是非字符串需要先转换为字符串才能拼接
3)****、format函数格式字符串语法
“{} {xxx}”.format(*args,**kwargs)
args是位置参数,是一个元组
kwargs是关键字参数,是一个字典
花括号表示占位符
{}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
{xxx}表示在关键字参数中搜索名称一致的
{{}}表示打印花括号
例:
"{}:{}".format('192.168.1.100',8888),这就是按照位置顺序用位置参数替换前面的格式字符串的占位符中
"{server} {1}:{0}".format(8888,'192.168.1.100',server="Web server Info:"),位置参数按照序号匹配,关键字参数按照名词匹配
"{0[0]}.{0[1]}".format(('magedu','com')):第一个元组的[0]和[1]
对齐:默认是右对齐
'{0}*{1}={2:<2}'.format(3,2,2*3) 左对齐:结果 3*2=6
<后面的那个2表示字符输出的长度,前面的2表示位置
‘{:*^30}’.format('centered'):centered居中,两端*补齐
进制:'{:?}'.format():通过?来限制输出的形式,如d是十进制,x是16进制..
"int:{0:d}; hex:{0:x}; oct:{0:o}; bin:{0:b}".format(42)
>>>"int:42; hex:2a; oct:52; bin:101010"
"int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b}".format(42)
"int:42; hex:0x2a; oct:0o52; bin:0b101010"