python编程语法-Python基础及语法(十三)
数据库开发
比较有名的模块有:
MySQLdb 支持Python2,不知道Python3,已停止更新
mysqlclient 在MySQLdb的基础上支持Python3
MYSQL官方Connector 网址:https://dev.mysql.com/downloads/
pymysql 语法兼容MySQLdb,使用纯Python写的Mysql客户端库,支持Python3
pymysql与MySQLdb模块
MySQLdb的安装命令是:pip install mysqlclient
import pymysql
import MySQLdb
conn = None
cursor = None
try:
# conn = pymysql.connect(host='localhost', user='user', password='password', database='test', port=3306) # 用pymysql建立mysql连接
conn = MySQLdb.connect(host='localhost', user='user', password='password', database='db_test', port=3306) # 用MySQLdb建立mysql连接
print(type(conn), conn)
conn.ping(False) # ping不通抛异常,True则重连
# with conn as cursor: # pymysql支持上下文获得游标
cursor = conn.cursor() # 获得游标
sql = """select * from tb_test"""
rows = cursor.execute(sql) # 执行sql语句
print(rows) # 返回行数
print('1', cursor.rownumber, cursor.rowcount) # 游标当前行数,总行数
print(cursor.fetchone()) # 返回一行
print('2', cursor.rownumber, cursor.rowcount)
print(cursor.fetchmany(2)) # 返回指定若干行
print('3', cursor.rownumber, cursor.rowcount)
cursor.rownumber = 0 # 设置游标行数,支持正负数
print(cursor.fetchall()) # 返回游标后的所有行
print('4', cursor.rownumber, cursor.rowcount)
conn.commit() # 进行增删改时,需要提交事务,查不用
except:
conn.rollback() # 事务回滚
finally:
if cursor:
cursor.close() # 关闭游标
if conn:
conn.close() # 关闭数据库连接
元编程
写代码来生成需要的代码,这就是元编程
类构建
class Test(object):
a = 1
def __init__(self, b):
self.b = b
def init(self, b):
self.b = b
test = type('test', (object,), {'__init__': init})
test.a = 1
print(type(Test), Test, Test.mro(), Test.__dict__)
print(type(test), test, test.mro(), Test.__dict__)
t1 = Test(3)
t2 = test(3)
print(t1.a)
print(t2.a)
print(type(t1), t1, t1.__dict__)
print(type(t2), t2, t2.__dict__)
# test与Test结构一样
构建元类
class A(type): # 元类
def __new__(cls, name, bases, dicts):
print(cls)
print(name)
print(bases)
print(dicts)
return super().__new__(cls, name, bases, dicts)
class B(A): # 继承父类
pass
class C(metaclass=A): # 使用元类A
pass
class D(C): # 继承父类C,使用元类A
pass
E = A('E', (C,), {})
print(type(A), A.__bases__) # (,)
print(type(B), B.__bases__) # (,)
print(type(C), C.__bases__, C.mro()) # (,)
print(type(D), D.__bases__, D.mro()) # (,)
print(type(E), E.__bases__, E.mro()) # (,)
python编程语法-Python基础及语法(十三)相关推荐
- python快速编程入门课后程序题答案-Python编程从零基础到项目实战 完整PPT+习题答案...
Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...
- 零基础学python实战答案-Python编程从零基础到项目实战 完整PPT+习题答案
Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...
- python快速编程入门黑马-新手如何快速入门Python编程?/开发python入门教程
Python从入门到实践的教程是什么? 第一阶段Python与Linux数据这是Python的入段,也是帮助零基础学员打好基础的重要阶段,让零基础学员可以具备基础的编程能力,并掌握MySQL进阶内容. ...
- 基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真
基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真目录 一.RSSI测距定位简介 1.什么是RSSI测距定位 2.RSSI测距定位优点 3 ...
- python关闭对象语法_Python基础及语法(七)
文件操作 文件常用操作 open:打开 read:读取 write:写入 close:关闭 readline:行读取 readlines:多行读取 seek:文件指针操作 tell:指针位置 打开操作 ...
- 自学python编程免费教程-python编程入门 零基础学习Python基础(附带最新免费教程)...
本篇是面向编程零基础学员的Python入门教程,内容涵盖了Python的基础知识和初步应用.以较轻快的风格,向零基础学习者介绍了一门时下比较流行的.并且用途比较广泛的编程语言.同时,其语法简洁而清晰, ...
- python编程入门书籍-零基础学习Python编程,这8本书必看!
作为一名程序员,你肯定知道Python语言,从2017年开始Python的热度就一路飙升,已经成为大量开发者推荐入门的编程语言和第二编程语言,而且Python还是人工智能的主要编程语言,受到大众的追捧 ...
- python 编程入门学习基础
什么是编程语言 学习知识的本质,就是解决3个问题: 1.它是什么 2.它有什么用 3.我该怎么用/不用它会怎样 学习一个东西,最重要的是搞清楚它的本质和实质!!! 学会从生活中找例子,通过生活例子,来 ...
- python编程狮app题库_Python编程狮-零基础学Python im App Store
Python编程狮是W3Cschool编程狮旗下专门为零基础Python编程爱好者打造的一款入门工具App,致力于帮助初学者入门,轻松迈入编程世界.学Python,从这里开始! [零基础也能学]初学者 ...
- python编程狮题库答案_Python编程狮-零基础学Python dans l’App Store
Python编程狮是W3Cschool编程狮旗下专门为零基础Python编程爱好者打造的一款入门工具App,致力于帮助初学者入门,轻松迈入编程世界.学Python,从这里开始! [零基础也能学]初学者 ...
最新文章
- 使用React.js开发自己的Chrome插件
- 直播预告丨揭秘神策数据销售方法论,一起向 Top Sales 迈进!
- linux ssh抓包,如何在SSH连接Linux系统的环境下使用wireshark抓包?
- TA能让你家的那些“哑”终端都“活”过来
- 网络信息安全实验 — 网络攻击技术实验(Kali系统,John、lc7、arpspoof、ettercap、SQL注入...)
- linux 内核修炼之道——系统调用
- Java学习路线图(如何快速学Java)
- PreferenceScreen 悬浮清除按钮
- 关系代数表达式优化步骤
- 解决异常redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
- 【java】java如何保留时分秒存取mySql中的datetime类型数据的方法 及 显示时间与数据库存放时间相差n小时的解决方法
- 汇编语言寄存器AX,BX,CX,DX
- 推荐系统概述推荐系统算法简介
- python26章_44G-26章节Python盖世修炼最新实战 全新升级版Python全栈架构师高级课程 从零实战...
- uniapp微信头像
- altium designer 心得
- 组件图知识点(UML)
- Maven打包(瘦身打包部署),不包含第三方依赖jar包
- vue--百度地图之离线地图--大量标注点造成卡顿问题--海量点聚合性能优化
- 苹果手机充电孔变松了_用iPhone 12的MagSafe无线充电器给安卓手机充电?苹果:你想多了|充电器|安卓手机|手机|iphone|iphone手机...
热门文章
- SQLSERVER2005登录时出错
- Linux自学日记1
- java and asp.net
- 【Problem solved】 error C2665: “loadimage”: 2 个重载中没有一个可以转换所有参数类型...
- 大道至简_阅读笔记02
- 关于android开发环境中sdk和adt更新到22.6之后多了appcompat_v7
- 转:Git_Windows 系统下Git安装图解
- HashMap数据类型使用注意-不能使用基本数据类型
- python语言程序设计基础第二版答案-python语言程序设计基础(第二版)第五章答案随笔...
- python利器怎么编程-OpenCV-Python,计算机视觉开发利器