Skip to content

Commit 0b26c68

Browse files
walterclaude
authored andcommitted
代码块内的「水哥」回滚为「两点水」,保留正文称谓
上一次全文替换把代码示例里的字符串字面量也改了(pyproject 字段、 argparse default、typer.prompt、命令行输入输出等),这些字面量 后续被章节文字引用,改了会导致代码-讲解不一致。 本次只回滚 fenced code block 内的「水哥」为「两点水」,正文称谓保留「水哥」。 共 34 个文件,428 处回滚。另手工修正 python27/1.md 一处嵌套 \`\`\`markdown fence 导致的误识别(line 566 是作者正文,应保留水哥)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 107e00b commit 0b26c68

34 files changed

Lines changed: 427 additions & 427 deletions

File tree

Article/PythonBasis/python10/2.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class User(object):
1313
self.name = name;
1414
self.age = age;
1515

16-
user=User('水哥',23)
16+
user=User('两点水',23)
1717
```
1818

1919
实际上,创建一个类的过程是分为两步的,一步是创建类的对象,还有一步就是对类进行初始化。
@@ -45,14 +45,14 @@ class User(object):
4545

4646

4747
if __name__ == '__main__':
48-
usr = User('水哥', 23)
48+
usr = User('两点水', 23)
4949
```
5050

5151
看看输出的结果:
5252

5353
```txt
5454
调用了 def __new__ 方法
55-
('水哥', 23)
55+
('两点水', 23)
5656
调用了 def __init__ 方法
5757
```
5858

Article/PythonBasis/python10/4.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# -*- coding: UTF-8 -*-
2424

2525
class User(object):
26-
def __init__(self, name='水哥', sex=''):
26+
def __init__(self, name='两点水', sex=''):
2727
self.sex = sex
2828
self.name = name
2929

@@ -37,7 +37,7 @@ class User(object):
3737

3838

3939
class MyClass(object):
40-
x = User('水哥', '')
40+
x = User('两点水', '')
4141
y = 5
4242

4343

@@ -64,7 +64,7 @@ if __name__ == '__main__':
6464

6565
```txt
6666
获取 name 值
67-
水哥
67+
两点水
6868
6969
7070
设置 name 值

Article/PythonBasis/python12/3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Python 中所有的东西,注意喔,这里是说所有的东西,他们都
3535
age = 23
3636
print(age.__class__)
3737
# 字符串
38-
name = '水哥'
38+
name = '两点水'
3939
print(name.__class__)
4040

4141

Article/PythonBasis/python13/2.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ class Producer(threading.Thread):
246246

247247

248248
cond = threading.Condition()
249-
consumer = Consumer(cond, '买家(水哥')
249+
consumer = Consumer(cond, '买家(两点水')
250250
producer = Producer(cond, '卖家(三点水)')
251251
consumer.start()
252252
producer.start()
@@ -256,12 +256,12 @@ producer.start()
256256
输出的结果如下:
257257

258258
```txt
259-
买家(水哥): 我这两件商品一起买,可以便宜点吗
259+
买家(两点水): 我这两件商品一起买,可以便宜点吗
260260
卖家(三点水): 可以的,你提交订单吧
261-
买家(水哥): 我已经提交订单了,你修改下价格
261+
买家(两点水): 我已经提交订单了,你修改下价格
262262
卖家(三点水): 好了,已经修改了
263-
买家(水哥): 收到,我支付成功了
264-
买家(水哥): 等待收货
263+
买家(两点水): 收到,我支付成功了
264+
买家(两点水): 等待收货
265265
卖家(三点水): 嗯,收款成功,马上给你发货
266266
卖家(三点水): 发货商品
267267
```
@@ -282,7 +282,7 @@ isRead = True
282282

283283
def write(q):
284284
# 写数据进程
285-
for value in ['水哥', '三点水', '四点水']:
285+
for value in ['两点水', '三点水', '四点水']:
286286
print(f'写进 Queue 的值为:{value}')
287287
q.put(value)
288288

@@ -305,9 +305,9 @@ if __name__ == '__main__':
305305
输出的结果如下:
306306

307307
```txt
308-
写进 Queue 的值为:水哥
308+
写进 Queue 的值为:两点水
309309
写进 Queue 的值为:三点水
310-
从 Queue 读取的值为:水哥
310+
从 Queue 读取的值为:两点水
311311
写进 Queue 的值为:四点水
312312
从 Queue 读取的值为:三点水
313313
从 Queue 读取的值为:四点水

Article/PythonBasis/python13/3.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ def worker(interval, name):
3434

3535

3636
if __name__ == "__main__":
37-
p1 = multiprocessing.Process(target=worker, args=(2, '水哥1'))
38-
p2 = multiprocessing.Process(target=worker, args=(3, '水哥2'))
39-
p3 = multiprocessing.Process(target=worker, args=(4, '水哥3'))
37+
p1 = multiprocessing.Process(target=worker, args=(2, '两点水1'))
38+
p2 = multiprocessing.Process(target=worker, args=(3, '两点水2'))
39+
p3 = multiprocessing.Process(target=worker, args=(4, '两点水3'))
4040

4141
p1.start()
4242
p2.start()
@@ -57,12 +57,12 @@ child p.name:Process-3 p.id7600
5757
child p.name:Process-2 p.id5560
5858
child p.name:Process-1 p.id7716
5959
END!!!!!!!!!!!!!!!!!
60-
水哥 1【start】
61-
水哥 2【start】
62-
水哥 3【start】
63-
水哥 1【end】
64-
水哥 2【end】
65-
水哥 3【end】
60+
两点水 1【start】
61+
两点水 2【start】
62+
两点水 3【start】
63+
两点水 1【end】
64+
两点水 2【end】
65+
两点水 3【end】
6666
6767
Process finished with exit code 0
6868
```
@@ -293,7 +293,7 @@ import os, time, random
293293
def write(q):
294294
# 写数据进程
295295
print(f'写进程的PID:{os.getpid()}')
296-
for value in ['水哥', '三点水', '四点水']:
296+
for value in ['两点水', '三点水', '四点水']:
297297
print(f'写进 Queue 的值为:{value}')
298298
q.put(value)
299299
time.sleep(random.random())
@@ -328,8 +328,8 @@ if __name__ == '__main__':
328328
```txt
329329
读进程的PID:13208
330330
写进程的PID:10864
331-
写进 Queue 的值为:水哥
332-
从 Queue 读取的值为:水哥
331+
写进 Queue 的值为:两点水
332+
从 Queue 读取的值为:两点水
333333
写进 Queue 的值为:三点水
334334
从 Queue 读取的值为:三点水
335335
写进 Queue 的值为:四点水

Article/PythonBasis/python14/1.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@ Python 自 1.5 版本起增加了re 模块,它提供 Perl 风格的正则表
1010

1111
```python
1212
# 设定一个常量
13-
a = '水哥|twowater|liangdianshui|草根程序员|ReadingWithU'
13+
a = '两点水|twowater|liangdianshui|草根程序员|ReadingWithU'
1414

15-
# 判断是否有 “水哥” 这个字符串,使用 PY 自带函数
15+
# 判断是否有 “两点水” 这个字符串,使用 PY 自带函数
1616

17-
print(f'是否含有“水哥”这个字符串:{a.index("水哥") > -1}')
18-
print(f'是否含有“水哥”这个字符串:{"水哥" in a}')
17+
print(f'是否含有“两点水”这个字符串:{a.index("两点水") > -1}')
18+
print(f'是否含有“两点水”这个字符串:{"两点水" in a}')
1919
```
2020

2121
输出的结果如下:
2222

2323
```txt
24-
是否含有“水哥”这个字符串:True
25-
是否含有“水哥”这个字符串:True
24+
是否含有“两点水”这个字符串:True
25+
是否含有“两点水”这个字符串:True
2626
```
2727

2828
那么,如果使用正则表达式呢?
@@ -40,25 +40,25 @@ re.findall(pattern, string[, flags])
4040
import re
4141

4242
# 设定一个常量
43-
a = '水哥|twowater|liangdianshui|草根程序员|ReadingWithU'
43+
a = '两点水|twowater|liangdianshui|草根程序员|ReadingWithU'
4444

4545
# 正则表达式
4646

47-
findall = re.findall('水哥', a)
47+
findall = re.findall('两点水', a)
4848
print(findall)
4949

5050
if len(findall) > 0:
51-
print('a 含有“水哥”这个字符串')
51+
print('a 含有“两点水”这个字符串')
5252
else:
53-
print('a 不含有“水哥”这个字符串')
53+
print('a 不含有“两点水”这个字符串')
5454

5555
```
5656

5757
输出的结果:
5858

5959
```txt
60-
['水哥']
61-
a 含有“水哥”这个字符串
60+
['两点水']
61+
a 含有“两点水”这个字符串
6262
```
6363

6464
从输出结果可以看到,可以实现和内置函数一样的功能,可是在这里也要强调一点,上面这个例子只是方便我们理解正则表达式,这个正则表达式的写法是毫无意义的。为什么这样说呢?
@@ -72,7 +72,7 @@ a 含有“水哥”这个字符串
7272
import re
7373

7474
# 设定一个常量
75-
a = '水哥|twowater|liangdianshui|草根程序员|ReadingWithU'
75+
a = '两点水|twowater|liangdianshui|草根程序员|ReadingWithU'
7676

7777
# 选择 a 里面的所有小写英文字母
7878

Article/PythonBasis/python16/1.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
```Python
77
def punch():
8-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
8+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
99

1010

1111
punch()
@@ -14,7 +14,7 @@ punch()
1414
输出的结果如下:
1515

1616
```
17-
昵称:水哥 部门:做鸭事业部 上班打卡成功
17+
昵称:两点水 部门:做鸭事业部 上班打卡成功
1818
```
1919

2020
然后,产品反馈,不行啊,怎么上班打卡没有具体的日期,加上打卡的具体日期吧,这应该很简单,分分钟解决啦。好吧,那就直接添加打印日期的代码吧,如下:
@@ -25,7 +25,7 @@ import time
2525

2626
def punch():
2727
print(time.strftime('%Y-%m-%d', time.localtime(time.time())))
28-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
28+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
2929

3030

3131
punch()
@@ -35,7 +35,7 @@ punch()
3535

3636
```
3737
2018-01-09
38-
昵称:水哥 部门:做鸭事业部 上班打卡成功
38+
昵称:两点水 部门:做鸭事业部 上班打卡成功
3939
```
4040

4141
这样改是可以,可是这样改是改变了函数的功能结构的,本身这个函数定义的时候就是打印某个员工的信息和提示打卡成功,现在增加打印日期的代码,可能会造成很多代码重复的问题。比如,还有一个地方只需要打印员工信息和打卡成功就行了,不需要日期,那么你又要重写一个函数吗?而且打印当前日期的这个功能方法是经常使用的,是可以作为公共函数给各个模块方法调用的。当然,这都是作为一个整体项目来考虑的。
@@ -47,7 +47,7 @@ import time
4747

4848

4949
def punch():
50-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
50+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
5151

5252

5353
def add_time(func):
@@ -62,7 +62,7 @@ add_time(punch)
6262

6363
```
6464
2018-01-09
65-
昵称:水哥 部门:做鸭事业部 上班打卡成功
65+
昵称:两点水 部门:做鸭事业部 上班打卡成功
6666
```
6767

6868

@@ -73,7 +73,7 @@ import time
7373

7474

7575
def punch():
76-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
76+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
7777

7878

7979
def add_time(func):
@@ -94,7 +94,7 @@ add_time(holiday)
9494

9595
```
9696
2018-01-09
97-
昵称:水哥 部门:做鸭事业部 上班打卡成功
97+
昵称:两点水 部门:做鸭事业部 上班打卡成功
9898
2018-01-09
9999
天气太冷,今天放假
100100
```
@@ -114,7 +114,7 @@ def decorator(func):
114114

115115

116116
def punch():
117-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
117+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
118118

119119

120120
f = decorator(punch)
@@ -125,7 +125,7 @@ f()
125125

126126
```
127127
2018-01-09
128-
昵称:水哥 部门:做鸭事业部 上班打卡成功
128+
昵称:两点水 部门:做鸭事业部 上班打卡成功
129129
```
130130

131131
通过代码,能知道装饰器函数一般做这三件事:
@@ -154,7 +154,7 @@ def decorator(func):
154154

155155
@decorator
156156
def punch():
157-
print('昵称:水哥 部门:做鸭事业部 上班打卡成功')
157+
print('昵称:两点水 部门:做鸭事业部 上班打卡成功')
158158

159159
punch()
160160
```
@@ -163,7 +163,7 @@ punch()
163163

164164
```
165165
2018-01-09
166-
昵称:水哥 部门:做鸭事业部 上班打卡成功
166+
昵称:两点水 部门:做鸭事业部 上班打卡成功
167167
```
168168

169169
那么这就很方便了,方便在我们的调用上,比如例子中的,使用了装饰器后,直接在原本的函数上加上装饰器的语法糖就可以了,本函数也无虚任何改变,调用的地方也不需修改。
@@ -195,17 +195,17 @@ def print_args(reason, **kwargs):
195195
print(kwargs)
196196

197197

198-
punch('水哥', '做鸭事业部')
199-
print_args('水哥', sex='', age=99)
198+
punch('两点水', '做鸭事业部')
199+
print_args('两点水', sex='', age=99)
200200
```
201201

202202
输出结果如下:
203203

204204
```
205205
2018-01-09
206-
昵称:水哥 部门:做鸭事业部 上班打卡成功
206+
昵称:两点水 部门:做鸭事业部 上班打卡成功
207207
2018-01-09
208-
水哥
208+
两点水
209209
{'sex': '男', 'age': 99}
210210
```
211211

0 commit comments

Comments
 (0)