前言 当我们自己去写SQL代码的时候有时候会因为不熟练会导致效率低,再之后要进行许多的优化,并且操作也较为繁琐.因此ORM框架就能够解决上面的问题,它能根据自身的一些规则来帮助开发者去生成SQL代码.按性能上看虽然直接去写SQL语句会比ORM框架生成的效率高,但实际上每一个开发者的SQL代码程度都参差不齐,因此框架在这里就起到了一个统一的作用. ORM框架(SQLAlchemy) 作用:提供简单的规则,去自动转换成SQL语句 安装: pip install SQLAlchemy; 系统架构: S…
Hmac模块 其实这个模块类似hashlib模块,它能将一些重要的信息通过算法加密成密文,让信息更具有安全性. 关于hmac加密算法的了解:它的全名是哈希运算消息认证码(Hash-based Message Authentication Code),HMAC利用hash算法,以一个消息M和一个秘钥K作为输入,生成一个定长的消息摘要作为输出.HMAC算法利用已有的hash函数,关键问题是如何使用秘钥. 使用 import hmac #这个模块和hashlib机制很相似 h = hmac.new(b…
第十二篇(书中 5.1节 内容) 昨天把 第4章完成了. 今天来看第5章. 接下来是 5.1节 的内容. 总结一下 5.1节 的重点: 1.如何制作一个公用按钮皮肤. 跟着做: 重点1:如何制作一个公用按钮皮肤. 首先,先创建一个 exml 文件. 创建上一节学到的自定义皮肤按钮. 把外围矩形调整和按钮一样大小. 接着拖入label组件,代替按钮原来的文本. 接着,按照书中所说. 虽然不知道为什么一定要改成labelDisplay,姑且先照着做吧. 好,那么ID名也起好了. 然后再起个标签名字.…
Python的优势 互联网公司广泛使用python来做的事一般有:自动化运维.自动化测试.大数据分析.爬虫.Web等. Python与其他语言 C和Python.Java.C#: C  语言:代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言:代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码后,再在处理器上执行 对于使用:Python的类库齐全并且使用简洁,如果实现同样的功能,Python 10行代码可以解决,C可能需要100行代码. 对于速度:Pytho…
MySQL作业分析 五张表的增删改查: 完成所有表的关系创建 创建教师表(tid为这张表教师ID,tname为这张表教师的姓名) create table teacherTable( tid int auto_increment primary key, tname ) )engine=innodb default charset=utf8; 创建班级表(cid为这张表班级ID,caption为这张表班级门号) create table classTable( cid int auto_incr…
面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为.对象作为程序的基本单位,将程序和数据封装其中,以提高程序的重用性,灵活性和可扩展性.类是创建对象的模板,一个类可以创建多个对象.对象是类的实例化. 类是抽象的,不占用存储空间:而对象具体的,占用存储空间. 面向对象有三大特性:封装,继承,多态. 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如St…
外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务的名字,很浪费空间;除此之外也能起到一个约束的作用. 像department就是外键. 执行代码: create table t1( uid bigint auto_increment primary key, name ), department_id int, gender int, const…
参考:访问限制 NOTE 1.eg. #!/usr/bin/env python3 class Student(object): """docstring for Student""" def __init__(self, name, age, city): self.__name = name self.__age = age self.__city = city def print_info(self): print(self.__name,…
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成python的数据类型 2.Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.l…
一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMIT 5) 不支持负的索引(例如Entry.objects.all()[-1]).通常,查询集 的切片返回一个新的查询集 —— 它不会执行查询. 可迭代 articleList=models.Article.objects.all() for article in articleList: print…
转载自:http://www.cnblogs.com/liwenzhou/articles/8305104.html Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为…
目录: 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令事务 索引 创建数据库 外键 增删改查表 权限 python 操作mysql  ORM sqlachemy学习 内容: 1.数据库介绍 什么是数据库? 数据库是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建.访问.管理.搜索和复制所保存的数据,我们也可以将数据存储在文件中,但是文件读写数据速度相对较慢,所以现在我们使用关系型数据库管理系统RDBMS来存储…
牛刀小试: 定义一个无参函数 >>> def myFirstFunc(): ... print("Hello python") ... print("hello world") ... print("hello my fist func") ... >>> myFirstFunc() Hello python hello world hello my fist func 定义一个有参函数 >>>…
目录: 一.伪类 二.样式 1.字体 2.背景图片 3.margin和padding 4.列表属性 5.float 6.clear 7.position 8.text-decoration(a标签下划线去除) 9.vertical-align 内容: 一.伪类 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Titl…
参考:StringIO和BytesIO NOTE 1.StringIO: 顾名思义就是在内存中读写str. #!/usr/bin/env python from io import BytesIO as StringIO def main(): f = StringIO() f.write('Hi') f.write(' ') f.write('all') print(f.getvalue()) f1 = StringIO('Hi I am wasdns') s = f1.readline()…
迭代 基本含义 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果.每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值.  在计算科学中,迭代是程序中对一组指令(或一定步骤)的重复.它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种特定形式的具有可变状态的重复. 操作 >>> lst =[1,2,3,4] >>> for i in lst: #for 循环读取列表中的每一个元素 ... print i…
1.python要操作redis 首先需要安装redis模块,然后导入才能使用 安装:pip install redis 导入:import redis 2.连接redis r = redis.Redis(host='192.168.21.129',password='123456',db=1,port=6379) password在配置文件redis.conf中查看,port一般是6379,db可根据需要操作的数据库进行选择 3.redis的增删改查 redis中key所存储的值类型有多种,主…
我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下: import smtplib from email.mime.text import MIMEText email_host = 'smtp.163.com' #邮箱地址 email_user = 'xxxx@163.com' # 发送者账号 email_pwd = 'xxxx' # 发送者密码 maill…
文件 文件和文件夹 文件:文本文件.二进制文件 文件夹:(windows) G:\pythonWorkspace\python\study (linux/mac) /home/workspace/python 注意:文件夹路径的斜杠linux与windows不同 windows下文件路径:示例 >>> p1="G:\pythonWorkspace\python\study\test.txt" >>> p2 =r"G:\pythonWorks…
参考链接: is there a way to through maxscript to make the time slider go to a spacific frame? 最近老师布置了要用mitsuba渲染动画的任务,然而mitsuba这样的古董没法导入1.4.1版本的dae文件,所以只好先将dae文件导入max中,再一帧帧导出成obj.然而如果手动一帧帧导出也太麻烦了,所以我打算学习一下maxscript怎么用. 脚本如下,取名为export.ms: outputDir="C:/Us…
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: file模块是针对某个指定文件进行[打开…
摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184474383175eeea92a8b0439fab7b392a8a32f8fa000 本文章完全用来个人复习使用,侵删: functools.partial 就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import funct…
import random,string print(random.randint(1,199))#1-199随机取一个整数,包含199 print(string.digits)#所有的数字0-9 print(string.ascii_lowercase)#所有的小写字母 print(string.ascii_uppercase)#所有的大写字母 print(string.ascii_letters)#所有的大写字母+所有的小写字母 print(string.punctuation)#所有特殊字…
基本数据类型补充 set set集合,是一个无序且不重复的元素集合 #创建 s = {11,22,33,44}#类似字典 s = set() #转换 l = (11,22,33,44) s1 = set(l) #iterable print(s1) l = [11,22,33,44] s1 = set(l) #iterable print(s1) l = "1234" s1 = set(l) #iterable print(s1) {33, 11, 44, 22} {33, 11, 4…
全局变量补充 python自己添加了些全局变量 print(vars()) """结果: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00795650>, '__spec__': None, '__annotations__': {}, '__…
Mysql存储过程 存储过程是保存在Mysql上的一个别名(就是一堆SQL语句),使用别名就可以查到结果不用再去写SQL语句.存储过程用于替代程序员写SQL语句. 创建存储过程 delimiter // CREATE PROCEDURE p1() BEGIN SELECT * FROM studenttable; INSERT INTO teachertable(tname) VALUES('陈晨'); END // delimiter ; 当我们写完这段代码并执行,再去调用p1()就可以直接执…
一.面向对象编程 面向对象,是一种程序设计思想. 编程范式:编程范式就是你按照什么方式去编程,去实现一个功能.不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,两种最重要的编程范式分别是面向过程编程和面向对象编程. 面向过程:什么是面向过程,面向过程的思想就是把一个项目,一件事情按照一定的顺序,从头到尾一步一步的做下去,先做什么,后做什么,一直到结束.这种编程思想,只要前面一个步骤变了,那么后面的就也要变,后面维护一起比较麻烦,这样的编程思想,我们在写一些简单的小程序,只执行一…
Mysql视图 假设执行100条SQL语句时,里面都存在一条相同的语句,那我们可以把这条语句单独拿出来变成一个'临时表',也就是视图可以用来查询. 创建视图: CREATE VIEW passtview AS SELECT student_id, course_id, number FROM scoretable WHERE ; 执行语句后,可以在左边的视窗中看到刚创建的视图表 如果在scoretable中插入一条数据,视图中也会随之增加.因为scoretable它的本质是一张物理表,即真实存在…
Mysql函数 高级函数 1.BIN(N) 返回N的二进制编码 ); 执行结果: 2.BINARY(str) 将字符串str转换为二进制字符串 select BINARY('ASCII'); 执行结果: 3.CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE result END 4.CAST(expr AS type) 转换…
使用Navicate 创建一个连接去使用Mysql的数据库,连接名可以取任意字符但是要有意义 新增一个数据库 填写新数据库名,设置它的字符集和排序规则 新建一个表 增加表中的信息 点击保存再去输入表名完成创建,再添加数据: 使用外键将两表产生联系 再创建一个department表 添加数据: 创建外键,右键userinfo设计表创建外键: 写入SQL语句 点击查询->新建查询 转储SQL文件 将SQL文件进行备份 保存数据和结构 保存结构 使用终端进行转储 保存数据和结构(备份) 保存结构(备份…