热门关键字:
jquery > jquery教程 > jquery教程 > python基础知识整理

python基础知识整理

314
作者:管理员
发布时间:2021/3/26 19:11:41
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4298
  一、三大编程范式


  编程范式即编程的方法论,标识一种编程风格


  三大编程范式:


  1.面向过程编程


  2.函数式编程


  3.面向对象编程


  二、编程进化论


  1.编程最开始就是无组织无结构,从简单控制流中按步写指令


  2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定义了一个函数),便实现了代码重用,且代码由无结构走向了结构化,创建程序的过程变得更具逻辑性


  3.我们定义函数都是独立于函数外定义变量,然后作为参数传递给函数,这意味着:数据与动作是分离的


  4.如果我们把数据和动作内嵌到一个结构(函数或类)里面,那么我们就有了一个‘对象系统’(对象就是数据与函数整合到一起的产物)。


  三、面向对象设计与面向对象编程


  def定义函数是面向对象


  class定义类是面向对象


  1、面向对象设计


  面向对象设计(Object oriented design):将一类具体事物的数据和动作整合到一起,即面向对象设计


  示例1:


  什么是类?


  类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念。


  什么是对象?


  对象:就是基于类而创建的一个具体的事物(指具体存在的),也是特征和动作整合到一起。


python基础知识整理



  示例2:


  学校类:


  特征:name,addr,type


  动作:考试,招生,开除学生


  2、面向对象编程


  面向对象编程(object-oriented programming):用定义类+实例/对象的方式去实现面向对象的设计


  小结:


  在Python中,类和 OOP 都不是日常编程所必需的。尽管它从一开始设计就是面向对象的,并且结构上支持 OOP,但 Python 没有限定或要求你在你的应用中写 OOP 的代码。


  用面向对象语言写程序和一个程序的设计是面向对象的,两者就是两码事。


  四、类和对象


  1.什么叫类:类是一种数据结构,就好比一个模型,该模型用来表述一类事物(事物即数据和动作的结合体),用它来生产真实的物体(实例)。


  (铅笔是对象,人是对象,房子是对象,狗是对象,alex是对象,配齐是对象,元昊是对象)


  3.类与对象的关系:对象都是由类产生的,上帝造人,上帝首先有一个造人的模板,这个模板即人的类,然后上帝根据类的定义来生产一个个的人


  4.什么叫实例化:由类生产对象的过程叫实例化,类实例化的结果就是一个对象,或者叫做一个实例(实例=对象)


  五、类的相关知识


  1、初识类


  在python中声明函数与声明类很相似。


  声明函数


  声明类


  经典类与新式类


  示例:


  2、属性


  类是用来描述一类事物,类的对象指的是这一类事物中的一个个体


  是事物就要有属性,属性分为


  1:数据属性:就是变量


  2:函数属性:就是函数,在面向对象里通常称为方法


  注意:类和对象均用点来访问自己的属性


  类的属性


  理论:数据属性即变量,类的定义与函数又极其类似,其实可以用函数的作用域来理解类的属性调用。


  类的数据属性


  类的函数属性(又称为方法)


  查看类属性


  我们定义的类的属性到底存到哪里了?有两种方式查看


  dir(类名):查出的是一个名字列表


  类名。__dict__:查出的是一个字典,key为属性名,value为属性值


  执行结果:


  特殊的类属性


python基础知识整理



  六、对象相关知识


  对象是由类实例化而来,类实例化的结果称为一个实例或者称作一个对象


  1.1、实例化


  什么是实例化?


  由类生产对象的过程就叫实例化


  1.2、构造函数


  类是数据属性和函数属性的结合,描述的是一类事物


  这类事物的一个具体表现就是一个实例/对象,比方说中国人是一个类,而你就是这个类的一个实例


  你除了有中国人这个数据属性外,还应该有名字,年龄,性别等数据属性


  如何为实例定制数据属性,可以使用类的一个内置方法__init__()该方法,在类()实例化是会自动执行


  注意:在说实例化的时候说过,执行类()会自动返回一值,这个值就是实例,而类()会自动执行__init__,所以一定不要在该函数内定义返回值,会冲突。


  1.3、实例属性


  理论:


  1.实例只有数据属性(实例的函数属性严格来说是类的函数属性)


  2.del 实例/对象,只是回收了实例的数据属性,函数属性是属于类的,是不会回收。


  实例化的过程实际就是执行__init__的过程,这个函数内部只是为实例本身即self设定了一堆数据(变量),所以实例只有数据属性。


  那么我们想访问实例的函数属性(其实是类的函数属性),如何实现


  改进版本


  3、实例属性和查看实例属性的方法如下:


  同样是dir和内置__dict__两种方式


  原理图


  示例:


  执行结果:


  1.4、特殊实例属性


  __class__


  __dict__


  警告:类和对象虽然调用__dict__返回的是一个字典结构,但是千万不要直接修改该字典,会导致你的oop不稳定。


  1.5、类属性与对象(实例)属性


  1、类属性的增、删、改、查


  执行结果:


  2、实例属性的增、删、改、查


  执行结果:


  1.其实你会发现,实例化就是 类名(),然后返回的结果是一个对象,加上括号是不是跟函数运行很像,函数运行完了有返回值,是不是很像,没错,就是一样的。


  2.函数又作用域的概念,其实类也有作用域的概念,二者一样


  3.你可以把class当做最外层的函数,是一个作用域


  4.实例化会自动触发init函数的运行,最后返回一个值即实例,我们要找的实例属性就存放在init函数的局部作用域里


  5.类有类的属性字典,就是类的作用域,实例有实例的属性字典,即实例的作用域


  6.综上,一个点代表一层作用域,obj.x先从自己的作用域找,自己找不到去外层的类的字典中找,都找不到,就会报错


  7.在类中没有使用点的调用,代表调用全局变量。




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐