python技术总结

不知觉python总结都有四十页了,虽然@@可能很多都是基础性的,仍然有成就感。和之前一样,仍然全部贴出来,而不是把新的贴出来,请谅解。
这次新增的部分包括c扩展,排序,ftp,源码安全,性能,代码检查等。

Python

字符串的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
1、 Python的字符串是不可以改变的。但是你可以操作字符串以形成新的字符串。

2、 字符串中删除一个字串。没有直接提供这个方法,但是replace可以实现:

"abc def".replace(" ", "")

同样的功能还有一个方法:translate。它的原有作用是将字符串中的某个字符替换为另外一个字符,注意,不是字符串。它的第一个参数是一个转换表。第二个参数是要删除的字符串。我们可以利用第二个参数del,实现这个功能。同时,第一个参数设置为None。

translate可能更高效一点。另外,它的第二个参数可以使一个字符串,含有多个字符,这样就会删除多个。

注意:translate方法不会对这个字符串操作,而是返回一个新的字符串。

3、 strip方法:去除字符串两侧的空格,返回新的字符串。这个功能非常有用。

4、 str中有一个函数,format,非常强大,有时间一定要看一下。

5、 endswitch:检查字符串是否已某字符串结尾。startswith:检查是否已某字符串开头。

6、 partition:它将字符串按指定的字符串分为三个部分,返回一个元组。第一个是指定字符串前面内容,第二个是指定字符串,第三个是指定字符串后面的内容。用于字符串解析非常好用。

7、 split:将字符串按照某指定字符串分割成多个子字符串,返回一个分割后的列表。

8、 join:将一个字符串列表中的各个字符串连接起来,中间插入指定的字符串。

9、 find的返回值不是falsetrue,所以不可以直接用于if判断。需要判断if s.find(‘’) >= 0:

10、 基于字典的格式化:

a) sh = '''

b) python -m compileall -fl ../src;

c) python -m compileall -fl ../src/micbase;

d) mkdir %(packname)s;

e) mdkir %(packname)s;

f) ''' % {'packname':sys.argv[1], }

g) print(sh)

Koala0c954.th.jpg

字符串函数:

1
函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量。但是,如果直接使用的话,是会使用全局变量的。同时,如果想要修改全局变量,需要制定是全局变量:global a

字符串拼接

1
2
3
    关于函数的入参判断:如果如此为空,可能会发生异常。当异常发生后,可能会出现一种情况,一个事情做到了一半,就没有在进行下去,可能会造成内存泄露。这个问题如何解决?按照C的方式,每个入参都做判断是可以解决的,但是这样太麻烦了。而且看很多开源代码页没有这样来做。是不是有更好的方法?换一种思路,在调用之前确保不为空。在看看开源的代码是怎么做的。特别是openstack。
字符串拼接。。。字符串拼接。。。字符串拼接。。。
字符串拼接。。。

正则表达式:

1
2
3
4
5
6
7
 为什么要学习正则:主要是为了处理字符串更加方便,特别是为后面进行代码生成做储备。

match是匹配字符串的开头是否匹配,而search是查看字符串任意起始位置是否满足。

sub可以对字符串中模式匹配的部分进行替换

split:可以对字符串进行分割,这里是根据模式分割。
评论