python包和模块

 

 常见的内置模块:

加密模块:

### 2.1 hashlib

是一个对数据进行加密的模块。

```python
import hashlib

data = "admin"
obj = hashlib.md5()
obj.update(data.encode('utf-8'))
res = obj.hexdigest()
print(res)
```



在以后咱们开发项目时,密码不要用明文存储。

```
wupeiqi,21232f297a57a5a743894a0e4a801fc3
```

为了防止数据库泄露,用户名和密码全都泄露。



#### 2.1.1 密文匹配(不能反解)

MD5加密,不可反解。

```python
admin    ->   21232f297a57a5a743894a0e4a801fc3
```



案例:以后登录时候要进行密文匹配。

```python
user_dict = {
    "wupeiqi":"21232f297a57a5a743894a0e4a801fc3"
}

user = input("用户名:") # wupeiqi
pwd = input("密码:") # admin

db_pwd = user_dict.get(user) # 21232f297a57a5a743894a0e4a801fc3
# 将 pwd 进行加密的到密文:21232f297a57a5a743894a0e4a801fc3
```
#### 2.1.3 加盐

```python
import hashlib

data = "admin"

salt = "asidfjaksdkjasdiuofiqjskda91qw3asdf"
obj = hashlib.md5(salt.encode('utf-8'))
obj.update(data.encode('utf-8'))
res = obj.hexdigest()
print(res) # c06b63d965921fe0a8803071b623e4e9

2.random 模块:

import random

# 1.获取随机的整数
v1 = random.randint(1, 20)  # 大于等于1; 小于等于20
print(v1)

# 2.获取随机的小数
v2 = random.uniform(1, 10)
print(v2)

# 3.随机抽取1个数
data_list = [11, 22, 33, 44, 55]
v3 = random.choice(data_list)
print(v3)

# 4.随机抽取多个数
data_list = [11, 22, 33, 44, 55]
v4 = random.sample(data_list, 3)
print(v4)

# 5.打乱顺序
num_list = [i for i in range(100)]
random.shuffle(num_list)
print(num_list)
```

json模块:序列化和反序列化

本质上是一种数据格式,以字符串形式存在。

作用:让不同编程语言之间实现数据的相互传输。

 

```python
import json

info = {'k1': 123, 'k2': (11, 22, 33, 44)}

# python的数据类型转换为JSON格式的字符串
res = json.dumps(info)
print(res) # '{"k1": 123, "k2": [11, 22, 33, 44]}'
```

```python
import json

data_string = '{"k1": 123, "k2": [11, 22, 33, 44]}'

# 将JSON格式的字符串转换为Python的数据类型
res = json.loads(data_string)
print(res)

print(res['k1'])
print(res['k2'])
print(res['k2'][-1])
```

 时间相关的包:time,datetime


- 时间戳。

  ```python
  import time
  v1 = time.time()
  ```

- datetime格式

  ```python
  import datetime
  
  v1 = datetime.datetime.now()
  print(v1)  # datetime类型
  ```

- 字符串格式

  ```python
  import datetime
  
  ctime_string = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  print(ctime_string)
  ```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值