1. 协程

   并发的解决方案:

    多进程

       多线程

       什么叫并发:看起来同时进行

    如何实现并发:切换+保存状态

    进程线程都是由操作系统调度的

协程:单线程下实现的并发,应用程序级别的切换,操作系统无法感知

    找到一个解决方案:1.在多个任务直接切换+保存状态

             2.检测应用程序的IO,实现遇到IO才切换。

并发提高效率:遇到IO的时候切换,才能提高效率,如果是计算,就不会提高效率。

    yield:能实现协程,但是不能提高效率。

    greenlet:需要pip3 install greenlet

from greenlet import greenlet

    g1=greenlet()

    g1.switch()

2.        gevent()

    安装:pip3 install gevent

from gevent import monkey

monkey.patch_all()         这两行代码写到文件的首部

import gevent

gevent.sleep(2)

    g1=gevent.spawn(eat,name='egon')

    g2=gevent.spawn(play,'alex')

g1.join()

g2.join()

3.         利用gevent写一个socket连接。

    单线程实现并发连接

4.         socketserver模块

    基于TCP

       import socketserver

       class MyTCPhandler(socketserver.BaseRequestHandler):            #通信

def hanler(self):

               while True:

           data=self.request.recv(1024)

           self.request.send(data.upper())

    if __name__=='__main__':

      socketserver.ForkingTCPServer      #windows不能使用多进程模式

      s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyTCPhandler)

      s.server_forever()

    基于UDP:

   

import socketserver

       class MyTCPhandler(socketserver.BaseRequestHandler):            #通信

def hanler(self):

               client_data=self.request[0]

          self.request[1].sendto(client_data.upper(),self.client_address)

    if __name__=='__main__':

      socketserver.ForkingTCPServer      #windows不能使用多进程模式

      s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyTCPhandler)

      s.server_forever()

5.   数据库介绍及mysql安装

   yum install mysql_server mysql -y

   

6.     mysql的基本管理

   mysql -h127.0.0.1 -uroot -p

mysqld --install

设置密码:

      mysqladmin -uroot -p password "123";

      破解密码:

   net stop mysql

   mysqld --skip-grant-tables 跳过授权表

      mysql -uroot -p

   update mysql.user set password=password('') where user='root' and host='localhost';

      flush privileges;

修改my.ini配置文件。

       在mysqld里面设置:skip-grant-tables

    [mysqld]

       [mysql]   mysql自带的客户端

    user='root'

    password='123'

       [client]    所有的客户端

       user='root'

    password='123'

建立账号:

      grant select,update on *.* to

7.      mysql的基本sql语句

库   增删改查

   表   增删改查

      记录   增删改查

8.        mysql的存储引擎

    innodb

9.        mysql的数据类型:

      数字类型:

      整型:默认有符号,指定无符号:unsigned

        int

        tinyint

        bigint

      浮点型

         float

         double

         decimal

      字符类型

      char

      varchar

   时间类型

      date

      time

      datetime

      timestamp

      year

   枚举类型

      enum

      setn  

      

Python学习笔记十一的更多相关文章

  1. python 学习笔记十一 SQLALchemy ORM(进阶篇)

    SqlAlchemy ORM SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据A ...

  2. Python学习笔记十一:模块

    标准库(内置模块) time与datetime 模块 时间表示方式 1.时间戳 2.格式化的字符串 3.元组形式 时间戳就是一个秒数 x=time.time(),从1970年1月1日0时0分0秒到现在 ...

  3. python学习笔记十一:操作mysql

    一.安装MySQL-python # yum install -y MySQL-python 二.打开数据库连接 #!/usr/bin/python import MySQLdb conn = MyS ...

  4. python学习笔记(十一)redis的介绍及安装

    一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库.       2.redis的官网地址,非常好记,是redis.io. ...

  5. python学习笔记(十一)-python程序目录工程化

    在一个程序当中,一般都会包含文件夹:bin.conf.lib.data.logs,以及readme文件. 所写程序存放到各自的文件夹中,如何进行串联? 首先,通过导入文件导入模块方式,引用其他人写好的 ...

  6. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  7. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  8. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  9. Go语言学习笔记十一: 切片(slice)

    Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...

随机推荐

  1. Plctext 如何发送默认的模式

    当切屏指令都没有的情况下,就会发,即:当65这个地址位(0-7),都为零的情况下.

  2. ES6中6种声明变量的方法

    相关阅读:http://es6.ruanyifeng.com/#docs/let 相关阅读:https://www.cnblogs.com/ksl666/p/5944718.html 相关阅读:htt ...

  3. Centos下MariaDB操作

    MariaDB简介 MariaDB是mysql数据库的一个分支,操作几乎和mysql一样 MariaDB安装.启动.停止 # 安装 yum -y install mariadb mariadb-ser ...

  4. Django基础(路由、视图、模板)

    目录导航 Django 路由控制 Django 视图层 Django 模版层 Django 路由控制 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用 ...

  5. 用js提取字符串中的某一段字符

    String.prototype.getQuery = function(name){var reg = new RegExp("(^|&)"+ name +"= ...

  6. MAC上有哪些优秀的日常软件| 入门级Mac OS 用户必备软件

    本文整理的网友反馈的MAC上有哪些优秀的日常软件+入门级Mac OS 用户必备软件,感兴趣的朋友可以看看,下载下来试用一样便知实不实用.如有更好的推荐,欢迎留言. MAC上有哪些优秀的日常软件 Tim ...

  7. 基于前后端分离的Nginx+Tomcat动静分离

    1.什么是动静分离 "动"与"静" 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就 ...

  8. python之路(6)迭代器和生成器

     目录 迭代器(Iterator) 生成器(Generator) 迭代器 迭代器协议:对象提供一个next方法,执行该方法要么返回下一项,要么引起一个Stopiteration异常 可迭代对象:实现了 ...

  9. JGUI源码:Tab组件实现(9)

    程序界面效果如下 Tab组件由多个TabItem组成,超出部分隐藏,可以通过左右按钮滑动显示出来 1.封装 // 初始化内容 $(function () { J.JTab($(".jgui- ...

  10. CTR预估中GBDT与LR融合方案(转载)

    1.背景 CTR预估,广告点击率(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入.CTR预估中用的最多的模型是LR(Logis ...