#!/usr/local/bin/python3
# -*- coding:utf-8 -*-
'''
name="my wife is mahongyan"
----------首字母大写----------
print(name.capitalize())
----------字符统计----------
print(name.count('m'))
----------字符美观打印----------
print(name.center(50,'-')) #一共打印50个字符,不够的话在字符串 两边 用'-'补上
----------判断字符串以什么结尾----------
print(name.endswith('yan')) #判断字符串是否以'yan'结尾,如果是返回 True
----------tab键转换----------
name1="my \twife is mahongyan"
print(name1.expandtabs(tabsize=30)) #将字符串中的tab 键转换为指定个数的空格
----------取下标----------
print(name.find('wife')) #取字符串'wife'中第一个字符在字符串中的下标
#注:1.从0开始计算,一个空格键也算一个
# 2.如果字符串中含有两个'wife',则返回第一个'wife'中的下标值
print(name[name.find('wife'):7]) #切片操作,从'w'所在下标开始切片,一直到'e'为止,即取出"wife"
----------格式化----------
name2="my wife is {name} and she is {age} years old"
print(name2.format(name='mahongyan',age=26))
print(name2.format_map({'name':'mahongyan','age':26})) #参数为字典格式
----------判断字符串是否是纯阿拉伯数字+字符----------
print(name.isalnum()) #注:是'纯'阿拉伯数字和字符,如果字符串中有空格或其他特殊字符会返回 False
----------判断字符串是否是纯英文字符----------
print(name.isalpha()) #如果字符串中含有数字或其他非英文字符,则返回False
----------判断字符串是否是十进制数----------
name3="0100"
print(name3.isdecimal()) #注:若字符串是二进制数,也返回了True
----------判断字符串是否是一个合法的标识符(变量名)----------
name4="_1x"
print(name4.isidentifier())
----------判断字符串是否是整数类型----------
name5="22"
print(name5.isdigit())
----------判断字符串是否是小写字母----------
print(name.islower()) #字符串中可以含有数字或特殊字符,即仅判断字符串中含有的字母是否是小写
----------判断字符串是否是大写字母----------
print(name.isupper()) #字符串中可以含有数字或特殊字符,即仅判断字符串中含有的字母是否是大写
----------判断字符串是否是'纯'数字----------
print(name.isnumeric()) #有小数点也不行,跟 isdigit 区别不大
----------判断字符串是否是空格----------
name6=' '
print(name6.isspace()) #一个到n个空格都返回True
----------判断字符串是否是标题格式----------
name7='My Wife Is Mahongyan'
print(name7.istitle()) #即每个单词的首字母均为大写
----------将字符串转换为标题格式----------
print(name.title())
----------join用法----------
print('*'.join(['a','b','c'])) #尚未理解
----------字符串尾部填充打印----------
print(name.ljust(50,"-")) #使输出的字符串长度为50,若字符串长度不够,则在尾部填充'-'
----------字符串首部填充打印----------
print(name.rjust(50,"-")) #使输出的字符串长度为50,若字符串长度不够,则在首部填充'-'
----------将字符串中的字母转换成大写/小写----------
print(name.upper()) #只转换所有的字母
print(name.lower())
----------去除字符串左右两侧的空格或回车----------
print(" \nabc".lstrip()) #去除左侧
print("abc \n".rstrip()) #去除右侧
print(" \nabc \n".strip())#去除两侧
----------加密1----------
p=str.maketrans("abcdefg","1234567") #将"abcdefg"对应成"!@#$%^&"
print("bad".translate(p)) #将密码规则p 传入translate函数,然后将"bad"转换成加密后的字符串
----------加密2----------
print(name.translate(str.maketrans("abcdefg","1234567"))) #效果和1一样
----------替换----------
print(name.replace('a','A')) #将字符串中的所有的字符'a'替换成'A'
print(name.replace('a','A',2)) #将字符串中的前两个'a'替换成'A'
----------搜索----------
print(name.rfind('y')) #从左往右遍历字符串并返回字符'y'在字符串中的最大的下标
----------转换列表----------
print(name.split()) #将字符串按照 空格分割并依次放入一个列表
print("1+2+3+4".split('+'))#将字符串按照字符'y'分割,并依次放入一个列表,但字符'y'消失
print("1\n2\n3\n4".splitlines())#将字符串按照换行符分割,并依次放入一个列表
----------查找----------
print(name.startswith('my')) #在字符串中查找是否存在字符串'my',若存在返回True
print(name.startswith('my',0,4)) #在字符串下标为0~4中查找是否存在字符串'my',若存在返回True
----------字母大小写转换----------
print(name.swapcase()) #将字符串中的大写字母转换成小写,小写字母转换成大写
----------16进制填充----------
print(name.zfill(30)) #指定字符串长度为30,若字符串长度不够,则在字符串首部填充0;通常用于16进制数的转换
'''