一.静态属性 静态属性相当于数据属性. 用@property语法糖装饰器将类的函数属性变成可以不用加括号直接的类似数据属性. 可以封装逻辑,让用户感觉是在调用一个普通的数据属性. 例子 class Room: def __init__(self,name,length,width,heigh): self.name = name self.length = length self.width = width self.heigh = heigh ​ @property #通过使用property…
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象.而变量是对象的一个引用(又称为名字或者标签),对象的操作都是通过引用来完成的.例如,[]是一个空列表对象,变量 a 是该对象的一个引用 在 Python 中,「变量」更准确叫法是「名字」,赋值操作 = 就是把一个名字绑定到一个对象上.就像给对象添加一个标签. a = 1 整数 1 赋值给变量…
模块 Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中有一个概念叫做模块(module) 简单地说,模块就是一个保存了Python代码的文件. 模块分类: 1)内置模块 2)自定义模块 3)第三方模块 模块存在方式: ".py" "文件夹" paramiko 模块(这个模块需要安装,具体安装方法很简单,这里不做说明) 用途:linux 主机远程 用到这个模块 模块的导入 在Python中用关键字import来引入某个模块,比如要引用sys这个…
递归 在函数内部,可以调用其他函数; 如果一个函数在内部调用自身本身,这个函数就是递归函数. 例如,我们来计算阶乘: n! = 1 x 2 x 3 x ... x n, 用函数f1(n)表示,可以看出: f1(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = f1(n-1) x n 所以,f1(n)可以表示为 n x f1(n-1),只有n=1时需要特殊处理. 于是,f1(n)用递归的方式写出来就是: def f1(n): if n==1:…
装饰器: 学前必备知识: def f1(): print "f1" f1() #表示函数执行 f1 #表示函数,指向内存地址 f1 = lambda x: x + 1 f1() # 执行这个lambda表达式,而不再是原来的f1函数,因为函数f1被重新定义了 装饰器代码剖析: 假如有这么一个需求,公司临时规定将某块业务加上访问权限,因为代码太多,又不想改变原有已经封装好的 代码,于是乎,基础平台的同志们想出了这么一个解决办法:利用装饰器解决 那么什么是装饰器?这个问题先留着,直接看代码…
一.__call__ 对象后面加括号,触发执行类下面的__call__方法. 创建对象时,对象 = 类名() :而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() class Foo: ​ def __call__(self, *args, **kwargs): print("我执行啦") ​ f = Foo() f() #对象加括号调用执行类下的__call__方法 #输出结果 我执行啦 二.__next__和__iter__实现迭代器协议 迭…
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Me…
面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(object):     pass   obj = Foo()   isinstance(obj, Foo) 二.issubclass(sub, super) 检查sub类是否是 super 类的派生类 1 2 3 4 5 6 7 class Foo(object):     pa…
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是复制粘贴 即:将之前实现的代码块复制到现需功能处. while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发…
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)python  JAVA :既可以写网页 ,也可以写后台功能 -python:执行效率低,开发效率高 -java:执行效率高,开发效率低 2)php :只适用于写网页 3)python种类: jpython ironpython JavaScriptpython rubypython cpython 4)安装…