11 2017 档案
摘要:并发编程 进程 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的 必备的理论基础 #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口
阅读全文
摘要:操作系统简介 什么是操作系统 精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序 操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组
阅读全文
摘要:什么是socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们无需深入
阅读全文
摘要:面向对象进阶 反射 反射:通过字符串的形式操作对象相关的属性 getattr() 使用字符串数据类型的变量名获取属性值 hasattr() 使用字符串数据类型的变量名判断属性是否存在 setattr() 使用字符串数据类型的变量名获修改属性值 delattr() 使用字符串数据类型的变量名获删除属性
阅读全文
摘要:类的内置方法 str 和 repr class A: def __str__(self): return 'A的对象' def __repr__(self): return 'repr: A的对象' a = A() print(a) # A的对象 本质调用的是__str__,如果没实现,就调用__r
阅读全文
摘要:常用模块(hashlib,configparser,logging) hashlib hashlib 摘要算法的模块md5 sha1 sha256 sha512摘要的过程 不可逆能做的事:文件的一致性检测用户的加密认证 单纯的md5不够安全 加盐处理 简单的盐可能被破解 且破解之后所有的盐都失效 动
阅读全文
摘要:包 导入模块的方法 创建目录结构 import os os.makedirs('glance/api') os.makedirs('glance/cmd') os.makedirs('glance/db') l = [] l.append(open('glance/__init__.py','w')
阅读全文
摘要:接口类 接口类:是规范子类的一个模板,只要接口类中定义的,就应该在子类中实现接口类不能被实例化,它只能被继承支持多继承接口隔离原则:使用多个专门的接口,而不使用单一的总接口。即客户端不应该依赖那些不需要的接口 抽象类 模板 规范抽象类可以实现一些子类共有的功能和属性抽象类不鼓励多继承文件操作:打开文
阅读全文
摘要:人 狗 有相同属性的同时 还有一些不同的属性 派生属性:在自己的init方法里使用父类的init方法——指名道姓调用派生方法:在子类中增加父类没有的父类没有 子类有: 子类子类没有 父类有: 父类父类有 子类有: 子类父类有 子类有: 想用父类的 —— Animal.eat(snoopy)父类有 子
阅读全文
摘要:面向对象的命名空间 属性:静态属性(直接和类名关联的对象或者直接定义在class下的变量)、对象属性(在类内和self关联,在类外和对象名关联的变量) 类名操作变量 不管操作可变还是不可变数据类型 都是类中对应的变量发生变化对象名操作静态变量引用变量:先在自己的命名空间中查找,找不到就去类的命名空间
阅读全文
摘要:面向对象 面向对象编程 是一种思想对象就是具体的拥有准确属性值的一些变量类:一类具有相同属性和方法的事物 类的定义 class关键字 类名的首字母大写类中直接定义属性:静态属性(变量) 和动态属性(函数)类名的两个作用:属性引用,实例化对象类和属性的操作:类名.属性名 类名.__dict__['属性
阅读全文
摘要:模块和包 模块 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用
阅读全文
摘要:异常处理 python中常见的异常种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错
阅读全文
摘要:常用模块(random,os,json,pickle,shelve) random import random print(random.random()) # 0-1之间的小数 print(random.uniform(10,12)) # n,m之间的小数 生成随机整数 print(random.
阅读全文
摘要:闭包函数 闭包的定义内部的函数引用了外部函数的变量 def f1(b): # 闭包的常用状态 def f2(): print(b) return f2 ff = f1('bbb') ff() def f1(): # 从内部函数返回一个值到全局 b = 10 def f2(): return b re
阅读全文
摘要:re模块和正则表达式 正则 —— 通用的,处理 字符串正则表达式正则是一种处理文字的规则给我们提供一些规则,让我们从杂乱无章的文字中提取有效信息 模块它只是我们使用python去操作一些问题的工具而已,和要操作的这个东西本身是两件事情 re模块 —— python使用正则正则规则需要记忆的特别多:两
阅读全文
摘要:常用模块(collections,time,sys) collections 在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等 n
阅读全文
摘要:匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 # 这段代码 def calc(n): return n ** n print(calc(10)) # 换成匿名函数 calc = lambda n: n ** n # lambda表达式、匿名函数,可以不传参数 print(cal
阅读全文
摘要:内置函数 内置:python自带 作用域相关 locals 获取执行本方法所在命名空间内的局部变量的字典 globals 获取全局变量的字典 迭代器,生成器相关 range(100) # [0,100) range(5,100) # [5,100) range(1,100,2) # 可迭代对象,可以
阅读全文
摘要:递归函数 递归在一个函数里面调用自己默认递归最大限度为1000不要修改默认的递归最大限度往往递归都是和循环挂在一起的人理解循环,神理解递归算法,递归函数 def story(): print('从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?') while True: story() d
阅读全文
摘要:各种推导式 找出30以内所有能被3整除的数 l = [i for i in range(30) if i % 3 == 0] print(list(range(0,30,3))) print(l) 找出30以内所有能被3整除的数的平方 l = [i**2 for i in range(30) if
阅读全文
摘要:生成器 我自己想写个可迭代的,——生成器生成器的本质就是迭代器因此生成器的所有好处都和迭代器一样但是生成器是我们自己写的python代码生成器的实现有两种方式:1.生成器函数2.生成器表达式 def func(): return ['衣服1','衣服2000000'] ret = func() pr
阅读全文
摘要:迭代器 'iterable' 可迭代的 内部含有__iter__方法的数据类型就是可迭代的 —— 可迭代协议 print(dir([])) print(dir({})) print(dir(5)) print('__iter__' in dir('abc')) # True ret = 'abc'.
阅读全文
摘要:装饰器 装饰器的作用在不改变函数的调用方式的情况下,给函数的前后添加新功能 # 关于时间 import time # 模块 # time.sleep(1) # print(time.time()) # print(' ') # def timmer(func): # start_time = tim
阅读全文
摘要:# def my_sum(*args):# sum_2=0# for i in args:# sum_2+=i# return sum_2### ret=my_sum(1,2,3,4)# print(ret)# #命名空间, 名称空间 namespa# 局部命名空间:每个函数都拥有自己的命名空间#
阅读全文

浙公网安备 33010602011771号