String(字符串)

# Author:CAI 05/2018

'''
什么是字符串
字符串是以单引号或双引号括起来的任意文本
'abc'
"def"
字符串不可变
'''

#创建字符串
str1 = "Only time will tell you, who you are, and you will write the answer every day."
str3 = "If you work hard, God will arrange it"
str5 = "You're young, you're going to go far"
str7 = "The vast world, magnificent scenery, infinite scenery still waiting for us to enjoy it."

'''
字符串运算
'''
#字符串连接
str9 = "hello "
str10 = "world"
str11 = str9 + str10
print("str11 =", str11)

#输出重复字符串
str12 = "hello"
str13 = str12 * 3
print("str13 =", str13)

#访问字符串中的某一个字符
#通过索引下标查找字符,索引从0开始
#字符串名【下标】

str15 = "hello,world"
print(str15[1])
print(str15[2])
print(str15[0])
'''
str15[1] = "a"
print("str15 =",str15)
打印结果报错再一次说明字符串不可变
'''

#截取字符串中的一部分
str16 = "sunck is a good man!"
#从给定下标处截取到给定下标之前
str17 = str16[6:15]
#从头截取到给定下标之前
str19 = str16[:5]
#从给定下标处开始截取到结尾
str20 = str16[16:]
print("str20 =",str20)

str21 = "sunck is a good man"
print("good "in str21)
print("good1"in str21)
print("good1"not in str21)

print(~5) #6
'''
00000101
11111010
10000110
'''

#格式化输出
print("sunck is a good man")
num = 10
str23 = "sunck is a good man"
f = 10.1279
print("num =", num)
print("num = %d,str23 = %s, f = %.3f" % (num,str23, f)) # %d 整数占位符 %s 字符串占位符 %.3f 浮点数占位符精确到小数点后三位会四舍五入
'''转义字符 \
将一些字符转换成有特殊含义的字符 #\n
'''
print("num = %d\nstr23 = %s\nf = %.3f" % (num,str23, f))
print("sunck \\n is") # \\ 将 \ 转成普通字符
# \' \"
print('tom is a \'good\' man')
print("tom is a \"good\" man")
#如果字符串内有很多换行,用\n写在一行不好阅读
print("good\nnice\nhandsome")
print('''
good
nice
handsome''')
'''
\t 制表符:默认四个空格
'''
print("sunck\tgood")
#如果字符串中有好多字符串都需要转义,就需要加入好多\,为了简化Python允许用r表示内部的字符串默认不转义
# \\\t\\
print(r"\\\t\\")
print(r"C:\Users\Cai\Desktop\Projects\QF003")
print("C:\\Users\Cai\Desktop\Projects\QF003")
'''
windows
C:\\Users\Cai\Desktop\Projects\QF003
Linux
/root/user/sunck/Desktop/Projects/DF003
'''

#eval(str)
#功能:将字符串str当成有效的表达式来求值并返回计算结果
num1 = eval("123")
print(num1)
print(type(num1))
print(eval("+123"))
print(eval("-123"))
print(eval("12+3"))
print(eval("12-3"))
#print(eval("a123"))
#print(eval("12a3"))

#len(str)
#返回字符串的长度(字符个数)
print(len("sunck is a good man"))
#lower()转换字符串中大写字母为小写字母
str25 = "SUNCK is a Good Man"
print(str25.lower())
print("str25 = %s" %(str25))

#upper()转换字符串中小写字母为大写字母
str25 = "SUNCK is a Good Man"
print(str25.upper())
print("SUNCK is a Good Man".upper())

#swapcese()转换字符串中小写字母为大写字母,大写字母为小写字母
str26 = "SUNCK is a GooD MaN"
print(str26.swapcase())

#capitalize()首字母大写,其他小写
str27 = "a Beautiful MorninG"
print(str27.capitalize())


#title()每个单词的首字母大写
str28 = "A beauTiful morning"
print(str28.title())

# character char
#center(width, fillchar)
#返回一个指定宽度并居中的字符串,fillchar为填充的字符串,默认空格填充
str29 = "A beautiful morning"
print(str29.center(40, "*"))

#ljust(width[, fillchar])
#返回一个指定宽度的左对齐字符串,fillchar为填充字符,默认空格填充
str30 = "A happy weekend"
print(str30.ljust(40,"%"))

#rjust(width[, fillchar])
#返回一个指定宽度的右对齐字符串,fillchar为填充字符,默认空格填充
str30 = "A happy weekend"
print(str30.rjust(40,"%"))

#zfill(width)
#返回一个长度为width的字符串,原字符串右对齐,前面补0
str31 = "A beautiful morning"
print(str31.zfill(40))

#count(str[,start][,end])
#返回字符串中str出现的次数,可以指定一个范围,默认从头到尾
str32 = "A very very beautiful morning"
print(str32.count("very"))
print(str32.count("very",3, len(str32)))

#find(str[, start][,end])
#从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。得到的是第一次出现的开始下标,没有返回-1。
str33 = "A very very beautiful morning"
print(str33.find("very"))
print(str33.find("good"))
print(str33.find("very",15,len(str33)))

#rfind(str[, start][,end])
#从右向左检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。得到的是第一次出现的开始下标,没有返回-1。
str33 = "kaige is a very very nice man"
print(str33.rfind("very"))
#print(str33.rfind("good"))
print(str33.rfind("very",0,15))

#index(str, start = 0,end= len(str))
#跟find()一样,只不过如果str不存在的时候会报一个异常
str34 = "A very very beautiful morning"
#print(str34.index("good"))

#rindex(str, start = 0,end= len(str))
#跟rfind()一样,只不过如果str不存在的时候会报一个异常
str35 = "A very very beautiful morning"
print(str35.rindex("very"))

#lstrip()截掉字符串左侧指定的字符,默认为空格
str36 = "******A very very beautiful morning"
print(str36.lstrip("*"))

#rstrip()截掉字符串左侧指定的字符,默认为空格
str37 = "A very very beautiful morning "
print(str37.rstrip(),"*")

#strip()截掉字符串两边的字符,默认为空格
str38 = "********A very very beautiful morning********"
print(str38.strip("*"))







posted @ 2018-06-03 22:00  东林之夏  阅读(282)  评论(0)    收藏  举报