搞懂Python的类和对象名称空间】的更多相关文章

代码块的分类 python中分几种代码块类型,它们都有自己的作用域,或者说名称空间: 文件或模块整体是一个代码块,名称空间为全局范围 函数代码块,名称空间为函数自身范围,是本地作用域,在全局范围的内层 函数内部可嵌套函数,嵌套函数有更内一层的名称空间 类代码块,名称空间为类自身 类中可定义函数,类中的函数有自己的名称空间,在类的内层 类的实例对象有自己的名称空间,和类的名称空间独立 类可继承父类,可以链接至父类名称空间 正是这一层层隔离又连接的名称空间将变量.类.对象.函数等等都组织起来,使得它…
一.课前回顾 类:具有相同属性和方法的一类事物 实例化:类名() 过程: 开辟了一块内存空间 执行init方法 封装属性 自动的把self返回给实例化对象的地方 对象:实例 一个实实在在存在的实体 组合: 一个类的对象 作为另一个类对象的属性 让两个类之间产生关系 __dict__(): 查看类中所有静态属性和方法 查看所有对象的属性.类对象指针 静态属性:类的属性,所有的对象共享这个变量 对象名:去修改 类的静态属性 在对象的空间中有创建了一个属性,而不能修改类中属性的值 操作静态属性 应该…
一.面向对象 1.面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式. 优点:复杂的问题流程化.进而简单化 缺点:可扩展性差 2.面向对象 核心"对象"二字,对象指的是特征与技能的结合体, 基于该思想编写程序就好比在创造一个世界,你就是这个世界的上帝,是一种 上帝式的思维方式 优点:可扩展性强 缺点:编程的复杂度高于面向过程 重点:面向对象的核心体现是将数据和处理数据的程序…
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程(流水线式) 优点:极大的降低了程序的复杂度 缺点:应用场景固定住了,可扩展性差 2.函数式编程 特点: a.不修改外部传来值的状态 b.精简,可读性差 c.模仿数学里的函数 3.面向对象编程(是用来解决程序的可扩展性的) 优点:解决了程序的可扩展性 缺点:可控性差 二.面向对象设计与面向对象编程 1.面向对象设计 面向对象设计(Object oriented design):将一类具体事物的数据和动作整…
1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照步骤一一解决,也可以说 将一个复杂的问题,流程化(为其制定一个固定的实现流程),从而变得简单化例如:要将大象装进冰箱 打开冰箱 装进大象 关闭冰箱门 以上实现方式 是面向过程的实现方式 面向过程编程优缺点: 优点:复杂的问题,简单化, 缺点:由于其实现流程是固定的,一旦中间某一个步骤发生了修改,将导…
1.类与对象的概念 类即类别.种类,是面向对象设计最重要的概念,从一小节我们得知对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体. 那么问题来了,先有的一个个具体存在的对象(比如一个具体存在的人),还是先有的人类这个概念,这个问题需要分两种情况去看 (1)在现实世界中:肯定是先有对象,再有类世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,比如 人类.动物类.植物类等概念.也就说,对象是具体的存在,而类仅仅只是一个概念,…
Python初识类与对象 类与对象 世界观角度分析类与对象 类是一个抽象的概念,而对象是一个实体的存在,对象由类创造而出,每个对象之间互相独立互不影响,一个对象可以同时拥有多个类的方法,实例化就是通过某类创建对象的过程. 比如,某一个人是一个具体的对象,而人类则是人这个对象的来源,人类是一个抽象的概念并且人类又属于哺乳类,所以人也应该具有哺乳类的方法和行为(继承),每个人具有不同的样貌,声音及其自身的不同习惯(多态).一只猴子不属于人类,因为他没有人类共有的属性和方法,比如:人没有尾巴,人会说话…
python的类和对象2(self参数) 1.python里面对象的方法都会有self参数,它就相当于C++里面的this指针:绑定方法,据说有了这个参数,Python 再也不会傻傻分不清是哪个对象在调用方法了,你可以认为方法中的 self 其实就是实例对象的唯一标志. 2.__init__(self)称作:魔法方法,类在实例化以后会主动进行调用 举例如下: 3.在python编程里面类的定义里面,类的属性一般可以分为私有和共有两大类,对于一般的属性定义都是指类的共有属性,可以被外界直接访问,而…
复习, 昨天讲了字符串的比较,按照从左往右比较每一个字符,通过字符对应的ASCII码进行比较 函数的参数,‘ 实参与形参 形参:在函数定义时()中出现的参数 实参,在函数调用时()中出现的参数 实参的分类 位置实参:给位置形参传值,必须 按位置 关键字实参:给位置与关键字形参,不需要按照顺序 形参的分类, ··无值位置形参 ··有值位置形参 ··可变长位置形参 ··有无值关键字形参 ··可变长关键字形参 def fn(a,b=10,*args,x,y=10,z,**kwargs):pass 4:…
前言 犹记得当初学习Python的时候,对于Python一切皆对象很是懵逼,因为Python是面向对象的动态型语言,而在函数及高阶函数的应用中,如若对于一切皆对象不是有很透彻的了解,基础不是那么牢固的话,那么对于今后的Python进阶而言,就有点拖后腿了,鉴于有朋友跟我联系说,对于一切皆对象掌握的不是太牢固,那么, 木子的本篇博客就对此知识点进行概括总结. 如有不当之处,还望各位大佬指正. 简述 长话短说,本文主要针对Python一切皆对象来讨论,主要从以下两个方面来论述: Python的一等公…