内置函数

时间:2019-03-19
本文章向大家介绍内置函数,主要包括内置函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

random

随机数

import random # 内置的
print(random.random())
0-1 之间随机小数

print(random.randint(1,10))
起始位置,终止位置 两头都包含

print(random.randrange(1,21,2))
起始位置,终止位置(不包含),步长

print(random.choice(['alex','wusir','eva_j']))
从有序数据结构中随机选择一个

print(random.choices(['wusir','tialaing','taihei','ritian'],k=2))
随机选择两个,但是有重复

print(random.sample(['wusir','tialaing','taihei','ritian'],k=2))
随机选择两个,没有重复

li = [1,2,3,4,6]
random.shuffle(li) # 洗牌 打乱顺序
print(li)

随机数 验证码 微信红包

print(chr(65),chr(90),chr(97),chr(122))

U = chr(random.randrange(65,91))
L = chr(random.randrange(97,123))
n1 = random.randrange(0,10)
n2 = random.randrange(0,10)
print(U, L,n1,n2)
os

1.os模块和当前电脑操作系统做交互
os 内置模块

文件夹:
import os
os.makedirs('app/a/b/c') # 递归创建文件 ***
os.removedirs('app/a/b/c') # 递归删除文件, 当这个要删除的目录有文件就停止删除 ***
os.mkdir('app') # 创建单个目录 ***
os.rmdir('app') # 删除单个目录,目录如果有东西就报错不进行删除 ***
print(os.listdir('D:\PyCharmProject\s20\day14')) ****
查看某个目录下的内容

文件:
os.remove() #删除这个文件,删除了就不能恢复了 *****
os.rename() #修改文件的名字 *****

操作系统:
print(repr(os.sep)) #\\
C:\Users\lucky\Documents\Tencent Files\932023756\FileRecv
路径符号

print(repr(os.linesep))
换行符

print(repr(os.pathsep))
环境变量的分割

print(repr(os.name))

print(os.system('dir'))

print(os.popen('dir').read()) ***
在写程序的时候可以下发一些操作系统的指令
在linux系统上相当于发shell命令

print(os.environ) 查看 高级 -- 环境变量 -- path *

路径:
print(os.path.abspath('b')) ****
获取当前文件的绝对路径
print(os.path.split(r'D:\PyCharmProject\s20\day14\b'))
将这个文件的绝对路径分成目录和文件
print(os.path.basename(r'D:\PyCharmProject\s20\day14\b')) **
获取的是这个文件的名字
print(os.path.dirname(r'D:\PyCharmProject\s20\day14\b')) ***
获取的是这个文件的目录路径
print(os.path.exists(r'D:\PyCharmProject\s20\day10\07 今日总结.py')) **
判断这个文件是否存在
print(os.path.isabs(r'D:\PyCharmProject\s20\day14\b'))
判断是否是绝对路径

print(os.path.join('C:\\','app','a','b')) *****
#路径拼接的 软件开发规范 框架

os.stat()

print(os.stat('b').st_size) #获取文件大小 ,坑目录 ***
print(os.getcwd()) # 获取工作路劲 ***

os.chdir('D:\PyCharmProject\s20\day13') # 路劲切换 *print(os.getcwd())

# 1. sys模块 python解释器交互的

# sys 内置的

# import sys

# print(sys.argv[-1]) ***
# 接受cmd方式调用 后边的参数会传递进来
# linux系统上 -- 后端开发 -- 数据库(文件) ip + 端口

# print(sys.path) # 添加自定义模块路劲的 # ******

# print(sys.version) # 版本 获取解释的版本号

# sys.platform = 'win1988'

# print(sys.platform) #获取当前操作系统的平台位数 # 不是定死的

# print(sys.exit(1))

sys
1. sys模块 python解释器交互的

sys 内置的

import sys

print(sys.argv[-1]) ***
接受cmd方式调用 后边的参数会传递进来
linux系统上 -- 后端开发 -- 数据库(文件) ip + 端口

print(sys.path) # 添加自定义模块路劲的 # ******

print(sys.version) # 版本 获取解释的版本号

sys.platform = 'win1988'

print(sys.platform) #获取当前操作系统的平台位数 # 不是定死的

print(sys.exit(1))

hashlib
1.# 加密算法
作用: 当做密码
判断一致性
2.加密后不可逆 不能解 (一年前暴力破解 -- 撞库)
(现在md5 反推)

3.sha1,sha256,sha512

alex3714
**********

import hashlib
md5 = hashlib.md5('盐'.encode('utf-8')) # 选择加密方式 加盐
md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
print(md5.hexdigest()) # 生成密文

md5 = hashlib.md5() # 选择加密方式 加盐
md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
print(md5.hexdigest()) # 生成密文

sha512 = hashlib.sha512()
sha512.update('alex3714'.encode('utf-8'))
print(sha512.hexdigest())


# sha512
优点:
安全
缺点:


# md5
优点:
安全,快
缺点:
容易破解


user,pwd = input('user|pwd:').strip().split('|')
import hashlib

md5 = hashlib.md5(str(user).encode('utf-8'))
md5.update(pwd.encode('utf-8'))
print(md5.hexdigest())

md5,sha1,sha256,sha512

总结:
1.序列化
json # 必会

dump 把字典转成字符串存入文件
load 将文件的字符串转成字典
dumps 将字典转成字符串
loads 将字符串转成字典

pickle # 了解
shevle # 了解

2. 随机数
random.random() 0-1 之间的小数
验证码
random.randint(1,10)

3. os 操作系统

路径部分
os.path.join
os.path.abspath
os.path.basename
os.path.dirname
os.path.getsize() # 获取大小
os.remove()
os.rename()
os.listdir()
os.chdir() # 切换目录
os.makedirs('app/a/b') 递归创建文件夹
os.removedirs('app/a/b') 递归删除
os.mkdir() 创建单个文件夹
os.rmdir() 删除单个文件夹

sys python解释器

sys.argv() 在cmd中执行 可以将文件 后的内容传递到文件中使用
sys.path python解释器加载的路径,自定义模块添加到这里
sys.exit()
sys.version() 获取解释器的版本号
sys.platform 获取当前平台的位数


hashlib 加密算法
md5,sha1,sha256,sha512
1.先导入模块
2.创建一个加密方式
3.将要加密的内容编码成字节后加密
4.生成密文

import hashlib
md5 = hashlib.md5(b'alex')
md5.update('alex3714'.encode('utf-8'))
print(md5.hexdigest())