变量作用域及面向对象编程

Python基础

二维码(Quick Respone Code)

也称为快速响应码,它是由两种不同颜色的小方格构成的二维平面图案,它就是将一个数据(通常是字符串)编码为二维码图像,扫描程序可以快速地识别出二维码图像数据(即解码)

 

变量作用域(Scope)问题

变量的作用域:变量可以被访问的代码范围

按照作用域不同,变量可以分为局部变量和全局变量(Global)

Python解释器在搜索被引用变量是遵守LEGB规则

L:Local,即函数内部作用域

E:Enclosing,外层嵌套函数作用域

G:Global,全局作用域

B:Built-in,内建作用域

 

函数除了可以嵌套调用,还可以嵌套定义

 

闭包(Enclosing)

函数内部定义的局部变量在函数返回后继续保留

 

要想实现闭包必须嵌套定义函数

 

版本控制系统

Version Control System,简称VCS,主要解决文件版本管理的问题,分为集中式VCS的和分布式VCS

集中式VCS:SVN等

分布式VCS:GIT等

 

掌握GIT的常用用法

GIT中三个重要的概念:工作区、暂存区、仓库

git log 查看日志

git reflog 查看对仓库所有改变的操作信息

git status 查看工作区状态

git reset --hard HEAD 返回上一次的更改

 

 

面向对象编程

Oriented Object Programming,简称OOP,是一种编程思想,OOP认为构成程序的基本单元为对象(实例),不同对象之间的交互就实现了程序的各种功能

面向过程编程认为函数是构成程序的基本单元,一组函数的顺序执行就实现了程序的各种功能

OOP是编程语言发展的趋势

OOP是通过类和对象实现的 ;对象(Object)也称为实例(instance),任何一个具体的事物都是一个对象,类(Class)是具有相同属性(Attribute,即数据)和方法(Method,即行为)的所有对象的集合或抽象

从数据类型的角度看,类其实是一种自定义数据类型,而对象则是属于该数据类型的一个具体的数据

 

访问限制

以一个或两个下划线开头命名属性和方法表示是私有的,即只能在类中访问它们,不要在类外访问它们,虽然Python没有提供语法规则保证这一点,但我们要自觉遵守!

 

属性(Attribute)

分为实例属性(Instance Attribute)和类属性(Class Attribute),实例属性属于对象所有,每个对象都有自己独立的一份属性,只能通过对象名访问,而类属性属于类所有,所有对象共享一份,可以通过类名和对象名都可以访问

在实际开发中,尽量避免实例属性和类属性同名

 

 

面向对象编程三大特性:封装、继承、多态

 

继承(Inheritance)

在一个类(即父类,基类,超类)的基础上定义一个新的类(子类,派生类),子类将会无条件获得父类所有功能,Python中所有类都必须直接或间接继承于object类,即object类是所有类直接或间接父类

继承体现出IS A的关系

同名覆盖(Override):子类定义了和父类同名的属性或方法

super内置函数:用于在子类中调用父类中被同名覆盖的方法

isinstance内置函数:判断一个对象是否是某个类的对象

单继承(Single Inheritance):父类只有一个

多(重)继承(Multiple Inheritance):一个类的直接父类有两个或多个

 

 

基本数据类型本质其实就是个类

 

python如何遍历文件夹,获取文件名

 

 

 

 

扩展

1.Python中除了object类没有父类其余都有

2.windows下面以点号开头并不是隐藏文件,而是文件的属性为隐藏

3.乱码产生的根本原因:编码解码不一致,建议统一使用utf-8

4.windows下面换行是\r\n,Linux下面换行是\n

5.vim自动格式化 ctrl+v进入可视化 按两个=即可

6.二进制的换算!!

 

 

posted @ 2019-07-24 19:29  YruiZ  阅读(251)  评论(0编辑  收藏  举报