字符串基础
连接
1
2
3
4
5
6
7
8
9
10
11s1='www.baidu'
s2='.com'
s3=s1+s2
print s3
```
s3输出为www.baidu.com
```
s4=s2+s1
```
s3输出为.comwww.baidu.com
```重复
1
2
3
4
5
6>>>li1=[1,'3','23.333']
>>>li1
[1, '3', '23.333']
>>>li1=[1,'3','23.333']*5
>>>li1
[1, '3', '23.333', 1, '3', '23.333', 1, '3', '23.333']s[i] 索引 index
1
2
3
4
5
6>>>s1='abcdefg'
>>>ch=s1[3]
>>>ch
'd'
>>>print(ch)
ds[i:j:step] 切片 slice
注意方向,由大到小时,step为负,由小到大时,step为正(为1时可以不写)
1 | >>>s1='abcdefg' |
for 循环遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18s='www.baidu.com'
for ch in s:
print(ch)
w
w
w
.
b
a
i
d
u
.
c
o
m
删除字符串中的空格
1 | "".join(a.split()) |
>>>
a = “ a b c “>>>
b = a.split() # 字符串按空格分割成列表>>>
b [‘a’, ‘b’, ‘c’]>>>
c = “”.join(b) # 使用一个空字符串合成列表内容生成新的字符串>>>
c ‘abc’
类似print(‘*’,end=’’)中end问题
end是print()函数的一个参数。end 是输出语句结束以后附加的字符串,它的默认值是换行(’\n’)
例如:
1 | print('*',end = ' ')#end值为空格 |
输出结果为:
1 | * ** |
xrange与range的区别
参考链接:http://www.nowamagic.net/academy/detail/1302446
range(start,stop,step)
xrange与range完全相同,所不同的是生成的不是一个list对象,而是一个生成器。要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。
所以xrange做循环的性能比range好,尤其是返回很大的时候。尽量用xrange吧,除非你是要返回一个列表。
使用md5和sha1
参考链接:https://www.cnblogs.com/shanys/p/5890265.html
md5使用例子
1 | from hashlib import md5 |
sha1使用例子
1 | from hashlib import sha1 |
md5+os.urandom(n)产生随机字符串
有点时候我们会需要产生一个全局唯一的id,这个时候,md5 + os.urandom 就派上用场了。
os.urandom(n) 是一种随机生成n个字节字符串的方法,而且每次生成的值都不相同。再加上md5的处理,就能够成内容不同长度相同的字符串了。
例子:
1 | import os |
urllib.unquote()
把字典形式的参数进行url编码.
eg:
1 | s = "url=%2F&email=imtesting%40tempmail.com&password=hereispassword" |
seek()函数
seek() 方法用于移动文件读取指针到指定位置.
语法:
fileObject.seek(offset[, whence])
- offset – 开始的偏移量,也就是代表需要移动偏移的字节数
- whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
https://blog.csdn.net/maxthex/article/details/56484519
import sys 与from sys import argv
- from sys import argv可以通过a,b,c,d……=argv来进行批量参数赋值,将argv中的参数依次赋值给左边的变量。
- 而import sys去只能通过a=sys.argv[]这样来逐个赋值。
- Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。
https://www.cnblogs.com/aland-1415/p/6613449.html
int.from_bytes和int.to_bytes函数
int.from_bytes函数
- 功能:res = int.from_bytes(x)的含义是把bytes类型的变量x,转化为十进制整数,并存入res中。其中bytes类型是python3特有的类型。
- 函数参数:int.from_bytes(bytes, byteorder, *, signed=False)。在IDLE或者命令行界面中使用help(int.from_bytes)命令可以查看具体介绍。bytes是输入的变量;byteorder主要有两种:’big’和’little’;signed=True表示需要考虑符号位。
int.to_bytes函数
- 功能:是int.from_bytes的逆过程,把十进制整数,转换为bytes类型的格式。
python之%s%d%f
%s字符串
1 | string="hello" |
%d 整型
1 | num=14 |
%f 浮点型
1 | import math |