
Python
Quietw
hello world!
展开
-
Python functools常用函数
partial函数(偏函数) 把一个函数的某些参数设为默认值,返回一个新函数,调用这个新函数,会更简单、import functoolsdef showargs(*args,**kwargs): print(args) print(kwargs)p1 = functools.partial(showargs,1,2,3)p1()p1(2,3,4)p1(a...原创 2018-07-16 14:13:20 · 412 阅读 · 0 评论 -
Python属性和方法
属性有两种,类属性,实例属性。给类下所有的对象添加属性,可以添加类属性,给对象添加的实例属性,类下的其他对象,并不会获得这个属性。class Person(object): passPerson.sex = "male"#所有对象都能获得p1 = Person()p1.age = 12p2 = Person()print(p2.sex)#maleprint(p2.age)#报...原创 2018-07-13 14:17:47 · 589 阅读 · 1 评论 -
Python内存管理机制
Python优化了速度,使用了小整数[-5,257)对象池,避免为整数频繁申请和销毁内存空间单个字符也提供对象池,常驻内存每一个大整数,均创建一个新对象对于字符串,单个单词,不可修改,你人开启intern机制,采用引用计数机制共用对象,引用计数为0则销毁垃圾回收GC导致引用计数+1的情况 对象被创建 对象被引用 对象被作为参数,传入到一个函数中 对象被作为一个元素,传存储在...原创 2018-07-13 15:47:22 · 214 阅读 · 0 评论 -
Python 网络基础和UDP
目录IP地址子网掩码端口号协议IP地址IP地址由网络地址和主机地址组成,有A、B、C、D、E5类,其中A、B、C是基本类,D、E类作为多播(视频会议、直播等)和保留使用(实验、开发)。IP地址又可分为公有IP和私有IP公有地址(Public address)由Inter NIC(Internet Network Information Center英特网信息中心)负...原创 2018-07-25 10:54:10 · 235 阅读 · 0 评论 -
Python Socket编程
Socket简介Sccket的英文原意是“孔”或者“插座”。作为BSD UNIX的进程通信机制,取最后一种意思,通常也称“套接字”,用于描述IP地址和端口,是一个通讯链的句柄,可以用来实现不同虚拟机或者不同计算机的通信。Sccket本事是编程接口(API)对于TCP/IP的封装,TCP/IP也要提供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数...原创 2018-07-26 09:36:52 · 267 阅读 · 0 评论 -
Python多线程
线程:是进程中一个“单一连续的控制流”、执行路径线程又被称为轻量级进程 一个进程可拥有多个并行的线程 一个进程中的线程共享相同的内存单元、内存地址空间,可以访问相同的变量和对象,而且他们从同一堆中分配对象,通信、数据交换、同步操作,缺点线程是对全局变量随意修改,可能造成多线程之间对全局变量的混乱(不安全),可以通过传参的方式调用全局变量(不适用可变类型),但是修改次数过多,会有多次线...原创 2018-07-20 16:12:18 · 194 阅读 · 0 评论 -
Python tftp文件下载
from socket import *import structudpSocket = socket(AF_INET,SOCK_DGRAM)tftpAddr = ("192.168.235.1",69)#发送请求filename = input("请输入文件名:")fmt = str.format("!H%dsb5sb"%len(filename))msg = struct....原创 2018-07-27 14:36:36 · 382 阅读 · 0 评论 -
Python协程
比线程更小的执行单元; 用户自己控制; 某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另一个函数中; 协程自己主动让出CPU; 协程的切换只是单纯的操作CPU的上下文,比线程切换更迅速; 1:N模式,一个线程作为一个容器,里面放置多个协程; 使用IO密集型的程序。Python中greenlet模块对协程进行了封装比greenlet更强大并且可以自动切换任务模...原创 2018-08-01 15:44:48 · 169 阅读 · 0 评论 -
Python正则表达式
正则表达式:使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换、某个模式的文本,常用于含有大量字符串处理的工作,比如监测输入的账号、密码等。在Python中有特定的re模块来进行字符串匹配。import re#使用match方法进行匹配result = re.match(正则表达式,要匹配的字符串)#如果上一步匹配到数据的话,可以使用group方法来提...原创 2018-08-02 13:52:30 · 161 阅读 · 0 评论 -
PyMySQL
安装模块:pip install PyMySQL主要有两个对象,Collection对象和Cursor对象。Collection对象用于建立与数据库的连接 创建对象,调用connect()方法 参数host,连接的mysql主机,如果是本机则是‘localhost’ 参数port,连接的 MySQL主机端口,默认是3306 参数db,数据库的名称 参数user,连接的用...原创 2018-08-21 12:14:13 · 1241 阅读 · 0 评论 -
Python 数据库代码封装
#coding:utf-8import pymysqlclass MysqlHelp(object): config = {"host": "localhost", "user": "root", "password": "CENTos_", "db": "test", "charset": "utf原创 2018-08-21 13:10:22 · 424 阅读 · 0 评论 -
Python装饰器
修饰器:python装饰器就是用于拓展原来函数功能的一种函数(引入日志,函数执行时间统计,执行函数前的预处理,执行函数后的清理功能,权限校验,缓存等),这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。本质是一个闭包。 #带有不定参数的装饰器import timedef deco(func): def w...原创 2018-07-12 15:30:56 · 145 阅读 · 0 评论 -
Python闭包
闭包:外部函数的返回值是一个内部函数,且内部函数引用了外部函数的参数,则称内部函数为闭包。def fun1(a): def fun2(b): print("b is %d"%b) return a + b return fun2...原创 2018-07-12 15:27:08 · 155 阅读 · 0 评论 -
Python常用内建属性
__init__:对象构造好后,解释器自动回调的方法__str__ :输出打印的时候自动调用的方法,必须有返回值(字符串)__del__ :对象销毁内存回收的时候构造器自动调用__new__ :构造方法,静态,默认传入的参数是当前调用方法的类(cls),必须有返回值,返回值是当前类的对象,唯一在__init__前调用的方法__name__:如果是主动调用,返回__main__,用于模块的测试__a...原创 2018-07-16 14:51:55 · 257 阅读 · 0 评论 -
Python内建函数
dir():该方法将最大限度地收集参数信息range(start,stop,[,step]):计数,最后一个为跳跃间距,默认为1map(function,sequence[,sequence,……])把序列中的元素,用指定的函数做处理,返回一个迭代器 map(lambda x: x ** 2, [1, 2, 3, 4, 5]) #1,3,4map(lambda x,y...原创 2018-07-16 16:25:44 · 183 阅读 · 0 评论 -
Python多进程
在Unix/Linux操作系统下,提供了一个fork()系统函数,它非常特殊普通函数调用,调用一次返回一次,但是fork()函数,调用一次,返回两次,因为操作系统自动把当前进程(称为父进程),复制了一份(称为子进程),然后分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID 一个父进程可以fork出多个子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用get...原创 2018-07-17 16:48:01 · 147 阅读 · 0 评论 -
Python安装
LINUX环境下Python源码安装: 下载 查看源码(后缀) 准备编译环境 yum install gcc 检查依赖,兼容,预编译 ./configure --prefix=/usr/……,不同版本的依赖包不同 编译make 安装make install 配置环境变量,vim ~/.bashrc;增加PATH=$PATH:/usr/local/pytho...原创 2018-07-11 11:36:17 · 406 阅读 · 0 评论 -
Python模块与包
模块 1. 通过过import调用,例如import random 2. from…import,例如from random import randint 3.import random as rm,重命名导入模块的名称 4.给程序传递参数,import sys,sys.argv包 1.相当于一个目录,相同功能的模块放在一起,目录.模块名 2.python2要在...原创 2018-07-11 11:45:54 · 216 阅读 · 0 评论 -
Python4种基本数据结构
列表 a=[] 先后顺序,有下标位[index],可重复,可变类型元组 a=() 有先后顺序,元素可以重复,不可变类型,只能查字典 a={key:value} 没有先后顺序,没有下标,key不可重复、不可缺可变类型集合 a=set() 没有先后顺序,没有下标,不可重复,可变类型四中类型可...原创 2018-07-11 14:08:32 · 350 阅读 · 0 评论 -
Python “is”和“==”的区别
is是比较两个引用是否指向同一个对象(引用比较)==是比较两个对象是否相等(值比较)原创 2018-07-11 14:47:45 · 155 阅读 · 0 评论 -
Python“浅拷贝”与“深拷贝”
浅拷贝是对于一个对象的顶层拷贝,拷贝了引用,没有拷贝内容深拷贝是对一个对象的所有层次的拷贝import copycopy.copy()#浅拷贝copy.deepcopy()#深拷贝原创 2018-07-11 15:10:36 · 195 阅读 · 0 评论 -
Python给私有属性添加getter()和setter()方法
class Test(object): def __init__(self): self.__num = 100 def getNum(self):#gettr return self.__num def setNum(self,num):#setter if num<100: self.__...原创 2018-07-11 15:14:17 · 2587 阅读 · 0 评论 -
Python列表推导式与生成器
list= [i for i in range(1,10)]for可以进嵌套list = [i for i in range(1,10)for j in rangr(1.3)]for 后可加条件 list = [i for i in range(1,10)if i%2==1]原创 2018-07-11 16:10:59 · 283 阅读 · 0 评论