#判断类型语句type()
a, b, c, d = 1, 2.5, True, 4+3j
print(type(a))
#判断函数类型语句 isinstance(obj,int/str/float..)
isinstance(a, int)
#格式函数
#空行\n
#标准空格\t (tab)
#字符取字面意思 r'str'
#set 为集合,用()或{}表示,但是创建需要使用set();主要用于集合中成员关系判定,及去重
#续行符 \ ,空格将下一行内容提到当前行
a = 213123
print(a,\
'ave')
输出为 213123 ave
#转义符\ 将符号取字面意
print('\\') 为\
#响铃
print('\a')#声音提示,Windows效果受到编译器影响
#退格
print('a')
print('a', '\b')#此处\b = 空格
print('a\b')#此处\b与未输入相同,等同于删除一格
#空命令
print('\000')#不是空格,是空
#\r回车
print('abc\rdefg')#删除之前输入,此处为'abc'
#\f换页
print('abc\fdefg')#输出为abcdefg
#字符串格式符
print('我叫%s,今年%d岁' % ('小明', 10))# %s 格式化字符串类型、%d格式化整数
#大写capitalize()
a = 'abcdefg'
a.capitalize()#为内建函数,需要先定义变量在使用。
#不需要使用print
#center(width, fillchar)返回一个指定宽度width居中的字符串,fillchar为填充字符,默认为空格
a = 'abcdefgh'
a.center(20, '_')
#count(str, beg = 0, end = len(string))
# 返回str 在string里出现次数,如果beg ,end 指定则返回指定范围内出现次数
a = 'aaaassdafdssfvsdokqihnkja' # 定义string需要''
print(a.count('a'))#同时使用2次 内建函数count需要使用print 才能显示
a.count('a', 1, -1)
#编码&解码
#bytes.decode(encoding="utf-8", errors="strict");
#使用格式为ubytes.decode("UTF-8", "strict")
s = '编码玩玩'
s_coding = s.encode('UTF-8', 'strict')
print('s的UTF-8编码:', s_coding)#encode、decode 不要用encoding 或者decoding
print('s的UTF-8解码:', s_coding.decode('UTF-8', 'strict'))
#endswith(suffix, beg=0, end=len(string))
#检查字符串是否以obj结束,beg\end指定范围,如有则为指定范围内是否以obj结束
s = 'asdishfjbjgqoiwr'
print(s.endswith('r'))
s.endswith('w', 1, -2)
#startswith(str, beg=0,end=len(string))
#检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
#expandtabs(tabsize=5)
#将字符串中的tab 符号转化为默认数量为8的空格符
s = 'asda\tsd'
print(s)
print(s.count('\t'))
s.expandtabs(8)#只能为偶数,0,2,4循环???
#字符串命令集
#find(str, beg=0 end=len(string))
#查询str 是否在指定范围内,默认全范围
b = 'ajshdaidowgkodkjfso'
print(b.find('z'))#不在返回-1
b.find('i')#在返回位置
#index(str, beg=0, end=len(string))
#查询str 是否在指定范围内,默认全范围,返回位置
b.index('i')#在返回位置
#index(str, beg=0, end=len(string))
#查询str 是否在指定范围内,默认全范围,返回位置
b.index('z')#不在则报错 ValueError: substring not found
#isalnum()
#如果字符串至少有一个字符且所有字符都是字母或数字则为True
b.isalnum()
#isalpha()
#如果字符串至少有一个字符且所有字符都是字母则为True
b.isalpha()
#isdigit()
#如果字符串只包含数字则为True
b.isdigit()
#islower()
#如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
b.islower()
#isnumeric()
#如果字符串中只包含数字字符,则返回 True,否则返回 False
b.isnumeric()
#isnumeric()
#如果字符串中只包含数字字符,则返回 True,否则返回 False
c = '1209381928391'#是字符串中包含,数字不包含
c.isnumeric()
#isspace()
#如果字符串中只包含空白,则返回 True,否则返回 False.
b.isspace()
#istitle()
#如果字符串是标题化的则返回 True,否则返回 False
b.istitle()
#isupper()
#如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
b.isupper()
#join(seq)
#以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
s1 = '2'
s2 = ('a', 'b', 'c', 'd', 'e')#字符串序列
s3 = 's'#字符串序列
print(s1.join(s2))#将字符串与字符串序列隔一排序,以序列为第一个
#只能字符串使用,而不能字符串序列使用
#len(string)
#返回字符串长度
len(s2)#注意不是s1.len()
#ljust(width[, fillchar])
#返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
print(s3.ljust(10, '2'))#补充‘fillchar’至width长度
#rjust(width,[, fillchar])
#返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
s3.rjust(10, '2')
#lower()
#转换字符串中所有大写字符为小写
k = 'ASJDHASKDSAJLKDJ'
k.lower()
#lstrip()
#截掉字符串左边的空格或指定字符。
o = ' asda '
p = '11111111wqe1111'
print(o.lstrip())#2个同等命令需要增加print
print(p.lstrip('1'))#去掉指定字符串‘1’
#rstrip()
#删除字符串字符串末尾的空格.
print(o.rstrip())
print(p.rstrip('1'))
#strip([chars])
#在字符串上执行 lstrip()和 rstrip()
o.strip()
max(str)#min 用法相同
#返回字符串 str 中最大的字母
sv = (1, 2, 3, 4, 5, 7, 8, 0)
max(s2)#字母表排序最尾部字母
max(sv)
#replace(old, new [, max])
#把将字符串中的 str1 替换成 str2
#如果 max 指定,则替换不超过 max 次。
q1 = '1s2s3s4s5s6s'
q1.replace('s', 'w', 5)#限制5次替换
#rfind(str, beg=0,end=len(string))
#类似于 find()函数,不过是从右边开始查找.
print(q1.find('3'))
q1.rfind('3')#没有太大区别
#rindex( str, beg=0, end=len(string))
#类似于 index(),不过是从右边开始
print(q1.index('3'))
q1.rindex('3')
#没有本质区别
#split(str="", num=string.count(str))
#num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
exm = 'This is the example, yeah'
print(exm.split())#以空格为分隔
print(exm.split('i', 1))#仅以第一个i为分隔
exm.split('e')#以所有e为分隔
#splitlines([keepends])
#按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
#swapcase()
#将字符串中大写转换为小写,小写转换为大写
i = 'AAbb'
i.swapcase()#结果为aaBB
#translate(table, deletechars="")
#根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
#replace的复杂版本,需要创建2个list,2个list需要一一对应,
a = 'abcde'
b = '12345'
c = 'this is a example, adobe'
tran = c.maketrans(a, b)
c.translate(tran) #输出为'this is 1 5x1mpl5, 14o25'
#upper()
#转换字符串中的小写字母为大写
a.upper()#'ABCDE'
#zfill (width)
#返回长度为 width 的字符串,原字符串右对齐,前面填充0
a.zfill(20)#'000000000000000abcde'
#之上的zfill等价于
a.rjust(20, '0')#r/l代表原字符串在新字符串中的区位('000000000000000abcde')