1.私有成员公有成员 1.1 类的私有属性 # class A: # # name = '周道镕' # __name = 'zdr' # 私有类的属性 # # def func(self): # print(self.name) # print(self.__name) # obj = A() # obj.func() 结论:在类的内部可以访问 # class A: # name = '周道镕' # __name = 'zdr' # 私有类的属性 # # def func(self): # pa…
面向对象之继承 1.什么是面向对象的继承 继承(英语:inheritance)是面向对象软件技术当中的一个概念. 通俗易懂的理解是:子承父业,合法继承家产 专业的理解是:子类可以完全使用父类的方法和属性 如果一个类A"继承自"另一个类B,则把类A称为类B的子类(或派生类),把类B称为父类(或超类或基类) 继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码.在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能…
面向对象之 反射,双下方法 1. 反射 计算机科学领域主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 主要适用于四种情况: 1.对对象的反射 class Foo: f = '类的静态变量' def __init__(self,name,age): self.name=name self.age=age def say_hi(self): print('hi,%…
1.面向对象之三大特性 1.1封装 封装:就是把一堆代码和数据,放在一个空间,并且可以使用 对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容. 例如:函数,把一些类似功能封装在一个函数中 class Student: def __init__(self,name,sex): self.name = name self.sex = sex zdr = Student('周道镕','Handsome_Girl') print(zdr…
面向对象之:类空间问题以及类之间的关系 1.从空间角度研究类 1.何处添加对象属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex # 类外面可以: obj = A('barry') obj.age = 18 print(obj.__dict__) # {'name': 'barry', 'age': 18} # 类内部也可以: obj = A('barry') # __i…
面向对象初始 1.1 面向过程编程vs函数式编程 函数编程较之面向过程编程最明显的两个特点: 1,减少代码的重用性. 2,增强代码的可读性. 1.2 函数式编程vs面向对象编程 面向对象编程:是一类相似功能函数的集合,使你的代码更清晰化,更合理化. 面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来. 类:就是具有相同属性和功能的一类事物. 对象:就是类的具体表现,类的实例化. ⾯向对象思维, 要⾃⼰建立对象…
JS代码的引入 方式1: <script> alert('兽人永不为奴!') </script> 方式2:外部文件引入 src属性值为js文件路径 <script src="test.js"></script> 变量声明 变量名是区分大小写的. 推荐使用驼峰式命名规则.首字母大写 保留字不能用做变量名. 声明前要加var关键字. var a = 1; 加var定义的变量是全局变量,在函数里定义会是局部变量 不加定义的变量不管在哪,都是全局…
一. 数据库初始 1. 为什么要有数据库? ​ 先来一个场景: ​ 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应该是多台机器一起分担用户的购票请求. 那么问题就来了,票务信息的数据存在哪里?存在文件里么? 如果存储在文件里,那么存储在哪一台机器上呢?是每台机器上都存储一份么? 首先,如果其中一台机器上卖出的票另外两台机器是感知不到的, 其次,是如果我们将数…
协程 一. 协程的引入 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更高的程序替代了它 协程本质上就是一个线程,以前线程任务的切换是由操作系统控制的,遇到I/O自动切换,现在我们用协程的目的就是较少操作系统切换的开销(开关线程,创建寄存…
CSS样式 控制高度和宽度 width宽度 height高度 块级标签能设置高度和宽度,而内联标签不能设置高度和宽度,内联标签的高度宽度由标签内部的内容来决定. 示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>诗</title> <style> #d1 { width: 100px;…