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


"字符串",start,end)自己可以领悟出来吧? 哈~


"字串",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}


    *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中的数据结构
         *对字符串中的表达式进行运算,返回值就是运算结果