练习题1:
v = dict.fromkeys(['k1','k2'],[])
print(v)
v['k1'].append(666)
print(v)
v['k1'] = 777
print(v)
 
  
{'k1': [], 'k2': []}
{'k1': [666], 'k2': [666]}
{'k1': 777, 'k2': [666]}
 
  
新式类经典类的区别:
经典类:
    python3 中没有经典类 在python2.7版本中不会主动继承object
    继承的查找顺序 深度优先,
    没有mro方法 没有super方法
新式类:
    python3中所有的类都是新式类,主动继承object
    继承的查找顺序广度优先
    有mro super方法
什么是元类?
默认的情况下所有的类的元类都是type,除非指定元类
from abc import ABCMeta
class Payment(metaclass=ABCMeta):
    pass
class Mypayment():
    __metaclass__ = ABCMeta
print(type(Payment))
print(type(Mypayment))
 
  
yield与yieldfrom
def func():
    for i in 'egon':
        yield i
    for j in 'alex':
        yield j
gene = func()
print(list(gene))
 
  
['e', 'g', 'o', 'n', 'a', 'l', 'e', 'x']
 
  
def func():
    yield from 'egon'
    yield from 'alex'
gene = func()
print(list(gene))
 
  
['e', 'g', 'o', 'n', 'a', 'l', 'e', 'x']
 
  
正式进入数据库:
关系型数据库:一条数据记录包含了一个事物的多条信息,
    信息之间有一定的关联
    mysql 开源的
    oracle 企业级的
    sqlite 轻量级的
    sqlserver 大学
非关系型数据库:存取频繁的,并且要求存取的效率高,数据之间的关联不突出
    存储结构:
        类似于字典:k-v
        id content
    memcache
    redis
    MongoDB
    nosql
与数据库用户相关的操作:
1,启动myql数据库:
    >net start mysql
2,启动客户端:
    >mysql
3,使用最高权限root用户登录
    mysql>-uroot -p;
4,退出登录
    mysql>exit
5,输入过程中放弃本次输入:
    mysql>\c
6,查看当前登录的用户:
    mysql>select user();
7,查看所有的数据库
    mysql>show databases;
8,设置密码
    mysql>set password = password('123');
9,创建用户:
    服务器进行的操作:
        >creat user 'alex'@'192.168.16.%' identified by '123'
        >creat user 'eva'@'%' identified by '123'
    客户端登录:
        mysql>-ueva -p123 -h 192.168.16.39#客户端远程登录sql服务
        #新创建出来的用户eva是没有使用数据库的权限
10,创建用户并授权
    服务器进行的操作:
    grant select/all on '库.表' to '用户名'@'ip地址' identified by '123'
11,给新用户授权
    服务器进行的操作:
    grant select/all on '库.表' to '用户名'@'ip地址'
    grant select on '*.*' to 'eva'@'%'