一:socket介绍:进程之间通信的一种方式:创建流程:1:创建套接字2:使用socket套接字收发数据:3:关闭套接字二:使用UDP循环发送数据案例:利用Ubuntu发送数据给Windowsimport socketdef main(): # 创建套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 使用套接字收发数据,必须是字节类型 udp_socket.sendto(b"hahahhaha"
一:进程1:概念:进程:操作系统进行资源分配的基本单位。2:多进程的使用:三步走:导入包:import multiprocessing—>创建子进程:multiprocessing.Process(target=sing)—>启动子进程:sing_process.start()import multiprocessingimport time# 跳舞任务def dance(): for i in range(5): print("跳舞中...")
一:TCP客户端搭建过程:1:创建socket套接字2:链接服务器3:收发数据4:关闭套接字import socketdef main(): # 1:创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2:链接服务器 server_ip = input("请输入服务器的地址:") server_port = input("请输入服务器的端口:") server_addr = (server_
一:返回固定页面的静态web服务器:1:初始化web服务器:创建套接字—> 设置端口复用—>绑定本地端口—>设置监听模式2:循环接受用户:accpet —>接受用户数据---->recv3:读取服务器固定页面信息4:构造响应报文5:向客户端发送指定页面信息6:关闭套接字import socketdef main(): # 1:初始化服务器 tcp_socket = socket.socket(socket.AF_INET,socket.SO
一:
一:浅拷贝:# 1: 对于不可变类型进行拷贝没有意义。拷贝的目的是解决变量地址公用的问题,不可变类型不会公用地址。# 2:浅拷贝只拷贝第一层对象,不会拷贝内部的子对象。import copy# 地址引用 :不可变类型改变一个不会影响另一个。可变类型一个改,都改。# 可变类型: 字典,列表,集合# 不可变类型:数字,元组,字符串num1 = 1num2 = num1print(num1, id(num1))print(num2, id(num2))num1 = 2print(num
一:闭包的定义:目的:保证变量不会因为外部函数调用而销毁。1:在函数嵌套的前提下,
一:概述:web框架专门处理动态资源的请求。web服务器接收浏览器发起的请求,如
一:re模块:正则表达式进行字符串匹配的时候需要调用的包。1:导包:import re2:检测:result = re.match(正则表达式,需要匹配的字符串),成功返回成功的部分字符串,不成功返回null。3:取除匹配的内容:result.group()import reif __name__ == '__main__': result = re.match("0\d{3}-\d{8}","0755-81234567") if result: print("匹
一:通过控制台输入字符串,使用正则表达式判断该字符串是否符合IPv4规则。ipv4的地址格式:都是0到255的数字,点必须转义。import restring = input("请输入ip地址:")ret = re.match(r"(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}" r"([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$", strin
一:property属性:1:作用:把一个方法当做属性进行使用。2:定义property属性的两种方式:装饰器方式,类属性方式。3:装饰器方式:在get方法上面增加@property,在setter方法上面写@方法名.setter#目的:让实例方法跟属性一样可以使用。class Person(object): def __init__(self): self.__age = 0 @property def age(self): retur
一: lambda和map函数连用:1: 可迭代对象 = map(lambda表达式, 列表、元祖,集合)list2 = list(map( lambda x, y: x*y, [1, 2, 3], [4, 5, 6]))print(list2)# [4, 10, 18]
目录一:Click导航二:Click的基本使用1: 官网案例演示:2: @cli
一: 安装:pip install apscheduler二: 基本概念1: 触发器: 调度逻辑,描述任务何时被触发。(日期触发,时间间隔,cronjob表达式)2: 作业存储器:指定作业存储的位置,默认是保存在内存中,3: 执行器:将任务(函数)提交到线程池或者进程持中运行,当任务完成时,通知调度器发生相应的事件。4:调度器:任务调度器,属于控制角色,通过它配置作业存储器、执行器和触发器,添加、修改和删除任务。调度器协调触发器、作业存储器、执行器的运行,通常只有一个调度程序运行在应用程序
目录一: 数据操作:1: 创建文件,创建表,保存文件2: 加载文件,列出所有表,切换表3: 定位单元格与写入单元格:4: 遍历单元格,打印数据5: 删除指定的行和列,获取最大的行与列:6: 合并单元格:二:样式操作:1: 颜色设置:2: 字体设置:3: 边框设置:4: 对齐设置:5: 链接设置:6: 多样式设置:一: 数据操作:1: 创建文件,创建表,保存文件from openpyxl import Workbook# 1: 实例化一个Workbook对象,注意是大写的Wbook = Workb
目录一:SOLID设计原则S:单一职责原则:O: 开放-关闭原则:L: 里氏替换原则:I: 接口隔离原则:D: 依赖倒置原则:二: 边界问题1: 吃感冒药胜过看天气预报:2: 容器内容不存在2.1: defaultdict的使用:2.2: 字典的setdefault方法和pop方法:2.3:善于运用切片3: 危险的OR4: 避免手动数据校验:参考地址:https://github.com/piglei/one-python-craftsman/blob/master/zh_CN/12-write-sol
参考地址:https://github.com/piglei/one-python-craftsman/blob/master/zh_CN/2-if-else-block-secrets.md一:变量1:变量名要有描述性,不能太宽泛例如表示这周的周几: day与day_of_week,我们更喜欢第二种。2:变量名最好让人猜出类型:1 : 布尔类型的变量我们命名最好以is, has等非黑即白的词语修饰。is_supuserhas_errorallow_vipuse_msgpack.
目录一: python的规则:1: 集合的规则:2:`__format__`对象字符串格式化:3: `__getitem__`方法定义容器二: python异常处理三个习惯三: 函数返回建议:一: python的规则:1: 集合的规则:规则: 如果要把一个东西装到集合中去,这个东西必须是可以哈希的。可变类型都是不可哈希的。(列表, 集合,字典),本质就是哈希值不固定。思维1: 对于存在A,不存在B等问题,思维定式就是采用集合思维处理。思维2: 我们可以自定义哈希对象。案例:
目录一: 选择分支结构1: 避免多层分支嵌套,能提前结束就提前结束:2: 封装那些过于复杂的逻辑判断3 : 使用“德摩根定律”4: 自定义对象的“布尔真假”5: 在条件判断中使用 all() / any()二: 地道的循环结构1: enumerate() 的使用:2: 使用 product 扁平化多层嵌套循环3: 使用 islice 实现循环内隔行处理4: 使
-if-else-block-secrets.md一:变量1:变量名要有描述性,不能太宽泛例如表示这周的周几: day与day_of_week,我们更喜欢第二种。2:变量名最好让人猜出类型:1 : 布尔类型的变量我们命名最好以is, has等非黑即白的词语修饰。is_supuserhas_errorallow_vipuse_msgpack.
一:概述:web框架专门处理动态资源的请求。web服务器接收浏览器发起的请求,如果是动态资源请求找web框架来处理。web框架负责处理浏览器的动态资源请求,把处理的结果发生给web服务器。web服务器再把响应结果发生给浏览器。
一: lambda和map函数连用:1: 可迭代对象 = map(lambda表达式, 列表、元祖,集合)list2 = list(map( lambda x, y: x*y, [1, 2, 3], [4, 5, 6]))print(list2)# [4, 10, 18]list2 = list(map( lambda x, y: x*y, (1, 2, 3), (4, 5, 6)))print(list2) # [4, 10, 18]二: lambda和filter函数连用:2:fi
准备工作:导入pygame:点击pip —>输入pygame 点击确定即可导入。一:初始化1.1游戏的初始化和退出:pygame.init() :初始化方法pygame.quit():退出方法import pygamepygame.init()print("游戏的代码...")pygame.quit()1.2 游戏的坐标系:import pygameher...
一:框架搭建:import pygamefrom plane_sprites import *class PlaneGame(object): """飞机大战主程序""" def __init__(self): print("游戏初始化") # 1.创建游戏的窗口 self.screen = pygame.display....
import os# 1:首先显示功能菜单# 2:接受用户输入# 3:执行相应的操作student_list = []def show_menu(): print("----------学生管理系统函数版----------") print("0:退出系统") print("1:增加学生信息") print("2:删除学生信息") print("3...
# 1:首先显示功能菜单# 2:接受用户输入# 3:执行相应的操作student_list = []def show_menu(): print("----------学生管理系统函数版----------") print("0:退出系统") print("1:增加学生信息") print("2:删除学生信息") print("3:修改学生的信息")...
一:FilleZilla的使用:1:点击打开站点管理器(左上角)2:点击建立新站点3:主机填写ubuntu的IP地址协议:SFTP登录类型:正常用户名:ubuntu密码:111(ubuntu用户的密码)点击连接
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号