2024/10/30 09:27:51
response_data= url.response.body
# 去掉开头和结尾的函数调用部分
start_index = response_data.find('(') + 1
end_index = response_data.rfind(')')
# 提取 JSON 部分
json_data = response_data[start_index:end_index]
# 解析 JSON 数据
data = json.loads(json_data)
2024/10/26 22:37:53
<div>
<a href="https://www.allfather.top/">
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&pause=1000&width=435&lines=I'm victor, welcome here!&center=true&size=27">
</a>
</div>
2024/10/26 21:30:29
<!-- dynamic typing effect 动态打字效果 -->
<div>
<a href="https://www.allfather.top/">
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&pause=1000&width=435&lines=I'm victor, welcome here!¢er=true&size=27" />
</a>
</div>
<!-- knock code pictures 敲代码的图片 -->
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/Wang-Phil/Wang-Phil/assets/images/coding.gif" />
<source media="(prefers-color-scheme: light)" srcset="https://cdn.jsdelivr.net/gh/Wang-Phil/Wang-Phil/assets/images/developer.svg" height="225px" />
<img src="https://cdn.jsdelivr.net/gh/Wang-Phil/Wang-Phil/assets/images/coding.gif" />
</picture>
2024/10/21 16:17:58
2024/10/21 10:59:40
# List
List 排队站:List 是有序的集合,支持重复元素。
ArrayList 数组快:ArrayList 基于数组实现,适合随机访问,插入和删除操作相对较慢。
LinkedList 链接慢:LinkedList 基于链表实现,适合频繁的插入和删除操作,随机访问较慢。
# Set
Set 无重复:Set 是不允许重复元素的集合。
HashSet 快速找:HashSet 基于哈希表实现,查找速度快。
TreeSet 自然排:TreeSet 基于红黑树实现,元素自然排序。
LinkedHashSet 插入序:LinkedHashSet 基于哈希表和链表实现,保持元素插入顺序。
# Map
Map 键值对:Map 存储键值对,键是唯一的。
HashMap 快速存:HashMap 基于哈希表实现,提供快速的存取操作。
TreeMap 排序好:TreeMap 基于红黑树实现,键值对自然排序。
LinkedHashMap 插入序:LinkedHashMap 基于哈希表和链表实现,保持键值对的插入顺序。
ConcurrentHashMap 线程安:ConcurrentHashMap 是线程安全的哈希表实现,适用于多线程环境。
# 扩展知识点
迭代器(Iterator):所有集合类都有一个 iterator() 方法,返回一个迭代器对象,用于遍历集合中的元素。
并发安全性:ArrayList、LinkedList、HashMap 等非线程安全的集合类,可以在多线程环境中使用同步机制(如 Collections.synchronizedList())或者使用线程安全的集合类(如 Vector、ConcurrentHashMap)。
泛型(Generics):使用泛型可以指定集合中元素的类型,提高类型安全性和代码可读性。
2024/10/09 10:26:23
from faker import Faker
class BuildingProvider:
def __init__(self, generator):
self.gen = generator
def building_asset_name(self):
# 这里是一些示例建筑资产名的前缀
prefixes = ['阳光', '绿地', '蓝天', '金色', '钻石', '水晶','万科', '恒大', '碧桂园', '华润', '绿地', '金地', '保利', '万科', '中海', '招商']
# 示例后缀
suffixes = ['大厦', '广场', '中心', '花园', '别墅', '公寓', '酒店']
return f"{random.choice(prefixes)}{random.choice(suffixes)}{random.randbytes(2).hex()}"
fake = Faker('zh_CN') # 使用中文语言环境
fake.add_provider(BuildingProvider)
# 创建一个 BuildingProvider 实例,并添加到 Faker 实例中
building_provider = BuildingProvider(fake)
fake.add_provider(building_provider)
#调用
print(fake.building_asset_name())
2024/10/09 08:43:45
# 编程规范
变量、函数和类命名:遵循“见名知意”的原则。变量名应该描述它的内容,函数名应该描述它的功能。比如用user_list比ul更好,用calculate_average比calc_avg更清晰。
Python命名规范:
模块:使用小写字母,必要时用下划线分隔。
类名:采用大写驼峰命名法(CamelCase),如MyClass。
函数和变量:一律使用小写字母,单词之间用下划线连接,如get_user_data。
常量:所有字母大写,用下划线连接,如MAX_SIZE。
2024/09/14 07:58:31
# 滚动使滑块可见
slider.scroll.to_see()
# 设置固定的滑动距离,例如 300 像素
distance_to_slide = 320
# 设定滑动的时间(2到3秒的随机值)
slide_duration = random.uniform(2, 3) # 随机滑动时间,模拟人为操作
# 打印滑动距离和时间
print(f"滑动距离:{distance_to_slide} 像素,滑动时间:{slide_duration:.2f} 秒")
# 拖动滑块到目标位置
slider.drag(distance_to_slide, 0, duration=slide_duration) # 拖动滑块