day05字符串

字符串 str:
1.作用:用来记录文本信息
2.表示方法:在非注释中,凡是用引号括起来的部分都是字符串
1.''  单引号
2.""  双引号
3.''' 三单引号
4.""" 三双引号
3.空字符串的表示方法:
1.''
2.""
3.''''''
4.""""""
 注意:空字符串的布尔值为False,非空字符串表示方法:
'hello'
"hello"
'''hello'''
"""hello"""
1.单引号和双引号的区别:
1.单引号内可以包含双引号
2.双引号内可以包含单引号
5.三引号字符串的作用:
1.三引号字符串中的换行会自动跳转为换行符'\n'
2.三引号内可以包含单引号和双引号
示例:
print('welcome to beijing')>>>print("""welcome '\n'to beijing""")
6.隐式字符串字面值拼接:
s="i'm"  'a programer' 'my name is "robin" ' #运行结果:I'm a programmer my name is robin
7.用转义序列代表特殊字符:
1.字符串字面值中用字符反斜杠 "\",后跟一些特殊字符代表序列的一个字符:
\'  代表一个单引号(')
\"  代表一个双引号(")
\\  代表一个反斜杠(\)
\n  换行
\r  返回光标值行首      例如:print("ABCD\rab")>>>>>  abCD
\f  换页
\v  垂直制表符
\b  倒退 例如:print("ABCD\rd")>>>>>  ABCd
\0  空字符(字符值为零)
\0oo oo为两位八进制表示的字符
\xXX XX为两位十六进制表示的字符
\uXXXX UNICODE16的十六进制表示的字符
\Uxxxxxxxx UNICODE32的十六进制表示的字符
8.ASCII编码: 查看ASCII编码>>>>man ASCII
常用的ASCII编码:
字符 十进制 十六进制
"0" 48 0x30
"A" 65 0x41
"a" 97 0x61
4.raw字符串(原始字符串)
格式:
r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""
作用:让转义符号\无效
示例:print('c\newfile\test.py')
5.求字符串序列的长度的函数:len(x)
返回字符串中字符的个数
+---------------------------------------+
|练习:(用len()函数)
| '123456abcd'  有几个字符
| '5\'4"'      
| '\"A\x34\056'
| '\a\bc\td\n'
+---------------------------------------+
序列的概念:
字符串都是序列的一种;
字符串的运算:
1.+ 加号用于拼接字符串:
示例:
x="abc"+"def"
print(x)
y="123"
z=x+y
2.+=  复合赋值
示例:x+=y 等同于x=x+y:
3.*运算符:运算符生成重复的字符串:
示例:x="ABC" * 2
print(x)
注:字符串只能和整数相乘:
4.*= 运算符:
x *=y  等同于 x = x * y
+-----------------------------------------------+
|练习:
| 写一个程序,打印一个高度为4行的矩形方框
| 要求输入一个整数代表矩形的宽度
| 如:请输入矩形高度:10
| 打印如下:
| ############
| #                 #
| ############
|
|#a=int(input("请输入矩形的宽度"))
|#print("#" * a)
|#print("#" + " " * (a - 2) + "#")
|#print("#" + " " * (a - 2) + "#")
|#print("#" * a)
+-----------------------------------------------+
字符串的比较运算:
运算符:> >= < <= == !=
示例:
"A"  == 'A'    #  True
'A'  <  'B'    #  True
'ABC' < 'ABB'  #  True
'ADC' < 'ABC'  #  False
'AD'  > 'ABC'  #  True
'AB'  > 'ABC'  #  False
'ABCD'!= 'DCBA'#  True    
in / not in 运算符:
作用:in用于序列,字典,集合等容器类中,用于判断狗哥值是否存在于容器中,
     如果存在返回True,不存在返回False;not in 与in运算符返回的布尔值相反
格式:
对象 in 序列
+-----------------------------------------------+
| 示例:
| x = 'welcome to beijing'
| 'to'  in x      #  True
| 'hello'  in x    # False
+-----------------------------------------------+
+----------------------------------------------------------------------------------------------------+
|练习:
| 写一个程序
| 输入一个长长的字符串,判断您的名字是否在这个字符串内,如果存在,则打印"您的名字出现了"
| 否则不予理睬
|-------------------------------------------------------------------------------------------------------+
|c=input("请输入一个字符串")
|if 'zhanghong' in c:
|   print("您的名字出现了")
|else:
|   print("您的名字没有出现在里面")
+-----------------------------------------------------------------------------------------------+
字符串的索引index:
python字符串是不可以改变的字符序列:
语法:字符串 [字符表达式]
说明:Python序列都是可以用索引[index]来访问序列中的对象;
     Python序列正向的索引从0开始,第二个索引为1,最后一个为len(s)-1
     Python序列的反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)
|示例:s='abcd'
+-------------------------------------------------------+
|课堂练习:
| 输入一个字符串,打印如下内容:
| 1.打印这个字符串的第一个字符
| 2.打印这个字符的最后一个字符
| 3.如果这个字符的长度为奇数,打印中间的这个字符
+-------------------------------------------------------+
切片 slice:
作用:从字符串序列中取出一部分相应的元素重新组成一个字符串:
语法:字符串[(开始索引):(结束索引e)(:步长s)]
注:()内括起来的部分代表可以省略
说明:
1.开始索引是切片最开始切下的位置0代表是某一个元素,-1代表是最后一个元素
2.结束索引是切片的终止索引(但不包含终止索引)
3.步长是切片每次获取完当前索引后移动的方向和偏移量,
1.没有步长,相当于取值完成后向后移动一个索引的位置(默认1)
2.当步长为正整数时,取正向切片,步长默认值为1,开始索引默认值为0,结束默认索引值为len(s)
3.当步长为负整数时,取反向切片:反向切片时,默认的起始位置为最后一个元素,默认终止位置为第一个元素的前一个位置
+-----------------------------------------------------------------------+
|示例:
| s='abcde'
| a=s[1:4]   >>>>  # a的结果为bcd
| a=s[1:]     >>>> #    bcde
| a=s[:2]    >>>>> #    ab  
  | a=s[:]     >>>>> #    abcde
| a=s[4:2]   >>>>> #    ''
| a=s[2:10000]  >>>  #   cde     "开始索引和结束索引可以越界"
|结束索引:
| a=s[::2]  #   a >>> ace
| a=[1::2]  #   a>>>>bd
| a=[::-1]  #   a>>>edcba
| a=s[::-2]  #  a>>>eca
| a=s[4:0:-2] # a>>>ec
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------------------------------------------------------------+
|课堂练习: |
| 1.写一个程序,输入一个字符串,把字符串的第一个字符和最后一个字符去掉,打印出处理后的字符串
| 2.输入任意一个字符串,判断这个字符串是否是回文,回文是指中心对称的文字如:上海自来水来自上海 /abccba/12321
+------------------------------------------------------------------------------------------------------------------------------+
|str=input("请输入一个字符串")
|print(str[1:-1])
|a=str[::-1]
|if a==str:
|   print("是回文")
|else:
|   print("不是回文")
+----------------------------------------------------------------------------------------------------------------------------+
Python3中常用的序列函数:
1.len(x)  返回序列的长度
2.max(x)    返回序列的最大值
3.min(x)  返回序列的最小值
示例:
1.s="hello"
 print(len(s))
 print(max(s))
 print(min(s))
字符串编码(encode)值得转换函数:
ord(c)   返回一个字符的Unicode值
chr(r)   返回r这个值所对应的字符
+-----------------------------------------------------------------------------------------------+
|练习:
| 1.写一个程序,输入一段字符串,如果字符串不为空,则把第一个字符的编码值打印出来
| 2..写一个程序,输入一个整数值(0-65535)打印这个数所对应的字符
|-------------------------------------------------------------------------------------------------+
|str=input("请输入一个字符串")
|if str!="":
|   print(ord(str))
|str=int(input("请输入一个字符串"))
|print(chr(str))
+-----------------------------------------------------------------------------------------------+
整数转换为字符串的函数:
hex(i)  将整数转换为十六进制的字符串
oct(i)  将整数转换为八进制的字符串
bin(i)  将整数转换为二进制的字符串
字符串的构造函数str:
str(obj='') 对象转换为字符:
str(3.14)      # '3.14'
str(None)      # 'None'
str(1+2j)      # '1+2j'
python3中常用的字符串方法:
对象.方法名(方法传参)
+-----------------------------------------------+
|示例:
| 'abc'.isalpha()    #是正确的语法
| 123.isalpha()    #是错误的时
+-----------------------------------------------+
常用的字符串方法:
见文档:doc.
1.s.count(sub,...)
2.s.find(sub)
3.strip() 去掉左右空白字符(‘\n’,'\r','','\t')
4.s.replace(old,new)
5.s.startswith()
6.s.endswith()
+---------------------------------------------------------------------------------------------------------------+
|1.S.isdigit() 判断字符串中的字符是否全为数字
|2.S.isalpha() 判断字符串是否全为英文字母
|3.S.islower() 判断字符串所有字符是否全为小写英文字母
|4.S.isupper() 判断字符串所有字符是否全为大写英文字母
|5.S.isspace() 判断字符串是否全为空白字符
|6.S.center(width[,fill]) 将原字符串居中,左右默认填充空格
|7.S.count(sub[, start[,end]]) 获取一个字符串中子串的个数
|8.S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1
|9.S.strip() 返回去掉左右空白字符的字符串
|10.S.lstrip() 返回去掉左侧空白字符的字符串
|11.S.rstrip() 返回去掉右侧空白字符的字符串
|12.S.upper() 生成将英文转换为大写的字符串
|13.S.lower() 生成将英文转换为小写的字符串
|14.S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串
|15.S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
|16.S.endswith(suffix[, start[, end]]) 返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False
+---------以下是不常用的----------------------------------------------------------------------------------------+
|17.S.title() 生成每个英文单词的首字母大写字符串
|18.S.isnumeric() 判断字符串是否全为数字字符
+---------------------------------------------------------------------------------------------------------------+
+-------------------------------------------------------------------------------------------------------+
|课堂练习:
| 1.输入一个字符串,把输入的字符串中的空格全部去掉,打印出处理后的字符串的长度和字符串的内容;
| 2.用字符串*运算符打印三角形
| 输入一个整数,此整数代表次三角形离左侧的空格的个数
| 如:请输入距离:3
| 打印结果为
| *
|       ***
|      *****
|     *******
| 3.输入三行文字,让这三行文字在一个方框内居中显示如输入(不要输入中文):
| hello!
| i'm studenting Python
| i like Python
| 显示如下:
| +---------------------------+
|               |           hello                       |
|               |   i'm studenting python!  |
| | i like python               |
| +---------------------------+














猜你喜欢

转载自blog.csdn.net/robin13438235412/article/details/80754006