1.魔法方法:
bit_length():数字的二进制表示位数(前面有0直接去掉,即最少位数)
字符串的常用魔法方法:
*capitalize():首字母大写
*casefold()/lower():使字符串变小写,但是casefold()方法比较牛b(除了英文的大小写之间的转换,还可以实现其他语言的转换)。
*center(20,'x') :设置字符占有长度为20,字符串居于中间,左右空出位置用x填充并且填充的字符串长度只能是1
*count("字串",start,end):返回值是字串在调用字符串中出现的次数.start与end是调用字符串的下标(可以省略)
*encode():把字符串对象转换成byte对象,decode():把byte对象转换成字符串
*endswith("字符串",start,end):从字符串的start下标到end之间的字符串是否是以参数中的字符串结尾的,返回值是Bool
startswith(
"字符串",start,end)自己可以领悟出来吧? 哈~
find(
"字串",start,end):
从字符串的start下标到end之间的字符串是否有参数中的字符串,返回值是字串第一次出现的字符下标,如果没有找到返回-1;index方法同上,只是未找到时直接报错。
上述方法提到的start,end都是左闭右开。一般情况下方法提及的开始与结束都是这种情况。
isalnum():判断字符串是否只是由数字和字母组成,返回值是Bool
expandtabs(int) 字符串按照参数长度划分,包含\t的,用\t填满,结尾不需要int长度。 用处就是可以用来制作表格样式
list="Name\tAge\tHobby\npzz\t12\tbasketball\nnan\t22\twalk\n"
print(list.expandtabs(20))#实现3行3列的表格样式
2.字符串的格式化:
*百分号进行格式化:
%s:可以接收任意类型的数据;%.3s:截取字符串,取前3个字符
%d只能格式化数字
%f:格式化浮点数,默认保留到小数点后6位。%.2f则是保留到小数点后2位
打印百分比:'percentage is %.2f %%' % 65.245
'I am %(name)s,age is %(age)d'%{"name":"pzz","age":14} 即便不用这种形式也可以
可以采用普通的方式格式字典:'I am %s,age is %d'%{"name":"pzz","age":14}
%d只能格式化数字
%f:格式化浮点数,默认保留到小数点后6位。%.2f则是保留到小数点后2位
打印百分比:'percentage is %.2f %%' % 65.245
'I am %(name)s,age is %(age)d'%{"name":"pzz","age":14} 即便不用这种形式也可以
可以采用普通的方式格式字典:'I am %s,age is %d'%{"name":"pzz","age":14}
*format方法格式化:
tpl
=
"i am {}, age {}, {}"
.
format
(
"seven"
,
18
,
'alex'
)
tpl =
"i am {:s}, age {:d}, money {:f}"
.
format
(
"seven"
,
18
,
88888.1
)
tpl
=
"i am {}, age {}, {}"
.
format
(
*
[
"seven"
,
18
,
'alex'
])
tpl
=
"i am {0}, age {1}, really {0}"
.
format
(
"seven"
,
18
)
:本方法尤其注意:序号表示的是元组的下标
tpl
=
"i am {name}, age {age}, really {name}"
.
format
(name
=
"seven"
, age
=
18
)
tpl
=
"i am {name}, age {age}, really {name}"
.
format
(
*
*
{
"name"
:
"seven"
,
"age"
:
18
})
tpl =
"i am {name}, age {age}, really {name}"
.
format_map
(
{
"name"
:
"seven"
,
"age"
:
18
})
tpl =
"numbers: {:b},{:o},{:d},{:x},{:X}, {:%}"
.
format
(
15
,
15
,
15
,
15
,
15
,
15.87623
,
2
)
b:二进制;o:八进制;x或是X:16进制;%表示百分比,,默认保留到小数点后6位。注意大括号的个数不能超过元组中元素的个数
3.补充:
1.python文件中一般只写功能(函数),测试代码写在if __name__==__main__:的下面 (规范)
2.strip()方法:如果不给与参数,默认去除str中的换行符与空格,如果添加参数则去掉相应的字符
例:str.strip()/str.strip('a')
3.eval函数:
*提取str中的数据结构
*对字符串中的表达式进行运算,返回值就是运算结果
2.strip()方法:如果不给与参数,默认去除str中的换行符与空格,如果添加参数则去掉相应的字符
例:str.strip()/str.strip('a')
3.eval函数:
*提取str中的数据结构
*对字符串中的表达式进行运算,返回值就是运算结果