您的位置:首页 > 其它

数据类型--字符串

2017-12-13 14:17 197 查看

字符串的定义

字符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。

一、 查看123和'123'的区别:

1 >>> a=123
2
3 >>> stra="123"
4
5 打印查看:结果显示一样
6 >>> print a
7 123
8
9 >>> print stra
10 123
11
12
13
14 交互式查看:区分引号
15 >>> a
16 123
17
18 >>> stra
19 '123'
20
21 显示类型查看:一个是数字,一个是字符
22 >>> type(a)
23 <type 'int'>
24
25 >>> type(stra)
26 <type 'str'>
27
28
29 计算2个变量发现:类型不匹配,字符串不能用于运算。
30 >>> a+stra
31 Traceback (most recent call last):
32   File "<stdin>", line 1, in <module>
33 TypeError: unsupported operand type(s) for +: 'int' and 'str'


二、字符串的取值:
python字符串有2种取值顺序:

从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头

列表中的值得分割,也可以用到变量[头下标:尾下标],又称切片。
它可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始。
下标可以为空表示取到头或尾。

1 #!/usr/bin/python
2 s = 'ilovepython'
3  print(s[1:5])
4
5 输出结果:
6 love。


三、字符串的换行:\n
注意:这么定义不能真实反映出数据的状态,如果不加\n、缩进、空格那将会显得非常乱

1 >>> mail='tom:\n hello\n i am jack'
2
3 >>> mail
4 'tom:\n hello\n i am jack'
5
6 >>> print mail
7 tom:
8 hello
9 i am jack


四、定义字符串的方法:
使用三个引号作为字符串格式的定义

1 >>> mail="""tom:
2
3 ...     i am jack
4 ...     goodbye
5 ... """
6
7
8 >>> print (mail)
9 tom:
10     i am jack
11     goodbye
12  查看变量保存的格式:
13
14
15 >>> mail
16 'tom:\n\ti am jack\n\tgoodbye\n'


五、三个引号也可以作为注释

1 #!/usr/bin/python
2 """input"""
3 a=int(raw_input("please input num1:"))
4 b=int(raw_input("please input num2:"))
5 print(a+b)
6 print(a-b)
7 print(a*b)
8 print(a/b)
9
10 显示结果:
11 [root@master1 pydata]# python 2.py
12 please input num1:3
13 please input num2:2
14 5
15 1
16 6
17 1


六、加号(+)是字符串连接运算符星号(*)是重复操作

1 str = 'Hello World!'
2
3 print(str) # 输出完整字符串
4 print(str[0]) # 输出字符串中的第一个字符
5 print(str[2:5]) # 输出字符串中第三个至第五个之间的字符串
6 print(str[2:]) # 输出从第三个字符开始的字符串
7 print(str * 2) # 输出字符串两次
8 print(str + "TEST") # 输出连接的字符串


1 Hello World!
2 H
3 llo
4 llo World!
5 Hello World!Hello World!
6 Hello World!TEST


字符串常用功能:

移除空白 :print(str.split(" "))
分割:print(str.strip())
长度: len(str)
索: 详情请看《数据类型--索引和切片》
切片:详情请看《数据类型--索引和切片》

1 name = "my name is alex"
2
3 #首字母大写:
4 print(name.capitalize())
5
6 #判断变量是包含几个a
7 print(name.count("a"))
8
9 #左右填充,用“-”号代替
10 print(name.center(50,"-"))
11
12 #右填充,用“-”号代替
13 print("右填充",name.ljust(50,'-'))
14
15 #左填充,用“-”号代替
16 print("左填充",name.rjust(50,'-'))
17
18
19 #把字符串转成二进制:
20 a = name.encode()
21 print(a,type(a))
22
23 #判断一个字符串以什么为结尾
24 print(name.endswith("ex"))
25
26
27 #在\t的位置打印多少个空格
28 text1 = "my name \t is dongye"
29 print(text1.expandtabs())
30
31 #找到并取出字符的索引
32 print(name.find("e"))
33 print(name[name.find("name"):])    #可以用作切片
34
35 #格式化变量里面的字符串:
36 text2 = "my name  is {name} and i am {year} old"
37 print(text2.format(name='alix',year=23))
38
39
40 #同format用法一样:
41 text3 = "my name is {name} and i am {year} old"
42 print(text3.format_map({'name':'alex','year':12}))
43
44
45 #是否包含阿拉伯数字:
46 print(name.isalnum())
47 print('a1232'.isalnum())
48
49 #判断是否为整数
50 print(name.isdigit())
51 print("A1是否为整形:",'A1'.isdigit())
52 print("22是否为整形:",'22'.isdigit())
53
54
55 #判断是不是一个合法的标识符
56 print('a A1'.isidentifier())
57
58 #判断是否为
59 print("判断a是否为小写:",'a'.islower())
60
61
62 #判断是否为大写:
63 print("判断是否为大写:",'DONGYE'.isupper())
64
65
66 #把大写转为小写:
67 print("大写转小写:"'Alex'.lower())
68
69 #把小写转为大写:
70 print("小写转大写:"'Alex'.upper())
71
72
73 #判断是否为空格:
74 print("判读是否为空格",' '.isnumeric())
75
76
77 #判断每个字符首字母是否为大写:
78 print("每个字符串首字母是否为大写:",'My Name Is '.istitle())
79
80
81 #字符串间加特殊符号、字符、表达式
82 print('+'.join(['a','b','c','d']))
83
84
85 #去掉左面的回车和空格
86 print("去掉左面的回车和空格:",'\nAlex'.lstrip())
87
88 #去掉右面面的回车和空格
89 print("去掉右面的回车和空格:",'Alex\n'.rstrip())
90 print("---")
91
92
93 #去掉左右两边的回车和空格:
94 print("去掉右面的回车和空格:",'\nAlex\n'.strip())
95
96
97 #可以当做随机密码:
98 p = str.maketrans("abcdef",'123456')
99 print("alexli".translate(p))
100
101
102 #替换所有和单个字符:
103 #replace('源字符','替换字符',第几个)
104 print("所有小写l替换成大写L:",'alex li'.replace('l','L'))
105 print("所有小写l替换成大写L:",'aieix li ding lei'.replace('i','L',3))
106
107 #查找最后一个指定值的下标:
108 print("从左往右数找到最后一个'l'下标",'alex lil'.rfind('l'))
109
110
111 #去掉or按照指定字符分割成列表:
112 print("字符串按照指定字符分割成列表:",'alex li'.split( ))
113 print("字符串按照指定字符分割成列表:",'a+2+3+4'.split('+'))  #常用
114 print("字符串按照指定字符分割成列表:",'a+2+3+4'.split('\n'))
115 print("字符串按照指定字符分割成列表:",'a+2\n+3+4'.splitlines()) #识别不同系统的换行。
116
117 #判断以什么为开头:
118 print('AlexLi'.startswith('A'))
119
120 #大写变小写,小写变大写:
121 print('AlexLi'.swapcase())
122
123
124 #每个字符首字母改成大写:
125 print('al ex li'.title())


字符串练习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: