【python】网络编程 socket套接字(socket) 是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个...
【python】正则表达式 表达式匹配内容\d数字\w数字或字母.任意字符*任意个字符(>=0)+任意个字符(>=1)?0个或1个字符{n}n个字符{n,m}n~m个字符[]表示范围,例如[0-9a-zA-Z_]+可以匹配至少由一个数字、字母或者下划线组成的字符串^表示开头$表示结尾re方法用途...
【python】分布式进程 Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块封装很好,不必了解网络通信的细节,就可以很容易地编写分布式多进程程序。import mul...
关于编程的一些想法 2013年本科入学,计算机学院信息安全系。2017年硕士入学,计算机学院计算机系。算来算去,到今年已经接触计算机7年了。编程作为一个程序员最基本的素养,我却一直都没有具备过。2020年伊始,新型冠状病毒肆虐全国,有时间坐在家里一边写代码,一边好好的反思一下。1.写代码的本质,是和计算机交流。OS提供了一系列的接口,编程就好像是拼图或者是搭乐高积木。学习了编程语言,了解了各种各样的接口,然后发...
【python】多线程 python的多线程和多进程使用方法类似from multiprocessing import ------ import threadingos.getpid() ------ threading.current_thread()p = Process(target=,args=) ----- t = threading.Thread(target=,name=)import...
【python】多进程 进程进程:一个程序的一次执行(让我回想起本科时候最喜欢的操作系统)进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块(PCB)用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。进程的生命周期:创建(New)、就绪(Runnabl...
【python】操作文件和目录 如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。操作文件和目录import os#查看当前目录的绝对路径os.path.abspath('.')''...
【python】IO 读文件with open('filename') as f: f.read()调用f.read()会一次读取文件的全部内容,如果文件内容较大,内存就会爆炸。为了保险起见,可以用f.read(size),一次读取size大小的内容另外==f.readline()==可以一次读取一行的文件内容f.readlines() 会一次性将文件全部读取,并按行返回List。在读取配置文件时,这个方...
【python】pdb调试 启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。$ python -m pdb xxx.pyl — 查看代码n — 单步执行代码p 变量名 — 查看变量q — 退出调试pdb.set_trace()这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点。...
【python】异常处理 异常异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。try/except捕捉异常可以使用try/except语句。try/except语句用来检测try语句块中的错误,从而让except语句捕获异...
【python】枚举类 定义常量时,我们可以用到枚举类。在没有专门提供枚举类型的时候,一般就通过字典或类来实现:Color = { 'RED' : 1, 'GREEN': 2, 'BLUE' : 3,}class Color: RED = 1 GREEN = 2 BLUE = 3这种来实现枚举如果小心翼翼地使用当然没什么问题,毕竟是一种妥协的解决方案。它...
【python】property @property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。简单的说:就是把方法变成属性,既具有属性的方便,且具有方法的功效。class Student(object): @property def birth(self): return self._birth @birt...
【python】__slots__ 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性:class Student(object): __slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称使用__slots__要注意,slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的除非在子类中...
【python】面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序 设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。面向对象的程序 设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个...
【python】模块及其使用 以下内容参考自:廖雪峰Python模块标准Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。我们以内建的sys模块为例,编写一个hello的模块:#!/usr/bin/env ...
【python】装饰器 在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,decorator就是一个返回函数的高阶函数。以函数作为输入参数,以函数作为返回一个标准的decorator写法:import functoolsdef log(func): @functools.wraps(func) ...
【python】高阶函数、返回函数 此文参考自廖雪峰python高阶函数何为高阶函数?高阶函数英文叫Higher-order function。把函数作为 参数 传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。返回函数高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。一个函数可以返回一个计算结果,也可以返回一个 函数 。例:def lazy_sum(*args): def...