前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日笔记

每日笔记

作者头像
小闫同学啊
发布2019-07-18 10:30:00
4820
发布2019-07-18 10:30:00
举报
文章被收录于专栏:小闫笔记小闫笔记

今天主要学习的就是装饰器 和 数据库的一些基本操作

主要知识点:


装饰器的作用:为已有的函数,在不改变源代码和不改变原函数的调用方式的前提下,增添新的功能。

装饰器的核心原理:我们在调用被装饰器装饰器的函数的时候,其实此函数名并不是原函数了,而是装饰器中的内函数的引用。(一定要记住这句话!!!!!!重要的话说三遍,假装我说了三遍了)

装饰器分类简单了解即可,我们需要记忆的内容是万能装饰器的格式:

  1. import time
  2. # 定义一个外函数,实现用作装饰器的闭包
  3. def set_func(func):
  4. # 定义一个内函数
  5. def inner(*args,**kwargs):
  6. # 装饰功能语句,截取起始时间
  7. start = time.time()
  8. # 调用实际执行的函数(被装饰的函数)
  9. result = func(*args,**kwargs)
  10. # 装饰功能语句,截取结束时间
  11. end = time.time()
  12. # 显示一下时间
  13. print('共用了%s秒 ' % (end - start))
  14. # 返回被装饰函数的结果
  15. return result
  16. # 返回内函数的引用
  17. return inner

上面试一个简单的万能装饰器,实现的是给函数增加一个现实所用时间的功能。

类装饰器:

  1. # 实现装饰器类
  2. # 实现两个方法
  3. # inint方法,用来接收被装饰函数的应用
  4. # call方法,用来让被装饰函数名调用时,可执行,因为使用类装饰器后,被装饰函数就不在指向原函数对象,而是指向类的实例对象
  5. import time
  6. class CountTime(object):
  7. # 事项init,作用,接收被装饰函数名
  8. def __init__(self,func):
  9. # 将被装饰的函数名保存起来
  10. self.__func = func
  11. # 实现call方法,这个方法才是被装饰函数执行时,真正执行的方法,也就是闭包中的内函数
  12. def __call__(self, *args, **kwargs):
  13. start = time.time()
  14. result = self.__func(*args, **kwargs)
  15. end = time.time()
  16. print('共用了 %s 秒' % (end - start))
  17. return result
  18. @CountTime # show1 = ConuntTime(show1) ----> show = <class CountTime at @xxxxx> -> show1()

与之前的装饰器一样,只不过此处返回的是一个实例对象,不再是一个函数。

多个装饰器装饰同一个函数:(装饰的原理在问题解决中进行一个详细的解释)

用的不多,见到的时候知道咋回事就行了

装饰的时候从下到上装饰,执行的时候从上向下执行。

装饰器时为已有的函数添加额外的功能。

知道了原理就行了

装饰器的传参:

其实就是在一个闭包函数外面再套一层函数,用来接收参数。

关系型数据库:

列:列、属性、字段

域:当前字段的取值范围。

行:元组、记录

数据库的基本操作:

ps 查看系统进程 aux 查看所有进程

  • 启动服务 sudo service mysql start
  • 停止服务 sudo service mysql stop
  • 重新启动服务 sudo service mysql restart
  • 查看服务状态 sudo service mysql status

连接:

mysql -hlocalhost -P3306 -uroot -p

mysql -uroot -pmysql

mysql -uroot -p

退出:

exit国际通用

quit

ctrl + d

mysql> --查看当前数据库有哪些 -> show databases;两个横杠代表注释

新建数据库

create database 数据库名;

create database 数据库名charset utf8; (创建一个支持中文的数据库)

查看数据库的创建信息

show create database 数据库名;

改数据库

alter database 数据库名 charset utf8;

alter database 数据库名 charset=utf8;

使用切换数据库

查看当前操作的数据库

select database();

切换

use 数据库; (这个操作可以不写封号)

use 数据库

删除数据库

drop database 数据库名;

查看数据库

show databases;

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档