当前位置:博客首页 > Python > 正文

Python学习札记

作者: Jarvan 分类: Python 发布时间: 2020-07-04 11:40 百度已收录

1)isinstance

如果要判断两个类型是否相同推荐使用isinstance(),

isinstance(object, classinfo):
object — 实例对象。
classinfo — 可以是直接或间接类名、基本类型或者由它们组成的元组。

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True

2)pickle

pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,pickle序列化后的数据,可读性差,人一般无法识别。

更多了解: https://blog.csdn.net/chunmi6974/article/details/78392230

3)__init__

del xxx 不会主动调用__del__方法,只有引用计数 == 0时,__del__()才会被执行,并且定义了__del_()的实例无法被Python的循环垃圾收集器收集,所以尽量不要自定义__del__()。一般情况下,__del__() 不会破坏垃圾处理器。

参考: https://blog.csdn.net/liuskyter/article/details/80371344

4)pymysql

1、查询数据

import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'seo', port=3306, charset='utf8')
cursor = db.cursor()
cursor.execute("SELECT * from news")
data = cursor.fetchall()[:2]
print(data)

cursor.close()
db.close()

2、增加数据

# 插入多行
# coding:utf-8
import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'yuanrenxue', port=3306, charset='utf8mb4')
cursor = db.cursor()

sql = 'insert into student(name,age) values(%s, %s);'
data = [
    ('张三', 22),
    ('李净衣', 32)
]

s = cursor.executemany(sql, data)
db.commit()

print(s)

cursor.close()
db.close()
# 单条数据提交
# coding:utf-8
import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'yuanrenxue', port=3306, charset='utf8mb4')
cursor = db.cursor()

sql = 'insert into student(name,age) values(%s, %s);'
data = ['张三', 22]

s = cursor.execute(sql, data)
db.commit()

print(s)

cursor.close()
db.close()
# 根据条件进行删除数据
# coding:utf-8
import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'yuanrenxue', port=3306, charset='utf8mb4')
cursor = db.cursor()

sql = 'delete from student where name=%s;'
name = '张三'

s = cursor.execute(sql, [name,])
db.commit()

print(s)

cursor.close()
db.close()
# 更改单条数据
# coding:utf-8
import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'yuanrenxue', port=3306, charset='utf8mb4')
cursor = db.cursor()

sql = 'update student set age=%s where id=%s;'

s = cursor.execute(sql, [11, 2])
db.commit()

print(s)

cursor.close()
db.close()
# 数据回滚
# coding:utf-8
import pymysql

db = pymysql.connect('localhost',  'root', 'root', 'yuanrenxue', port=3306, charset='utf8mb4')
cursor = db.cursor()

sql = 'update student set age=%s where name2=%s;'

try:
    s = cursor.execute(sql, [12, '李衣'])
    db.commit()
    print(s)
except Exception as e:
    print(str(e))
    # 有异常就回滚
    db.rollback()

cursor.close()
db.close()

参考文章:

https://blog.csdn.net/qq_40412500/article/details/80447486

https://www.cnblogs.com/xfxing/p/9322199.html