#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Kxk
name = "KXK \tis your {name} and i am {year} old"
print(name.capitalize()) #首字母大写
print(name.count("K")) #统计有多少个K
print(name.center(50,"-")) #打印50个-把name放在中间
print(name.encode()) #转换字符串,转换为bytes类型,再转回来用decode
print(name.endswith("XK")) #判断一个字符串以XK结尾是不是真的,作用比如判断邮件地址是否为.com为结尾
print(name.expandtabs(tabsize=30)) #增加tab为30个空格
print(name.find("your")) #查找your在第几个字符,用于切片
print(name.index("your")) #查找your在第几个字符,用于切片
print(name[name.find("your"):]) #截取your到最后
print(name.format(name='kkxxkk',year=27)) #格式化,将name命名为kkxxkk,year命名为27
print(name.format_map( {'name':'kkxxkk','year':12 })) #跟format一样的效果,写法不同,主要以format为主
print('ab23'.isalnum()) #判断是否包含数字以及字符
print('abAB'.isalpha()) #判断是否包含纯英文字符(包含大小写)
print('112121212'.isdecimal()) #判断是否包含十进制字符
print('AAA1A'.isidentifier()) #判断是不是一个合法的标识符,也就是合法的变量名
print('a a'.islower()) #判断该字符是不是纯粹的小写字符
print('33'.isnumeric()) #判断该字符是不是纯粹的数字,不包括小数
print(' '.isspace()) #判断该字符是不是空格
print('My Name Is '.istitle()) #判断该字符是否每个字母首字母为大写
print('My Name Is '.isupper()) #判断该字符是否每个字母为大写
print('My name is'.isprintable()) #判断是不是可以打印的,当你是tty file/drive file时候,基本上是不能打印的
print( '+'.join(['1','2','3','4']) ) #在1,2,3,4中添加+号连接
print(name.ljust(50,'*')) #长度50,如果不够的话用*号在后面补齐
print(name.rjust(50,'*')) #长度50,如果不够的话用*号在前面补齐
print('ALEXK'.lower()) #大写变小写
print('ksasdas'.upper()) #小写变大写
print(' \nALEX'.lstrip()) #从左边自动去除空格或者回车,\n为回车
print('Alex\n'.rstrip()) #从右边自动去除空格或者回车
print(' \nalex\n'.strip()) #自动去除所有空格或回车,常用!
p = str.maketrans("abcdef",'123456') #将abcdef对应123456
print( "fead bbcc".translate(p) ) #打印fead bbcc会根据上面的abcdef对应数字相应翻译,适用于随机密码
print('AKJSE kxk'.replace('A','K',1) ) #替换,将A替换为K,同时只替换一次(1)
print('AKJSE kxk'.rfind('x')) #从左边查找字母x,第一个为0,从0开始数数
print('AKJSE kxk'.split('J')) #以J为分隔符
print('1+2\n+3+4'.splitlines()) #自动识别换行符,然后换行符为分隔符
print('AKJSE kxk'.swapcase()) #大小写互换
print('AKJSE kxk'.title()) #每个字符首字母换成大写,标题格式
print('AKJSE kxk'.zfill(50)) #不够50个字符,从左边自动补齐0