- 博客(55)
- 收藏
- 关注
原创 Python项目·《外星人入侵》之计分
这篇文章将结束游戏《外星人入侵》的开发。我们会添加一个 Play 按钮,用于根据需要启动游戏以及在游戏结束后重启游戏,还会修改这个游戏,使其随玩家等级提高而加开节奏,并实现一个计分系统。
2025-08-28 09:00:00
883
原创 Python项目·《外星人入侵》之武装飞船
有关《外星人入侵》的描述,虽然没有涵盖这款游戏的所有细节,但能清楚地知道该如何动手开发。成功状态:首先要创建一个空的 Pygame 窗口,供之后用来绘制游戏元素,如飞船和外星人。还可以让这个游戏响应用户输入,设置背景色,以及加载飞船图像。效果图:Pygame 默认创建一个黑色屏幕,这太乏味了。来将背景设置为另一种颜色,这是在方法 __ init __() 末尾进行的:效果图:每次给游戏添加新功能时,通常也将引入一些新设置。下面来编写一个名为 settings 的模块,在其中包含一个名为 Se
2025-08-21 09:00:00
707
原创 Python基础知识之测试代码
编写函数或类时,可为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。在程序中添加新代码时,也可以对其进行测试,确认不会破坏程序既有的行为。
2025-08-04 09:00:00
1101
原创 Python基础知识之文件和异常
要读取文件,需要一个包含几行文本的文件。89793238462643353279结果:注意:如果程序存在 bug 导致方法 close() 未执行,文件将不会关闭。未妥善关闭文件可能导致数据丢失或受损。如果在程序中过早调用 close() ,会发现需要使用文件时它已关闭(无法访问),这会导致更多错误。并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过上面所示的结果,可让 Python 去确定:你只管打开文件,并在需要时使用它,Python 自会在合适的时候自动将其关闭。
2025-08-02 09:00:00
887
原创 Python基础知识之类
class Car:--snip--"""电动汽车的独特之处""""""初始化父类的属性""""""打印一条描述电瓶容量的消息"""
2025-07-28 09:00:00
643
原创 Python基础知识之函数
"""显示简单的问候语"""")语句 def greet_user():这一行使用关键字 def 告诉 Python,你要定义一个函数。这是函数定义,向 Python 指出了函数名,还可能在圆括号内指出函数为完成任务需要什么样的信息。在这里,函数名为 greet_user(),它不需要任何信息就能完成工作,因此括号是空的(即便如此,括号也必不可少)。最后,定义以冒号结尾。紧跟在 def greet_user(): 后面的所有缩进行构成了函数体。语句 “”“显示简单的问候语”“”这里的文本称为。
2025-07-22 09:00:00
752
原创 Python基础知识之字典
在Python中,每个键都与一个值相关联,可以使用键来访问相关联的值;键和值之间用冒号( : )分隔,而键值对之间用逗号( , )分隔;在字典中,存储键值对不会限制数量。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可以将任何Python对象用作字典中的值。
2025-07-13 09:00:00
440
原创 Python基础知识之if语句
编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中,if 语句能够检查程序的当前状态,并采取相应的措施。
2025-07-11 09:00:00
438
原创 Python基础知识之变量和简单数据类型(变量、字符串、数)
【变量常被描述为可用于存储值的盒子。在刚接触变量时,这种定义可能很有帮助,但它并没有准确描述Python内部表示变量的方式。一种好得多的定义是,。结果:在这段代码中,message为变量,指向的值为文本 “Hello Python world!注:每个变量都指向一个值——与该变量相关联的信息。在程序中可随时修改变量的值,而Python将始终记录变量的最新值。
2025-07-07 09:00:00
591
原创 基于bs4库的HTML格式化和编码
html文本的标签以及内容增加换行符。将任何读入的html文件或字符串都。,因此在使用bs库时没有任何障碍;转换成了UTF8编码。
2023-12-26 15:22:06
621
原创 基于bs4库的HTML内容遍历方法
任何一个html和xml格式的文件都是树形结构,如下:BeautifulSoup库是对标签树的功能的遍历集合,所以我们可以将所有的遍历功能分为上行遍历、下行遍历和平行遍历。
2023-12-26 14:55:51
509
原创 BeautifulSoup库的安装
也称“美味汤”,是非常优秀的python第三方库,能够对html xml格式进行解析并提取其中的相关信息。演示HTML页面地址:https://python123.io/ws/demo.html。
2023-12-22 13:45:16
407
原创 Django——支付宝(沙箱)
django中支付宝(沙箱)简单使用python=3.6.8django=2.1.8python-alipay-sdk=2.0.1非官方支付宝 Python SDK: https://github.com/fzlee/alipay/blob/master/README.zh-hans.md#alipay.trade.page.pay沙箱环境配置1、在支付宝开放平台---->开发者中心—>开发服务---->沙箱2、RSA2密钥生成并上传参考官方地址:https://o
2021-01-18 10:18:13
1288
1
原创 django——ORM聚合查询及关联查询
示例模型类from django.db import models#定义图书模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name='发布日期') bread = models.IntegerField(default=0, verbose_name
2021-01-18 10:17:23
1082
原创 Django——ORM查询集介绍
查询集 QuerySet1 概念Django的ORM中存在查询集的概念。查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):all():返回所有数据。filter():返回满足条件的数据。exclude():返回满足条件之外的数据。order_by():对结果进行排序。对查询集可以再次调用过滤器进行过滤,如BookInfo.objects.filter(bread__gt=30).order_b
2021-01-18 10:16:51
1055
原创 Django——管理器Manager
管理器Managermodel模型可参考管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。我们在通过模型类的objects属性提供的方法操作数据库时,即是在使用一个管理器对象objects。当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,它是models.Manager类的对象。自定义管理器我们可以自定义管理器,并应用到我们的模型类上。注意:一旦为模型类指明自定义的过滤器后,Django不再生成默认管理对
2021-01-18 10:16:10
942
原创 Celery介绍——手机短信异步发送
1.Celery介绍1.1 celery应⽤举例Celery 是⼀个 基于python开发的 分布式异步消息任务队列 ,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要⽤到异步任务,就可以考虑使⽤celery你想对100台机器执⾏⼀条批量命令,可能会花很⻓时间 ,但你不想让你的程序等着结果返回,⽽ 是给你返回⼀个任务ID,你过⼀段时间只需要拿着这个任务id就可以拿到任务执⾏结果, 在任务执 ⾏ing进⾏时,你可以继续做其它的事情Celery 在执⾏任务时需要通过⼀个消息中间件来接收和
2021-01-16 13:45:13
1286
1
原创 mysql主从同步 (利用docker实现一主一从)
MySQL主从同步1. 主从同步机制1.1 主从同步介绍和优点在多台数据服务器中,分为主服务器和从服务器。一台主服务器对应多台从服务器。主服务器只负责写入数据,从服务器只负责同步主服务器的数据,并让外部程序读取数据。主服务器写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步。应用程序可以随机读取某一台从服务器的数据,这样就可以分摊读取数据的压力。当从服务器不能工作时,整个系统将不受影响;当主服务器不能工作时,可以方便地从从服务器选举一台来当主服务器使
2021-01-16 13:44:25
1170
原创 Django实现MySQL读写分离
1. 增加slave数据库的配置DATABASES = { 'default': { # 写(主机) 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'HOST': '192.168.103.158', # 数据库主机 'PORT': 3306, # 数据库端口 'USER': 'itcast', # 数据库用户名 'PASSWORD': '123456', # 数据库用户密
2021-01-16 13:44:01
1142
转载 JWT的应用及配置
JWT在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外
2021-01-16 13:43:30
1274
原创 JWT原理
1.COOKIE使用和优缺点https://www.cnblogs.com/xiaonq/p/11094480.html1.1 cookie原理:用户名+密码cookie是保存在用户浏览器端,用户名和密码等明文信息1.2 session使用原理session是存储在服务器端的一段字符串,相当于字典的key1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,session信息都会写
2021-01-16 13:42:51
1143
原创 Django——虚拟环境
虚拟环境为什么需要虚拟环境:到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题,就是如果你现在用Django 1.18.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 2.1.x开发的,让你来维护,但是Django 1.18.x不再兼容Django 2.1.x的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.18.x和Django 2.1
2021-01-15 16:28:19
1330
原创 django自带模板使用及语法
1 配置在工程中创建模板目录templates。在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此处修改 'APP_DIRS': True, 'OPT
2021-01-15 16:27:47
1300
原创 redis集群搭建
1. 集群的概念集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。当请求到来首先由负载均衡服务器处理,把请求转发到另外的一台服务器上。2. redis集群分类软件层面硬件层面软件层面:只有一台电脑,在这一台电脑上启动了多个redis服务。硬件层面:存在多台实体的电脑,每台电脑上都启动了一个redis或者多个redis服务。3. 搭
2021-01-15 16:27:03
1034
原创 redis主从搭建
主从概念⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离master和slave都是一个redis实例(redis服务)主从配置配置主查看当前主机的ip地址ifconfig修改/etc/redis/redis.conf文件sudo vi redis.confbind 192.168.26.12
2021-01-15 16:26:36
64
原创 redis使用——python
一、介绍redis 是一个NoSQL, 以 key、value形式存在、是基于内存,读写速度快,可持久化二、数据类型string --- 字符串list --- 列表hash --- 哈希 =》排行set --- 集合sortedset --- 有序集合 =》商品列表bitmap --- 位图1、字符串 stringset(name, value) 创建数据redis_conn.set('username', 'zhangsan')get(name) 获取数据
2021-01-15 16:25:45
1205
原创 Django-celery-redis异步发邮件
Django-Celery-Redis异步发邮件python == 3.7.6django == 2.1.8celery == 4.4.7redis == 3.5.3eventlet == 0.26.1什么是celeryCelery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:简单,
2021-01-14 08:59:06
1770
原创 django中间件
中间件Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。1 中间件的定义方法定义一个中间件工厂函数,然后返回一个可以被调用的中间件。中间件工厂函数需要接收一个可以调用的get_response对象。返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个requ
2021-01-14 08:57:50
1693
原创 七牛云上传图片的简单实现——python
参考官方接口文档https://developer.qiniu.com/kodo/sdk/1242/python1、安装pip install qiniu2、准备工作注册账号登陆,个人中心获取Access Key 和 Secret Key创建对象存储空间进入空间获取测试域名3、使用python进行上传from qiniu import Auth, put_file# 获取Access Key 和 Secret Key 后,进行初始化对接:q = Auth(access_k.
2021-01-14 08:56:46
2547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅