进制转换
↓ | 2进制 | 8进制 | 10进制 | 16进制 |
---|---|---|---|---|
2进制 | - | bin(int(x, 8)) | bin(int(x, 10)) | bin(int(x, 16)) |
8进制 | oct(int(x, 2)) | - | oct(int(x, 10)) | oct(int(x, 16)) |
10进制 | int(x, 2) | int(x, 8) | - | int(x, 16) |
16进制 | hex(int(x, 2)) | hex(int(x, 8)) | hex(int(x, 10)) | - |
简述可迭代对象、迭代器对象、生成器对象
-
可迭代对象:有
__iter__
方法 -
迭代器对象:既有
__iter__
方法,又有__next__
方法 -
生成器对象:有yield关键字的函数
什么是元类,具体说说元类的应用场景
-
元类就是生产类的类
-
应用场景
'''元类实现单例模式''' class MyMeta(type): def __init__(self, name, base, arrs): # 由object类产生一个空的类对象 self._instance = object.__new__(self) # 用type类实例化类对象 super().__init__(self, name, base, arrs) def __call__(self, *args, **kwargs): if args or kwargs: init_args = args init_kwargs = kwargs if init_args==args and init_kwargs==kwargs: return self._instance obj = object.__new__(self) self.__init__(obj, *args, **kwargs) return obj return self._instance class Goo(metaclass=MyMeta): def __init__(self, name, age): self.name=name self.age=age obj1 = Goo('Yumi',18) obj2 = Goo('Yumi',18) print(obj1 is obj2)
MySQL存储引擎间的区别
'''
Innodb:5.0以后的默认存储引擎,数据存储更安全
myisam:5.0以前的默认存储引擎,数据查询速度比Innodb要更快,安全性没Innodb好
memary:内存引擎,数据全部存在内存中,断电数据丢失
blackhole:黑洞,无论存什么数据都会丢失
'''
定位的特点,哪些脱离文档流哪些不脱离
'''
静态static:标签的默认定位样式,无法改变位置
相对定位:标签可以改变位置,以浏览器左上角为原点往右x轴逐渐增大,往下y轴逐渐增大,为负则方向相反
绝对定位:以相对定位的父标签为基准,父标签的左上角为原点,向右为正,向下为正,为负数则方向相反,
无父标签就以body标签为参照
固定定位:标签会固定在窗口的某个位置,不会随着页面的滑动而滑动,可以设置left、top、bottom、right来改变位置
不脱离文档流:相对定位
脱离文档流:浮动、绝对定位、固定定位
'''