python day2.3

本文介绍了英雄联盟商城的登录界面选项,包括用户登录、新用户注册和退出系统。同时,详细讲解了Python的基础知识,如编程语言类型(编译型和解释型)、Python的缺点、print函数、字符串操作以及基础数据类型和运算符等。
print(" 英雄联盟商城登陆界面 ")
print("~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*")
print(" 1.用户登录 ")
print(" 2.新用户注册 ")
print(" 3.退出系统 ")
print("~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*")
select = int(input("(温馨提示)请输入您的选型"))
uname = input("请输入您的用户名:")

pwd = input("请输入您的密码:")

ds = input("请输入您的地址:")

#print("用户名是" + uname + "的地址是"+ pwd ,"地址是" + ds)

#print("用户名%s的密码%s,地址是%s"%(uname,pwd,ds))

#print("用户名{}的密码是{},地址是{}".format(uname,pwd,ds))

#print(f"用户名{uname}的密码是{pwd},地址是{ds}")

编程:用代码写程序

编程语言:用哪种语法规则编写程序

1.编译型语言:执行效率高,平台依赖性较高(列:c语言)

2.解释型语言:执行效率相对较低,可移植性相对较高(列:python)

python缺点

1,运行速度慢

2,不能加密代码

简单python代码

1,print() 输出函数

print(Hello,python,end="")

2,缩进要求

不要边用空格键边用Tab

3,单行注释: #

多行注释:

...                         """

我是多行注释     我也是多行注释

...                        ""''

4,结束符

5,变量:程序运行时,存储数据的盒子

变量名=变量值

代码复用,让代码更加灵活

6,标识符命名规则

字符,数字(不能做开头),下划线,中文(不推荐)

大小写敏感;

不可以使用关键字;

定义时,尽量不与内置的方法名,模块重名

数据类型

基本数据类型

数值型

整型(int)

浮点(float)

a = int(input("请输入数字"))
b = int(input("请输入数字"))
print(a+b)

数据类型转换

数字和字符串拼接会报错

拼接+
print("zhangsan:"+str(19))
a=10
b=3.14
print(a+b)//13.14
​
c=True #true 转换成1   flase 转换成0
print(a+c)//11

字符串的格式化

1,用+做拼接

2,当输出之只有一个的时候,print("用户名:",uname)

3,占位符 %d %f %s

%.2f(小数点后保留2位)

print("用户名%s的密码是%s,地址是%s"%(unmae,pwd,ds))

4,format()

print("用户名{}的密码是{},地址是{}".format()uname,pwd,ds)

5,极力推荐

print(f"用户名{uname}的密码是{pwd},地址是{ds}")
 

运算符:
1,算术运算符

+,-,*,/,//(整除,%(求模),**(幂)

2,关系(比较)运算符

> , < ,>=,<= ,!=
3,逻辑运算符

and , or, not

4,所属运算符

in not in

5,is 运算符

is is not

==判断值是否相等

is判断内存地址是否相同

6,赋值运算符

= += -= *= /= **=

例子:a+=3------>a=a+3

python没有自增自减 (i-- i++)

7,三目运算符

8,位运算

字符串:

三引号会保留字符串原本格式,多行保留格式

str():强制转换成字符串

len():字符串里元素的长度
 

字符串的方法

capitalize:字符串首字母大写

center(居中)\ljust(左对齐)\rjust(右对齐):文本对齐

endswich():判断是否以.......结束

startswich():判断是否以......开始

find():如果不存在------->-1 存在:返回具体位置

index():如果不存在直接报错

format():字符串格式化

strip():去除左右空格

lstrip():去除左空格

rstrip():去除右空格

join():拼接

split():分割 split:(”分割“)

lower():转小写

upper():转大写

替换:replace(要替换的目标,替换成的数据)

<think>嗯,用户想了解如何在Python中使用schedule库设置定时任务,并要示例用法。这问题其实挺明确的,用户应该是刚接触定时任务实现的新手。用户之前提供了四个参考引用,内容都很实用。引用[1]展示了基础的时间点调度,引用[2]说明间隔执行任务,引用[3]展示按星期设置,引用[4]则是个高级用例——清理过期任务。要覆盖用户需求,得把这些典型场景都囊括进去。用户特别强调“尽可能参考引用内容”,说明ta需要实用性强、能直接复用的案例。考虑到用户可能遇到的实际问题,应该加入:1.基础安装步骤(因为有人总忘记pipinstall)2.时间格式的多样写法(用户没提但新手常卡在这里)3.取消任务的说明(引用没提但关键功能)4.错误处理(代码不报错对新人很重要)上次回答生成的问题质量很好,这次继续延续:任务并发、参数传递这些进阶问题用户可能暂时不需要,但提前问出来能帮ta拓展思路。最后那个资源占用问题特别实用——毕竟没人想写个定时任务把电脑卡死。用户情绪应该是比较急切的学习状态,回复要快且直给。把示例拆成原子操作很必要,ta可以像拼积木一样组合使用。引用[3]里那个周设置写得不规范,得按PEP8重写;引用[4]的datetime比较逻辑要加时区说明(有人复制代码后发现时间对不上)。要不要提APScheduler呢?用户当前需求schedule足够用了,但最后补充一句替代方案能体现专业性。对了,定时任务持久化这个点可能超纲,放在问题里让用户决定是否深入更好。</think> 以下是在Python中使用`schedule`库设置定时任务的详细说明及实用示例,参考并拓展了站内引用内容: --- ### **1. 基础用法** #### 1.1 安装库 ```bash pip install schedule ``` #### 1.2 按固定间隔执行 ```python import schedule import time def task(): print("任务执行中...") # 每10分钟执行一次 schedule.every(10).minutes.do(task) # 每隔1小时执行 schedule.every().hour.do(task) # 每天上午10:30执行 schedule.every().day.at("10:30").do(task) while True: schedule.run_pending() # 检查待执行任务 time.sleep(1) # 避免CPU满载 ``` > **关键点**:`run_pending()`需在循环中调用以触发任务检测,`time.sleep(1)`减少资源消耗[^2]。 --- ### **2. 高级场景示例** #### 2.1 按星期定时 ```python # 每周一12:40执行 schedule.every().monday.at("12:40").do(task) # 每周二和周四18:00执行 schedule.every().tuesday.at("18:00").do(task) schedule.every().thursday.at("18:00").do(task) ``` > **注意**:星期参数为英文小写(`monday`, `tuesday`等)[^3]。 #### 2.2 多任务并行 ```python def task1(): print("任务1启动") def task2(): print("任务2启动") # 每5秒执行task1,每分钟执行task2 schedule.every(5).seconds.do(task1) schedule.every().minute.do(task2) while True: schedule.run_pending() time.sleep(0.5) # 更频繁检测任务 ``` #### 2.3 带参数的任务 ```python def greet(name): print(f"你好, {name}!") # 每天8:00调用带参数的任务 schedule.every().day.at("08:00").do(greet, name="小明") ``` > **技巧**:`.do()`支持位置参数(`args`)和关键字参数(`kwargs`)传递[^1]。 --- ### **3. 实践技巧** #### 3.1 任务管理 ```python # 取消所有任务 schedule.clear() # 取消单个任务 job = schedule.every().day.at("09:00").do(task) schedule.cancel_job(job) ``` #### 3.2 自动清理过期任务(拓展引用[^4]) ```python import datetime def cleanup(max_age_hours=24): now = datetime.datetime.now() for job in schedule.get_jobs(): if (now - job.last_run) > datetime.timedelta(hours=max_age_hours): schedule.cancel_job(job) print(f"已清理过期任务: {job}") # 每6小时清理一次 schedule.every(6).hours.do(cleanup) ``` --- ### **4. 常见问题解决** - **时区问题**: `schedule`默认使用系统时区,需确保系统时间正确。若需指定时区,可在任务函数中转换: ```python import pytz def timezoned_task(): tz = pytz.timezone(&#39;Asia/Shanghai&#39;) now = datetime.datetime.now(tz) print(f"北京时间: {now}") ``` - **任务阻塞**: 长时间运行的任务会阻塞后续任务,解决方案: ```python import threading def long_job(): threading.Thread(target=complex_operation).start() # 在新线程中执行 ``` --- ### **替代方案建议** 对高精度或分布式定时需求,可考虑: - **APScheduler**:支持持久化存储和并发控制 - **Celery Beat**:适合分布式系统 - **操作系统级工具**:如Linux的`cron`(`crontab -e`) ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值