python的学习(五)----字符串操作
2012-10-14 22:18
309 查看
python字符串操作
1. 字符串的表示, str 与repr
python打印的字符串会保持该值在python代码中的状态,使用print语句则显示期望状态,如:
>>> "Hello, world!"
'Hello, world!' # 仍带有单引号,表示为字符串
>>> 10000L
10000L #仍保留整数类型
>>>print "Hello, world!"
Hello, world!
>>> print 10000L
10000
实际上python中有三种将Python值转换为字符串的机制,一是通过str函数,其将值转换为合理形式的字符串,
另一个则是创建一个字符串,以合法的python表达式的形式来表示,第三种则是反引号,如:
>>> print repr("Hello, world!")
'Hello, world!'
>>> print repr(10000L)
10000L
>>> print str("Hello, world!")
Hello, world!
>>> print str(10000L)
10000
另外,反引号的实现也可以将值转换为字符串,如:
>>> value = 10
>>> print "The value is "+ value
Track....TypeError
>>> print "The value is " + `value` #为反引号,不是单引号
The value is 10
三种方式中,函数str更易于阅读,repr与反引号则注重把结果字符串转换为合法的Python表达式
2. input 和 raw_input的比较
假如在脚本文件中输入下列语句:
name = input("what is your name?")
print "Hello, " + name + "!"
程序是合法的,关键看input的用户输入,如下运行时
What is your name? Gumby
Traceback ....NameError
但是输入带引号的 "Gumby” 时,运行成功
关键问题在于 input会假设用户输入的是合法的Python表达式,当处理字符串时,需用户输入引号,
而raw_input函数将所有的输入当做原始数据,然后将其放入字符串中
>>> input (“Enter a number: ”)
Enter a number: 3
3
>>> raw_input("Enter a number: ")
Enter a number: 3
'3'
3. 字符串的操作方法
(1)find
语法:在一个较长的字符串中查找子字符串,返回子字符串所在位置的最左端索引,如果没找到返回-1
>>> 'My name is Linda'.find(My)
0
注意:字符串的find并不返回布尔值,当返回0时,说明在索引0位置处找到子字符串
(2) join
语法:在字符串构成的队列中添加元素
>>> seq = ['1', '2', '3']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3'
(3) lower
返回字符串的小写字母版
>>>'My name is Linda'.lower()
'my name is linda'
(4) replace
返回某字符串的所有匹配项均被替换之后得到的字符串
>>> 'My name is Linda'.replace('name', 'blog')
'My blog is Linda'
(5) split
作用刚好与join相反,用于将字符串分割成序列
>>> '1+2+3'.split('+')
['1','2','3']
注意:如果不提供任何分隔符,程序会将所有空格,制表,换行等作为分隔符
(6) strip
返回去除两侧(不包括内部)空格 或指定的字符 后的字符串
(7) translate
用于替换字符串中的某些部分,但与replace不同的是,translate中一个替换只处理单个字符,但其可以同时进行多个替换
translate函数有两个参数,第一个为转换表,体现256个字符串与待替换字符的对应关系,可使用maketrans函数
第二个是可选的,用来指定需要删除的字符,例如:
>>> table = maketrans('ns', 'kz')
>>> 'this is linda blog'.translate(table, ' ')
'thizizlikdablog'
1. 字符串的表示, str 与repr
python打印的字符串会保持该值在python代码中的状态,使用print语句则显示期望状态,如:
>>> "Hello, world!"
'Hello, world!' # 仍带有单引号,表示为字符串
>>> 10000L
10000L #仍保留整数类型
>>>print "Hello, world!"
Hello, world!
>>> print 10000L
10000
实际上python中有三种将Python值转换为字符串的机制,一是通过str函数,其将值转换为合理形式的字符串,
另一个则是创建一个字符串,以合法的python表达式的形式来表示,第三种则是反引号,如:
>>> print repr("Hello, world!")
'Hello, world!'
>>> print repr(10000L)
10000L
>>> print str("Hello, world!")
Hello, world!
>>> print str(10000L)
10000
另外,反引号的实现也可以将值转换为字符串,如:
>>> value = 10
>>> print "The value is "+ value
Track....TypeError
>>> print "The value is " + `value` #为反引号,不是单引号
The value is 10
三种方式中,函数str更易于阅读,repr与反引号则注重把结果字符串转换为合法的Python表达式
2. input 和 raw_input的比较
假如在脚本文件中输入下列语句:
name = input("what is your name?")
print "Hello, " + name + "!"
程序是合法的,关键看input的用户输入,如下运行时
What is your name? Gumby
Traceback ....NameError
但是输入带引号的 "Gumby” 时,运行成功
关键问题在于 input会假设用户输入的是合法的Python表达式,当处理字符串时,需用户输入引号,
而raw_input函数将所有的输入当做原始数据,然后将其放入字符串中
>>> input (“Enter a number: ”)
Enter a number: 3
3
>>> raw_input("Enter a number: ")
Enter a number: 3
'3'
3. 字符串的操作方法
(1)find
语法:在一个较长的字符串中查找子字符串,返回子字符串所在位置的最左端索引,如果没找到返回-1
>>> 'My name is Linda'.find(My)
0
注意:字符串的find并不返回布尔值,当返回0时,说明在索引0位置处找到子字符串
(2) join
语法:在字符串构成的队列中添加元素
>>> seq = ['1', '2', '3']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3'
(3) lower
返回字符串的小写字母版
>>>'My name is Linda'.lower()
'my name is linda'
(4) replace
返回某字符串的所有匹配项均被替换之后得到的字符串
>>> 'My name is Linda'.replace('name', 'blog')
'My blog is Linda'
(5) split
作用刚好与join相反,用于将字符串分割成序列
>>> '1+2+3'.split('+')
['1','2','3']
注意:如果不提供任何分隔符,程序会将所有空格,制表,换行等作为分隔符
(6) strip
返回去除两侧(不包括内部)空格 或指定的字符 后的字符串
(7) translate
用于替换字符串中的某些部分,但与replace不同的是,translate中一个替换只处理单个字符,但其可以同时进行多个替换
translate函数有两个参数,第一个为转换表,体现256个字符串与待替换字符的对应关系,可使用maketrans函数
第二个是可选的,用来指定需要删除的字符,例如:
>>> table = maketrans('ns', 'kz')
>>> 'this is linda blog'.translate(table, ' ')
'thizizlikdablog'
相关文章推荐
- Python学习笔记七:字符串的操作(一)
- python学习笔记——字符串及其主要的操作
- Python学习之路3 - 字符串操作&字典
- Python学习笔记5-字符串、bool、数值操作和数组字典排序
- Python 学习- 列表,字符串,数据操作和字典
- Python学习(字符串操作)
- python学习day3------列表、元组、字符串操作
- python学习笔记:字符串操作大全
- python学习:字符串操作
- Python学习3:字符串操作
- Python学习笔记--字符串操作string
- Python学习13:字符串操作函数使用
- Python的学习(二十八)----字符串操作与列表使用
- Python学习---字符串操作
- 学习笔记之Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- python学习笔记之二:字符串操作
- Python学习笔记八:字符串的操作(二)
- python学习-字符串操作
- python学习五(字符串操作)
- Python学习-2天--字符串操作