Skip to content

Commit e47f0ab

Browse files
committed
Merge pull request qiwsir#26 from dongm2ez/master
修正补充
2 parents ac54965 + 15c1cc3 commit e47f0ab

4 files changed

Lines changed: 16 additions & 10 deletions

File tree

108.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
关于字符串的内容,已经有两节进行介绍了。不过,它是一个话题中心,还要再继续。
66

7-
例如这样一个字符串`python`,还记得前面对字符串的定义吗?它就是几个字符:p,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就编程一个新字符串了;如果这些字符顺序发生变化了,也成为了一个新字符串。
7+
例如这样一个字符串`python`,还记得前面对字符串的定义吗?它就是几个字符:p,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就变成一个新字符串了;如果这些字符顺序发生变化了,也成为了一个新字符串。
88

99
在python中,把像字符串这样的对象类型(后面还会冒出来类似的其它有这种特点的对象类型,比如列表),统称为序列。顾名思义,序列就是“有序排列”。
1010

@@ -99,7 +99,7 @@ s |t |u |d |y | |p |y |t |h |o |n
9999

100100
如果在切片的时候,冒号左右都不写数字,就是前面所操作的`c = lang[:]`,其结果是变量c的值与原字符串一样,也就是“复制”了一份。注意,这里的“复制”我打上了引号,意思是如同复制,是不是真的复制呢?可以用下面的方式检验一下
101101

102-
>>> id(c)
102+
>>> id(c)
103103
3071934536L
104104
>>> id(lang)
105105
3071934536L
@@ -136,7 +136,7 @@ s |t |u |d |y | |p |y |t |h |o |n
136136

137137
###in
138138

139-
>>> "a" in str1
139+
>>> "a" in str1
140140
True
141141
>>> "de" in str1
142142
False
@@ -151,14 +151,14 @@ s |t |u |d |y | |p |y |t |h |o |n
151151
'd'
152152
>>> max(str2)
153153
'e'
154-
>>> min(str1)
154+
>>> min(str1)
155155
'a'
156156

157157
一个字符串中,每个字符在计算机内都是有编码的,也就是对应着一个数字,`min()``max()`就是根据这个数字里获得最小值和最大值,然后对应出相应的字符。关于这种编号是多少,看官可以google有关字符编码,或者ASCII编码什么的,很容易查到。
158158

159159
###比较
160160

161-
>>> cmp(str1, str2)
161+
>>> cmp(str1, str2)
162162
-1
163163

164164
将两个字符串进行比较,也是首先将字符串中的符号转化为对一个的数字,然后比较。如果返回的数值小于零,说明第一个小于第二个,等于0,则两个相等,大于0,第一个大于第二个。为了能够明白其所以然,进入下面的分析。
@@ -167,7 +167,7 @@ s |t |u |d |y | |p |y |t |h |o |n
167167
97
168168
>>> ord('b')
169169
98
170-
>>> ord(' ')
170+
>>> ord(' ')
171171
32
172172

173173
`ord()`是一个内建函数,能够返回某个字符(注意,是一个字符,不是多个字符组成的串)所对一个的ASCII值(是十进制的),字符a在ASCII中的值是97,空格在ASCII中也有值,是32。顺便说明,反过来,根据整数值得到相应字符,可以使用`chr()`
@@ -202,9 +202,9 @@ s |t |u |d |y | |p |y |t |h |o |n
202202

203203
字符串中的“乘法”,这个乘法,就是重复那个字符串的含义。在某些时候很好用的。比如我要打印一个华丽的分割线:
204204

205-
>>> str1*3
205+
>>> str1*3
206206
'abcdabcdabcd'
207-
>>> print "-"*20 #不用输入很多个`-`
207+
>>> print "-"*20 #不用输入很多个`-`
208208
--------------------
209209

210210
###len()
@@ -215,7 +215,7 @@ s |t |u |d |y | |p |y |t |h |o |n
215215
216216
键客这样来数字符串长度:
217217

218-
>>> a="hello"
218+
>>> a = "hello"
219219
>>> len(a)
220220
5
221221

109.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
- S.capitalize() #首字母大写
180180
- S.isupper() #S中的字母是否全是大写
181181
- S.islower() #S中的字母是否全是小写
182-
- S.istitle()
182+
- S.istitle() #S中字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
183183

184184
看例子:
185185

110.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ python2默认的编码是ascii,通过encode可以将对象的编码转换为
158158

159159
import codecs
160160
codecs.open('filename', encoding='utf8')
161+
162+
经验四:声明字符串直接加u,声明的字符串就是unicode编码的字符串
163+
164+
a = u"中"
161165

162166
我还收集了网上的一片文章,也挺好的,推荐给看官:[Python2.x的中文显示方法](https://github.com/qiwsir/ITArticles/blob/master/Python/Python%E7%9A%84%E4%B8%AD%E6%96%87%E6%98%BE%E7%A4%BA%E6%96%B9%E6%B3%95.md)
163167

111.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
['2', 3] #不包含结束位置
7171
>>> a[1:]
7272
[3, 'qiwsir.github.io']
73+
>>> a[2][7:13] #可以对列表元素做2次切片
74+
'github'
7375

7476
list和str两种类型的数据,有共同的地方,它们都属于序列(都是一些对象按照某个次序排列起来,这就是序列的最大特征),因此,就有很多类似的地方。如刚才演示的索引和切片,是非常一致的。
7577

0 commit comments

Comments
 (0)