数据类型--字符串
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())
字符串练习
相关文章推荐
- python实操(5):python数据类型及常用操作,数字、字符串、元组、列表、字典、集合
- VC Afx全局函数、数据类型、字符串转化函数(转)
- redis数据类型(一)字符串
- js整数字符串转换为金额类型数据(示例代码)
- 网络通信中,DELPHI的string类型数据转换为C++字符串发送的一个陷阱
- Python新手学习基础之数据类型——字符串类型
- iOS开发Swift-字符串和数据类型
- [Tip: _itow]数值和字符串相互转换(C++ 数据类型转换技巧)
- python数据类型,布尔值,字符串简介
- vs2005入门 之 数据类型/数值/字符/字符串[视频]
- Javascript基础教程之数据类型 (字符串 String)
- 将字符串转换为基本数据类型
- ANSI字符和Unicode字符与字符串数据类型
- XSD 字符串数据类型
- C++ leveldb Slice的数据类型 不一定 必须是字符串。也可以是二进制
- C#数据类型转换——数值字符串和数值之间的转换
- 【python】 [基础] 数据类型,字符串和编码
- Alex学Ruby[最重要的数据类型‘字符串’]
- python数据类型(字符串)
- 数据的类型由字符串变为字典操作