# -*- coding: utf-8 -*-
#字符串的声明可以单引号,双引号,三引号
str1 = 'hello'
print str1
#结果:hello
str2 = "my"
print str2
#结果:my
str3 = '''python'''
print str3
#结果:python
#python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
#三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)
a = '''hello
world'''
print a
#结果:hello
# world
b = """len('123')"""
print b
#结果:len('123')
#字符串也是一个序列可以索引查找 切片 拼接 但不支持更改
#索引查找
str1 = 'hello python'
print str1[4]
#结果:o
#切片
print str1[0:2]
#结果:he
#拼接
a = '123'
b = 'abc'
print a+b
#结果:123abc
#字符串的格式化
#最基本的用法是将一个值插入到一个有字符串格式符 %s (%s格式化字符串)的字符串中。
print "My name is %s ,I made $%d today" % ('Tom', 100)#%d格式化整数
#结果:My name is Tom ,I made $100 today
#字符串的一些方法
str2 = 'ab1cdefgH1IJKa'
print str2
#结果:ab1cdefgH1IJKa
print ord('a') #ord() 方法是返回字符在代码库中的编码
#结果:97
print max(str2)#返回字符串 str 中最大的字母。
#结果:g
print min(str2)#返回字符串 str 中最小的字母。(空格最小)
#结果:1
print str2.capitalize()#capitalize() 方法把字符串的第一个字符大写,但后面的大写字母会变小写,并返回一个新的字符串
#结果:Ab1cdefgh1ijka
print str2.lower() #lower() 方法是把字符串里的所有大写字母变成小写 并返回一个新的字符串
#结果:ab1cdefgh1ijka
print str2.upper() #upper() 方法是把字符串里的所有小写字母变成大写 并返回一个新的字符串
#结果:AB1CDEFGH1IJKA
print str2.title() #title() 方法是把字符串里的每一个单词的第一个字母变成大写,但后面的大写字母会变小写,并返回一个新的字符串
#结果:Ab1Cdefgh1Ijka
print str2.startswith('a') #startswith() 方法判断是否以传入的参数开头
#结果:True
print str2.endswith('K') #endswith() 方法是判断是否以传入的参数结尾
#结果:False
print str2.find('de') #find() 方法是查找字符串中有没有传入的参数 没有返回-1 有返回初始的下标
#结果:4
print str2.split('1',1) ##split() 方法是以传入的参数把字符串分割开并返回一个列表(没有传参默认为空格)可以指定分割的次数,最多分割多少次
#结果:['ab', 'cdefgH1IJKa']
print '+'.join(str2) #join() 方法是以什么把一个序列拼接起来,传参要是一个序列
#结果:a+b+1+c+d+e+f+g+H+1+I+J+K+a
print str2.center(20,'|') #center() 方法是返回一个原字符串居中,并使用字符串(默认空格)填充至长度 width 的新字符串
#结果:|||ab1cdefgH1IJKa|||
print str2.replace('1','666',2)#replace() 方法把字符串中的一个字符串替换成新字符串,如果指定次数,则替换不超过多少次.
#结果:ab666cdefgH666IJKa
print str2.swapcase()#swapcase() 方法翻转字符串中的大小写
#结果:AB1CDEFGh1ijkA
print str2.strip('a')#strip() 方法移除字符串头尾的字符(传参默认为空格)
#结果:b1cdefgH1IJK