查看可遍历元素的长度
代码如下(示例):
print(len(range(1, 10)))
将负数转为正数
代码如下(示例):
print(abs(-10))
所有元素为真则为真,一个为假则为假
代码如下(示例):
print(all([0, 1, True]), all([]))
一个元素为真则为真,无论几个假
代码如下(示例):
print(any([1, 0, False]), any([]))
十进制转二进制
代码如下(示例):
print(bin(10))
十进制转十六进制
代码如下(示例):
print(hex(10))
十进制转八进制
代码如下(示例):
print(oct(12))
只有定义的类和函数为真,其他为假
代码如下(示例):
print(callable(10), callable(lambda x: x))
ascill 码转换
代码如下(示例):
print(chr(10), chr(100), ord("Z"), ord("X"))
求一个数的整数和余数
代码如下(示例):
print(divmod(100, 3))
求一个数的次方 开始为所求的这个数
结束为次方
代码如下(示例):
print(pow(2, 3))
将字符串进行排序,输出为列表的形式
代码如下(示例):
print(sorted("helol"))
求总和
代码如下(示例):
print(sum([i for i in range(10)]))
求最大值和最小值
代码如下(示例):
print(max([10, 20, 30]))
print(max([{"age": 15}, {"age": 5}, {"age": 25}], key=lambda x: x["age"]))
print(min([{"age": 15}, {"age": 5}, {"age": 25}], key=lambda x: x["age"]))
闭包三要素
1,外置函数嵌套内置函数
2.外部函数可以将内部函数返回
3.内部函数可以访问外部函数的局部变量
代码如下(实例):
def f1():
print("f1")
i = 1
def f2():
# nunlocal 相当于globals可以修改外部变量
nonlocal i
i += 1
print("f2", i)
return f2
# r就等同于f2 (r内部保存了外部函数的变量i)
r = f1()
r()
函数添加新功能就需要 修改函数实现 重复代码很麻烦
闭包最经典的提两个题时间开销和用户校验
一,用户校验
代码如下(实例):
def login_required(f):
def check():
user_name = input("输入用户名")
if user_name == "admin":
f()
else:
print("输入错误")
return check
# index = login_required(index)
# index()
# mine = login_required(mine)
# mine()
# cart = login_required(cart)
# cart()
@login_required
def index():
print("首页")
index()
@login_required
def cart():
print("购物车")
cart()
@login_required
def mine():
print("主页")
cart()
闭包和装饰器步骤
代码如下(示例):
import random
import time
l = []
for i in range(500):
num = l.append(random.randint(0, 1000))
l1 = [i for i in l]
def login_required(f):
def check():
start = time.time()
f()
print(time.time() - start)
return check
@login_required
def p():
for i in range(len(l) - 1):
for j in range(i + 1, len(l)):
if l[i] > l[j]:
l[i], l[j] = l[j], l[i]
p()
@login_required
def p1():
for i in range(len(l1) - 1):
min_index = i
for j in range(i + 1, len(l1)):
if l1[j] < l1[min_index]:
min_index = j
if min_index != i:
l1[min_index], l1[i] = l1[i], l1[min_index]
p1()
打开文件只读不写
找不到文件回报错
须在文件根目录下创建一个data.txt文件
代码如下(示例):
f = open("data.txt", mode="r")
print(f.read())
读取文件中的第一行,读取几次重复几次
代码如下(示例):
print(f.readline())
查看有没有阅读文件的权力
代码如下(示例):
print(f.readable())
将文件读取成列表
代码如下(示例):
print(f.readlines())
将图片转换成二进制查看
代码如下(示例)
f = open("data2.png", mode="rb")
print(f.read())
写入
代码如下(示例):
w = open("data1.txt", mode="w")
curren = ['a']
w.write(curren)
查看是否有写入的权力
代码如下(示例):`
print(w.writable())
打开这个文件将指定内容写入 没有就创建
代码如下(示例):`
a = open("data3.txt", mode="a")
a.write("8792")
# 关闭
a.close()
随着代码块的结束 f自动关闭 不需要调用close
代码如下(示例):
with open("data.txt", mode="r") as f:
print(f.read())
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于在不同应用程序之间传输和存储数据。以下是一些 JSON 的作用:
数据交换:JSON 是一种通用的数据格式,可用于不同编程语言之间的数据交换。它提供了一种结构化的方式来表示复杂的数据,使得数据在不同系统之间的传输更加方便和可靠。
与前端交互:JSON 在 Web 开发中扮演了重要的角色。通过将数据以 JSON 格式发送到前端,可以轻松地在后端和前端之间进行数据交互。前端框架如Ajax、React、Vue等都支持直接处理 JSON 数据。
存储配置数据:JSON 可以用于存储配置信息,例如应用程序的设置和选项。由于 JSON 具有结构化格式,因此可以轻松地读取和修改配置数据。
API 通信:许多 Web API 使用 JSON 作为数据传输格式。当客户端请求数据时,服务器会将响应数据以 JSON 格式返回,使得数据的解析和处理更加方便。
NoSQL 数据库存储:JSON 在 NoSQL 数据库中被广泛使用,例如 MongoDB。NoSQL 数据库使用文档型数据库模型,而 JSON 可以很好地表示和存储文档数据。
日志记录:JSON 可以用于结构化日志记录,将重要的日志信息以 JSON 格式记录下来。这样做有助于后续的日志分析和处理。
将字典的类型转换为字符串类型
代码如下(示例):
import json
dict1 = {"name": "wen", "age": 10, "sex": "男"}
json_str = json.dumps(dict1)
print(json_str, type(json_str))
从 JSON 格式的字符串中解码数据并将其转换为 Python 字典
代码如下(示例):
import json
json_str1 = json.loads(json_str)
print(dict1)
dict2 = {"name": "wen", "age": 10, "sex": "男"}
上述代码将一个字典对象 data 写入名为 data.json 的文件中。如果文件不存在,则会创建新文件;如果文件已存在,则会覆盖原有内容。
将数据以 JSON 格式写入文件
代码如下(示例)
import json
with open("dict2.json", "w") as file:
json.dump(dict2, file)
通过指定 indent 参数,我们将生成的 JSON 文件进行了缩进,使其更易读。sort_keys 参数设置为 True 则会按照键的顺序对 JSON 对象进行排序。
代码如下(示例):
import json
with open("data.json", "w") as file:
json.dump(data, file, indent=4, sort_keys=True)
# 从JSON文件中读取数据
with open("data.json", "r") as file:
data = json.load(file)
print(data)