根据第四章里面的分类知道,字符串是标量,不可变类型,可用切片方式来访问。 python中没有字符的概念,或者说单个字符是只有一个字符的字符串。这样可能是因为比较统一。
字符串分为普通的字符串和Unicode字符串。这两种字符串都是basestring的子类。
字符串还是由一个一个的字符构成的。普通的字符包含的字符就是ASCII表中的字符。可以用单引号,双引号,三引号来表示一个字符串。在字符串前加上r表示原始字符串,加上u表示unicode字符串,加上ur表示unicode的原始字符串。
- >>> print 'abc\ndef'
-
abc
-
def
-
>>> print "abc\ndef"
-
abc
-
def
-
>>> print """abc\n
-
... def"""
-
abc
-
-
def
-
>>> print '''abc
-
... \tdef'''
-
abc
-
def
-
>>> print r'abc\ndef'
-
abc\ndef
-
>>> print r'''abc\n
-
... def'''
-
abc\n
-
def
-
>>> print u'abc\u6743\ndef'
-
abc权
-
def
-
>>> print ur'abc\u6743\ndef'
-
abc权\ndef
琐碎:
用in和not in来判断字符或字符串是否为另一字符串的子串
用+操作符连接两个字符串
用*操作符重复字符串
用索引或切片来访问字符串中一个或多个字符
格式化操作符%
format_string % obj
format_string比较像C语言中printf函数中的格式化参数。
%c ASCII值转换成字符
%s str()函数进行字符串转换
%r repr()函数进行字符串转换
%d/%i 转换成有符号十进制
%u 转换成无符号十进制
%o 转换成无符号八进制
%x/%X 转换成无符号十六进制
%e/%E 转换成科学记数法
%f/%F 浮点数
%g/%G 根据情况用小数或科学记数法表示浮点数
%% %号
在%和后面的字符之间还可以添加其他的一些东西表示一定意义
- 用作左对齐
+ 正数前面显示加号,负数前面显示负号
空格 正数前面显示空格
# 八进制前添0, 十六进制前添0x或0X
0 显示的数字前添0
(var) 映射变量
m.n m是显示的最小总宽度,n是小数点后的位数。
- >>> a = "I'm a string"
-
>>> "%s" % a
-
"I'm a string"
-
>>> b = 42
-
>>> "%d" % b
-
'42'
-
>>> c = -42
-
>>> '%u' % c
-
'-42'
-
>>> '%o' % b
-
'52'
-
>>> '%#o' % b
-
'052'
-
>>> '%x' % b
-
'2a'
-
>>> '%#X' % b
-
'0X2A'
-
>>> '%+#X' % b
-
'+0X2A'
-
>>> d = {'key':'value', 'key1':'value1'}
-
>>> "%('key')s" % d
-
Traceback (most recent call last):
-
File "", line 1, in <module>
-
KeyError: "'key'"
-
>>> "%(key)s" % d
-
'value'
-
>>> e = 1234.5678901
-
>>> '%f' % e
-
'1234.567890'
-
>>> '%g' % e
-
'1234.57'
-
>>> '%E' % e
-
'1.234568E+03'
-
>>> '%5.3f' % e
-
'1234.568'
-
>>> '%15.3f' % e
-
' 1234.568'
-
>>> 'Host: %s\tPort: %d' % ('mars', 80)
-
'Host: mars\tPort: 80'
内建函数
cmp(), len(), max(), min(), enumerate(), zip(), raw_input(), str(), unicode(), chr(), unichr(), ord()
未完待续...
阅读(1449) | 评论(0) | 转发(0) |