1.python怎么连接MySQL数据库?
导入pymysql模块
步骤:
1)建立与数据库的连接
2)得到游标
3)通过游标执行sql语句
4)获取数据库的内容
5)进行数据库的查看
6)关闭游标,数据库
# 导入模块
import pymysql
# 建立连接
conn = pymysql.connect(
user = 'root', # 用户名
password = '123456', # 密码
host = 'localhost', # 指定访问的服务器,本地localhost,远程服务器写ip地址
database = 'record', # 数据库名字
port = 3306, # 指定端口号
charset = 'utf-8' # 数据库编码方式
)
# 使用cursor()方法获取游标
cursor = db.cursor()
# 使用execute方法执行sql语句
cursor.execute("select version()")
# 使用fetchone()方法获取一条数据
data = cursor.fetchone()
# 关闭数据库连接
db.close()
2.python怎么获取当前系统时间?
1)导入datetime模块
import datetime
current_time = datetime.datetime.now()
print("current_time: " + str(current_time))
2)导入time模块
import time
start = time.strftime("%Y-%m-%d- %H:%M:%S")
print(start)
3.python中的数据类型有哪些?
int整型、float浮点型、complex复数、string字符串、Boolean布尔型
list列表、tuple元组、set集合、dictionnary字典
4.python中怎么设置定时任务?
1)死循环中sleep(轮询,阻塞)
在死循环内放入执行的任务,sleep一段时间之后执行
import time
def func():
print("func executed")
def timer():
while True:
func()
time.sleep(5) #每隔5秒执行一次函数
timer()
在循环内加入时间判断逻辑,可以执行定时任务
date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
if date == "2022-6-17 22:34":
func()
2)threading模块的Timer方法
threading模块提供了一个定时器触发的函数Timer是一个非阻塞函数,多线程实现非阻塞,缺点是只能等待固定的时间,然后执行一次任务。
from threading import Timer
def func(para):
print(para)
print("func executed")
def timer(delay):
hit = "timer called function"
t = Timer(delay,func,(hit)) # 三个参数分别是:延迟时间 调用函数 (传入调用函数的参数(必须是tuple))
t.start()
timer(3.0)
3)sched模块
python内置模块sched,它提供延时调度的机制,每次执行任务都必须写入一个调度。
import sched
import time
scheduler = sched.scheduler(time.time,time.sleep) # 两个参数分别为:返回时间戳的函数,默认是time.time ,
# 定时未到达之前执行何种函数的阻塞,默认是time.sleep
def func(para):
print(para)
print("func executed")
def timer(delay):
hit = "timer called function"
scheduler.enter(delay,0,func,(hit)) # 四个参数分别为 延迟时间 优先级(如果调度包含多个任务,需指定优先级) 调用函数 传入参数
scheduler.run()
timer(3)
4)第三方库APScheduler定时框架(Advanced Python Scheduler)
APScheduler是一个强大的python定时框架,它提供了基于日期、固定时间间隔、以及类Linux crontab类型的定时任务,并支持持久化和以daemon方式执行任务。
后续内容待更新。。。
5.python中列表和元组的区别?
最主要的区别是,列表是可变的,元组是不可变的
可以修改列表的值,但是不能修改元组的值
列表是动态的,长度大小不固定,可以做增删改操作
元组是静态的,长度在初始化的时候就已经确定不能更改,无法做增删改操作。
6.python中json和str类型转换
1) str转换json
str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号。如果不一致,推荐用正则进行拆分至和json格式一致
2)python对象转换为json字符串通过json.dumps
import json
str = '{"name": "苏", "age": 18}'
j = json.loads(str)
print(j)
j = json.dumps(j)
print(type(j))
3)json字符串转换成python对象通过json.loads
import json
str = '{"name": "苏", "age": 18}'
j = json.loads(str)
print(j)
print(type(j))
4) eval函数可以把列表、元组、字典与字符串相互转换
a = "[[1,2], [3,4]]"
b = eval(a)
print(type(b)) # 列表
a = "{1: 'a', 2: 'b'}"
b = eval(a)
print(type(b)) # 字典
a = "([1,2], [3,4], [5,6], (9,0))"
b = eval(a)
print(type(b)) # 元组
7.python中对excel文件的操作
1)xlrd模块读取Excel
2)xlwt模块写入Excel
3)xlutils模块修改Excel
4)openpyxl读取、写入、修改Excel
在openpyxl中,有三个概念:Workbooks,Sheets,Cells
Workbooks是一个excel工作表,
Sheet是工作表中的一张表页,
Cell是一个简单的表格,
步骤就是打开Workbooks,定位Sheets,操作Cells
8.分析进程、线程、多线程
进程:是一个动态概念,当启动一个应用的时候,就启动了一个进程,关闭应用,,进程结束。
线程:是组成进程的基本单位,一个进程由一个或多个线程组成,线程与进程都是动态的。
区别:
1)包含关系,进程中有线程。
2)进程拥有独立的运行内存空间,每个进程所占内存空间都是独立的,互不干扰。
3)线程是共享内存空间的,但每个线程的执行都是独立的。
4)单独的线程无法运行,需要由进程控制。
多线程:是指在一个进程中,多个线程同时执行,但并不是真正意义上的同时执行。
系统会为每个线程分配CPU资源,在某个时间段内CPU会被一个线程占用,因此不同时间段是由不同线程占用的,只是由于CPU运行速度快,难以察觉线程在交替运行,感觉在同时执行。

2960

被折叠的 条评论
为什么被折叠?



