python学习笔记3(字符串)

字符串

定义:以单引号或双引号括起来的任意文本

#创建字符串
str1 = 'sunck is a good man!'

字符串运算

#字符串连接
str2 = 'sunck is a'
str3 = 'good man'
str4 = str2 +str3
print(str4)

#输出重复的字符串
str5 = 'good'
str6 = str5 *3
print('str6 =',str6)

#访问字符串中的某个字符
#通过索引下标查找字符,索引从0开始
str7 = 'sunck is a good man!'
print(str7[1])

#截取字符串中的一部分
#从给定下标处截取到给定下标之前
str8 = str7[:5]
#从给定下标处开始截取到结尾
str9 = str7[5:]

#判断某字符串是否在另一字符串中
print("good" in str7)
print("good1" not in str7)

格式化输出

#格式化输出
print("sunc is a good man")
num = 10
str10 = "sunck is a nice man!"
f = 10.1267
print("num =", num, "str10 =", str10)

#  %d   %s   %f  占位符
#  %.3精确到小数点后3位,会四舍五入
print("num = %d, str19 = %s, f = %.3f" % (num, str10, f))
# \\结果只现实一个\,第一个作为转义字符
print("sunck \\ 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("\\\t\\")    #结果  ‘\	\’
print(r"\\\t\\")   #结果  ‘\\\t\\’
print(r"C:\Users\xlg\Desktop\Python-1704\day03")   #结果  ‘C:\Users\xlg\Desktop\Python-1704\day03’
print("C:\\Users\\xlg\\Desktop\\Python-1704\\day03")  #结果‘C:\Users\xlg\Desktop\Python-1704\day03’

'''
不同的操作系统的路径表示方法
windows
  C:\\Users\\xlg\\Desktop\\Python-1704\\day03
linux
  /root/user/sunck/Desktop/Python-1704/day03
'''

其他字符串中常用方法

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

#len(str)
#返回字符串的长度(字符个数),空格,汉字都占一个字符
print(len("sunckisagoodman"))        #输出15
print(len("sunck is a good man"))    #输出19
print(len("sunck is a good man凯"))  #输出20

#lower()转换字符串中大写字母为小写字母
str20 = "SUNCK is a Good Man!凯"
str21 = str20.lower()
print(str21)
print("str20 = %s" %(str20))

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

#swapcase()转换字符串中小写字母为大写字母,大写字母为小写字母
str22 = "SUNCK is a gOOd mAn!"
print(str22.swapcase())

#capitalize()  首字母大写,其他小写
str23 = "SUNCK is a gOOd mAn!"
print(str23.capitalize())

#title()每个单的首字母大写
str24 = "SUNCK is a gOOd mAn!"
print(str24.title())

#  character   char
#center(width[, fillchar])
#返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认空格填充
str25 = "kaige is a nice man"
print(str25.center(40,"*"))    #输出  **********kaige is a nice man***********

#ljust(width[, fillchar])
#返回一个指定宽度的左对齐字符串,fllchar为填充字符,默认空格填充
str26 = "kaige is a nice man"
print(str26.ljust(40, "%"))   #输出:kaige is a nice man%%%%%%%%%%%%%%%%%%%%%

#rjust(width[, fillchar])
#返回一个指定宽度的右对齐字符串,fllchar为填充字符,默认空格填充
str27 = "kaige is a nice man"
print(str26.rjust(40, "%"))   #输出:%%%%%%%%%%%%%%%%%%%%%kaige is a nice man

#zfill(width)
#返回一个长度为width的字符串,原字符串右对齐,前面补0
str28 = "kaige is a nice man"
print(str28.zfill(40))

#count(str[,start][,end])
#返回字符串中strc出现的次数,可以指定一个范围,默认从头到尾
str29 = "kaige is a very very nice man"
print(str29.count("very",15, len(str29) ))  #输出1

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

#rfind(str[, start][,end])]
#从右向左检测
str30 = "kaige is a very very nice man"
print(str30.rfind("very"))  #输出16
#print(str30.rfind("good"))  #输出-1
print(str30.rfind("very", 0, 15))   #输出11

#index(str, start=0, end=len(str))
#根find()一样,只不过如果str不存在的时候回报一个异常
str31 = "kaige is a very very nice man"
#print(str31.index("good"))  #报错:ValueError: substring not found

#rindex(str, start=0, end=len(str))
#根rfind()一样,只不过如果str不存在的时候回报一个异常
str32 = "kaige is a very very nice man"
print(str32.rindex("very"))

#lstrip()截掉字符串左侧指定的字符,默认为空格
str33 = "*******kaige is a nice man"
print(str33.lstrip("*"))   #输出:kaige is a nice man

#rstrip()截掉字符串右侧指定的字符,默认为空格
str34 = "kaige is a nice man          "
print(str34.rstrip(), "*")    #输出:kaige is a nice man *

#strip()截掉所有指定的字符
str35 = "*******kaige is a nice man*********"
print(str35.strip("*"))  #输出:kaige is a nice man

#ord()函数用来返回对应字符的ascii码
#chr()用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制。
str36 = "a"
print(ord(str36))   #输出:97
str37 = chr(65)    
print(str37)         #输出:A
 print (chr(0x61))  #输出:a
print(" " != " ")       #输出:False

猜你喜欢

转载自blog.csdn.net/weixin_42216171/article/details/85319878