
python学习笔记
文章平均质量分 81
xiaoa~
这个作者很懒,什么都没留下…
展开
-
python之写了3个周末及几个晚上的ftp终于完成了
本程序已上传githup,点我 作业:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server的随意切换目录 允许用户查看当前原创 2018-02-03 17:24:03 · 1682 阅读 · 1 评论 -
python学习笔记-装饰器1
装饰器本身也是一个函数,作用就是将给一个函数添加额外的功能。但是不能改变这个函数的源代码以及这个函数的调用方式。 比如有个test1函数,调用函数就是用test1()【函数名+()】的方式就能调用。函数在内存中存储的方式跟x=1这种变量存储方式实际是一样的,先把test1这个函数的函数体当做字符串形式存在内存空间中,然后和test1变量名建立联系,这样通过test1()就能激活在内存中的函数体。原创 2017-11-08 16:32:18 · 303 阅读 · 0 评论 -
python学习笔记-------进程,进程锁,进程间通信,进程的同步异步
注意点:进程的Queue,父进程与子进程进行交互,或者同属于一个父进程下的多个子进程进行交互。而2个独立的python程序的进程是无法交互的。比如,你开2个dom窗口,里面的py程序是无法交互的。而同一进程下的不同线程是可以交互的。from multiprocessing import Process,Pipe,Lock,Queue,Manager,Pool#每一个进程都有一个父进程,进程间...原创 2018-01-16 15:55:36 · 352 阅读 · 0 评论 -
python学习笔记-实例方法、类方法、静态方法、属性方法及__new__方法
class A(object): m = 20 #实例方法 def __init__(self): self.x = 10 def fun(self): print("fun") #类方法 @classmethod def class_test(cls): cls.m = 30 #静态原创 2017-11-05 20:21:15 · 313 阅读 · 0 评论 -
python学习笔记---线程的queue队列
python的队列 queue queue is especially useful in threaded programming when information must be exchanged safely between multiple threads. 如果在多线程中数据要被安全的交互信息,那么用队列就有其有用。 队列也类似于我们经常用的列表,所以,我们可以把需要执行的任务放...原创 2017-12-05 12:02:36 · 365 阅读 · 0 评论 -
python学习笔记--json&&pickle
json支持简单数据格式的转换,适用与多种语言之间的转换,此后必将替换xml。import jsonmsg = {"lilei":"boy","wangfang":"girl"}fw = open("test.txt",'w')fw.write(json.dumps(msg)) # json.dump(msg,fw)#存入文本的格式就是{"lilei": "bo原创 2017-11-12 18:49:44 · 243 阅读 · 0 评论 -
python类的调用方式详解
python类的调用模式详解 这里简单的认为创建完对象,eat方法,drink方法就在对象中,其实根据了解,这些方法应该存在类空间中,对象中保存了引用指向类中的方法 (开始的教程也是这么说的:暂时认为存放在对象中) 下图是武的解说 ...原创 2018-01-21 13:55:25 · 33210 阅读 · 6 评论 -
__str__和__repr__方法
Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较友好。通常情况下obj==eval(repr(obj))这个等式是成立的。print('asd' == eval(repr('asd')...原创 2018-04-07 10:46:14 · 265 阅读 · 0 评论 -
python写项目时的logging日志
简单的输出,用于快捷操作import loggingimport time# filemode="a" ,才能在文件末尾追加# 在循环中,logging 相对于 open(file,'w').write的优点:不需要等到循环执行完成log日志才有内容logging.basicConfig(filename="test.log", filemode="w",format="...转载 2019-08-06 20:09:04 · 412 阅读 · 0 评论 -
python的时间处理模块
“时间”经常会被处理,用的不会会比较复杂,以前主要用time模块,现在感觉datetime更好用,记录下常用的功能datetime模块包含datetime模块定义了以下几个类:基本上使用datetime模块就足够了。例1:时间戳与format时间相互准换1. 通过datetime转换from datetime import datetimeimport time...转载 2019-08-07 20:15:46 · 1059 阅读 · 0 评论 -
python学习笔记---反射
def eat(): print("I am eating...")class Persobject): def __init__(self,name): self.e = name def run(self): print("I can run...") @staticmethod def static_test(self):原创 2018-01-07 22:41:01 · 205 阅读 · 0 评论 -
python学习笔记---socket及socketserver
socket能实现客户端与服务端的通信。 服务端代码import socket,os,time,hashlibserver = socket.socket() #创建socker实例server.bind(("localhost",9981))#server.bind(("192.168.1.41",9985))server.listen(5) #开始监听,最多同时连接五原创 2018-01-07 14:49:28 · 6512 阅读 · 0 评论 -
python学习笔记---对象赋值其实就是引用
class Cat: def __init__(self,name): self.name = name def __str__(self): return "my name is %s" % self.name def __del__(self): print("All delete")tom = Cat("Tom")tom原创 2017-10-09 10:59:13 · 452 阅读 · 0 评论 -
python学习笔记-编码转化
unicode 中文和英文都占2个字节 ascii 用来存储英文的,占一个字节 如果用unicode来存储英文的话,那么本来1M的ascii文件就要变成2M。所以用可变长字符编码utf-8来存储,英文仍是以ascii形式存储,为1字节。中文的话就需要3个字节存储一个汉字。 因为py3中的字符串类似于py2中的str.decode(‘utf-8’)类型,所以py3的字符串只有encode方法(p原创 2017-11-07 17:26:10 · 282 阅读 · 0 评论 -
python之装饰器2-高阶
import timeboy_age = []girl_age = []def fenlei(sex): def outer(func): def deco(*args,**kwargs): if sex == "boy": ret = func(*args,**kwargs) boy原创 2017-11-09 14:05:21 · 241 阅读 · 0 评论 -
python学习笔记-生成器,迭代器,协程定义
生成器知识点:生成器就是通过封装的算法进行边循环边计算的机制,通过next()方法可以每次取一个计算的值,也就是yield b 这个b是多少(x = next(generator) 这个x就是取到的b)。x = yield,那么x 就是用于接收外部发来的值(generator.send(5),那么x就是5)。通过列表生成式我们可以取得想要的值,但是如果我们创建了一个包含了百万个值的列表,而...原创 2017-11-11 23:05:26 · 970 阅读 · 1 评论 -
python *args与**kwargs
def fun(fir,*args,**kwargs): print(fir) for i in args: print("args: ",i) for k,v in kwargs.items(): print("kwargs: key is %s value is %s " % (k,v)) print(kwargs)fun(1,2,原创 2017-03-28 16:22:22 · 266 阅读 · 0 评论 -
python学习比较 __init__.py 简单使用
__init__.py文件是你在导入包的时候初始化作用。其中__all__ = ["sendmsg"]的作用是:from TTT import * 的时候,能直接使用sendmsg.test()函数,但是import TTT后不能用TTT.sendmsg。在__init__文件中直接写上from . import sendmsg也能达到同样的效果,并且直接导入包import TTT,还可...原创 2017-10-23 22:02:41 · 407 阅读 · 0 评论 -
python学习笔记--event事件
import threading,timedef light(): count = 0 while True: if count < 10: event.set() #设置标志位 print("\033[42;1m ---green light is on \033[0m")原创 2017-12-02 19:54:36 · 2124 阅读 · 0 评论 -
Python学习笔记--线程锁
如果你想启动python的多线程对一个数据进行累加的操作,如果在py2上你多执行几次会发现少加了。原因是如果某个线程拿到公共数据477时,该线程就会申请一个gil lock,python解释器就会调用系统的原生线程(我们常用的就是cPython,那么调用的就是c的线程),python每执行100条指令(如:计算机底层对加这样一个操作就需要几百条的指令)就会释放gil锁,如果此时cpu还没来得及在os原创 2017-11-29 16:38:47 · 374 阅读 · 0 评论 -
python学习笔记---多态
多态:一个接口多种实现。在继承的子类中对父类的方法进行了重写,随之产生了继承的一个好处就是多态,也就是同一事物表现出了多种形态。其实多态就是抽象化的过程,把一些具体事物的共同点抽象出来,在通过这个抽象的事物与具体的事物 进行对话class Car(object): def run(self): print("car is running...")class To...原创 2018-01-03 12:29:59 · 238 阅读 · 0 评论 -
python学习笔记---单下划线双下滑线变量及方法
# -*- coding: utf-8 -*-from __future__ import unicode_literalsc = 20 _m = 190 # 不能被别的模块from han import ×class Animal(object): __a = 11 # 私有变量,只有在本类中才能访问,不能被import,也不能被子类访问,除非提供别的接口访问原创 2018-01-21 13:49:22 · 1264 阅读 · 0 评论 -
python的os.path.realpath(__file__),os.getcwd(),sys.path() 的区别
os.getcwd() sys.path 返回的是运行脚本的绝对路径sys.path,os.path.realpath(__file__)返回的是绝对路径+文件名。但是,比如你想在fir目录下的fir.py调用sec目录下的sec.py,sec.py分别写有3种获得路径的模式,如果你想要获得sec.py的路径信息,那么就需要使用sys.path.realpath.如图,一目了然。原创 2017-07-26 17:08:02 · 1323 阅读 · 0 评论