摘要:
一:CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到,一个样式表时,就会按照。 二:CSS语法 每个CSS有两部分组成:选择器和声明,声明又包括属性和属性值。每个声明由分号结束。 三:CSS的几种引入方式 3.1:行内样式 行内式是 阅读全文
摘要:
GIL GIL是CPython解释器的全局锁,顾名思义,GIL是一把锁在解释器上的锁,每个进程启动,调用CPython解释器执行的时候都会在进程中生成一把GIL全局锁,一个进程中多线程并发的情况下,所有启动的线程去竞争GIL,拿到了GIL就相当于拿到CPython解释器的执行权限,可以调用解释器执行 阅读全文
摘要:
一:特性(property) property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 利用这种特性可以把类的功能属性伪装成数据属性,更加方便的调用; 为什么要用property? 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了 阅读全文
摘要:
一:认识继承 继承是一种创建新类的方式,创建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生或子类 子类会遗传父类的属性,从而解决代码重用性的问题 在python3中所有的类都是新式类 在Python2中所有的没有显示的继承object的类及其子类都是经典类 在Python2中所 阅读全文
摘要:
一:面向对象编程的由来 面向对象编程是一种编程思想 面向过程编程的思想,面向过程的核心是过程二字,过程即解决问题的步骤,先干什么,再干什么,,是一种机械式的思维方式。 从面向过程编程思想上可以发现,一旦项目要求快速迭代,随时扩展,那么面向过程编程就会非常吃力,所以在面对有扩展需求的项目时,就需要面向 阅读全文
摘要:
一:列表生成式和生成器表达式 1.1.用传统的方法创建一个列表 用传统的方法创建列表需要至少三行的代码,采用列表生成式: 一行代码就已经搞定了列表的创建,大大简化了我们写代码的工作量,而且还可以在生成式里面添加一个判断。 这样,列表生成的就是大于10的数字了。 1.2.生成器表达式 生成器的优势在于 阅读全文
摘要:
一:三元表达式 三元表达式仅应用于: 条件成立返回一个值 条件不成立返回一个值 三元表达式的实现形式: 二:函数的递归 在函数的调用中,间接或直接的调用了函数本身 递归分为两个阶段: 回溯阶段:一定要在满足某种条件结束回溯,否则会无限循环; 递归阶段 上述的函数如果通过索引取值的话,不知到什么时候会 阅读全文
摘要:
一:迭代的概念 迭代器即迭代的工具,那么迭代是什么概念呢? 迭代是一个重复的过程,每重复一次即迭代,并且每一次迭代的结果都是下一次的初始值 简易的迭代器 为什么要有迭代器? 对于序列类型:字符串、列表、元组,我们可以使用索引的方式迭代取出其包含的元素。但对于字典、集合、文件等类型是没有索引的,若还想 阅读全文
摘要:
一:开放封闭原则 软件一旦上线后,就必须遵循开放封闭原则,具体内容是: 对修改源代码封闭,对功能的扩展是开放的。 软件上线后不允许修改源代码,那么如何实现对功能的扩展了?我们需要一个解决方案,在不修改源代码及调用方式的前提下,对软件功能进行扩展。 将要求和实现目标做一个总结: 要求一:不修改源代码 阅读全文
摘要:
一:函数对象 函数是第一类对象,即表示函数可以当做数据传递 可以被引用:把函数内存地址赋值给一个变量名,仍然遵循函数的调用规则。 可以被当做参数传递:传递的是函数的运行的结果#可以当做返回值 把函数作为返回值返回的话,返回的结果是函数的内存地址。 可以当做容器类型的元素:意思就是可以作为列表和字典的 阅读全文