05 2018 档案

摘要:import socket if __name__ == '__main__': # 创建udpsocket udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置socket选项, 开启发送广播消息的功能 # 1. SOL_SOCKET:当前socket # 2. SO_BR... 阅读全文
posted @ 2018-05-31 14:57 汪凡 阅读(1709) 评论(0) 推荐(0)
摘要:当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Po 阅读全文
posted @ 2018-05-29 20:44 汪凡 阅读(289) 评论(1) 推荐(1)
摘要:1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: 运行结果: 初始化Queue()对象时(例如:q=Queue()),若括号中没有指定最大可接收的消息数量,或数量 阅读全文
posted @ 2018-05-29 20:24 汪凡 阅读(232) 评论(0) 推荐(0)
摘要:import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1. 从键盘输入数据 msg = input("\n请输入要发送的数据:") # 2. 输入对方的ip地址 dest_ip = ... 阅读全文
posted @ 2018-05-29 20:09 汪凡 阅读(155) 评论(0) 推荐(0)
摘要:flist = [] # 创建了一个空列表 for i in range(3): # 循环三次 def foo(x): # 定义三次函数 print (x + i) flist.append(foo) # 把三次函数的引用放到列表中 for a in flist: # 按个遍历列表里的三个函数的引用 a(2) # 每个... 阅读全文
posted @ 2018-05-29 14:01 汪凡 阅读(295) 评论(0) 推荐(0)
摘要:import socket import gevent from gevent import monkey monkey.patch_all() def cb_work(recv_num,send_num): while True: recv_data=list_client[recv_num][0].recv(1024).decode("gbk") ... 阅读全文
posted @ 2018-05-29 13:53 汪凡 阅读(722) 评论(0) 推荐(0)
摘要:import re str='sfafsf,34234234234,1231313132,37132719991123463x,sdefgr54184785ds85,' \ '4864465asf86845,372526198911233456' con = re.findall(r'[\d]{17}[0-9xX]' , str) for i in con: print('身... 阅读全文
posted @ 2018-05-29 13:50 汪凡 阅读(252) 评论(0) 推荐(0)
摘要:这里我们暂且先不提全局解释器锁,从这个代码例子里我们可以看出,一个锁在上锁以后,如果在没有释放它的情况下再要对它上锁,他就会阻塞住,一直到它的锁被释放了以后才能够再次被上锁,这样就实现了两个线程的交替执行。 阅读全文
posted @ 2018-05-29 13:46 汪凡 阅读(208) 评论(0) 推荐(0)
摘要:客户端: 服务端: 阅读全文
posted @ 2018-05-29 12:42 汪凡 阅读(407) 评论(0) 推荐(0)
摘要:这里让客户端给服务端发送的数据被服务端自动发回来 客户端: 服务端: 服务端这里不需要编码或者解码,直接回发就行 阅读全文
posted @ 2018-05-29 12:37 汪凡 阅读(496) 评论(0) 推荐(0)
摘要:客户端: 服务端: 阅读全文
posted @ 2018-05-29 12:32 汪凡 阅读(831) 评论(0) 推荐(0)
摘要:import socket if __name__ == '__main__': # 创建tcp服务端socket tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 立即释放端口号,重用端口 # SOL_SOCKET: 表示当前socket # SO_REUSE... 阅读全文
posted @ 2018-05-29 12:29 汪凡 阅读(322) 评论(0) 推荐(0)
摘要:import socket # 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通。 # 而tcp不是,tcp发送和接受的是一个字符串,因为在进行通信前必须先建立好连接确定好了ip以及端口, # 所以不用在接受和发送的时候去特地的发送或者接受端口号和ip地址。 # 总结来说TCP有以下几点: # 面向连接(确认有创建三... 阅读全文
posted @ 2018-05-29 12:27 汪凡 阅读(394) 评论(0) 推荐(0)
摘要:import turtle turtle.screensize(400, 300, "pink") turtle.setup(1000, 600) turtle.write('作者:好一朵玫瑰花 ', move = True, align = 'left', font = ('楷体', 16, 'normal')) # 设置初始位置 turtle.penup() turt... 阅读全文
posted @ 2018-05-29 12:14 汪凡 阅读(2191) 评论(0) 推荐(0)
摘要:from turtle import * a = Turtle() screensize(400, 300, "blue") setup(width=1300, height=650, startx=20, starty=20) a.speed(10) a.hideturtle() a.pensize(2) a.color('red', 'pink') a.up() a.goto(200, 0... 阅读全文
posted @ 2018-05-20 20:05 汪凡 阅读(811) 评论(1) 推荐(0)
摘要:略作改动: 阅读全文
posted @ 2018-05-20 19:40 汪凡 阅读(14480) 评论(1) 推荐(1)
摘要:上一篇我们说了关于自排如果主键是0的问题,在这里我搞清楚了原因,导致这种情况是因为在SQL中对自排设置了初始值: 从这里可以看到这两个变量一个是自增的初始值,一个是增量,这里都是1,所以在设置自增的时候会把那个字段原来存在的所有0变成从1开始的步长为1的等差数列。 但是这个数值是可以被修改的(不过在 阅读全文
posted @ 2018-05-19 17:12 汪凡 阅读(407) 评论(0) 推荐(0)
摘要:开始不设置主键 表的设计如下: 如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增; Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样; 现在主键是没有0的,如果把某个id改成0的话,0不会变!直接会进行排序; 再insert一个id=0的看看 阅读全文
posted @ 2018-05-18 01:56 汪凡 阅读(877) 评论(1) 推荐(0)
摘要:写这篇随笔的目的是我发现了在上一篇关于My SQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主。 # !每行命令必须以分号(;)结尾 先通过命令行进入数据库客户端 mysql -h服务端ip地址 -P(大写)服务端使用的端口,一般为3306 -p(小写) 回车之后 阅读全文
posted @ 2018-05-18 01:32 汪凡 阅读(1508) 评论(1) 推荐(1)
摘要:1.安装mysql客户端流程: - 登录navicat官网下载 - 将压缩包拷贝ubuntu中进行解压,解压命令:tar zxvf navicat.tar.gz - 进入解压目录,运行命令./start_navicatt - 如果试用是灰色的则进行下一步 - 删除 .navicat64/ 隐藏文件, 阅读全文
posted @ 2018-05-16 00:40 汪凡 阅读(5182) 评论(1) 推荐(0)
摘要:VIM - Vi IMproved 7.4 编辑器操作汇总 vim [参数] [文件 ..] 编辑指定的文件 或: vim [参数] - 从标准输入(stdin)读取文本 或: vim [参数] -t tag 编辑 tag 定义处的文件 或: vim [参数] -q [errorfile] 编辑第一 阅读全文
posted @ 2018-05-13 01:07 汪凡 阅读(8241) 评论(0) 推荐(0)
摘要:1. 快速启动终端:ctr+alt+t2. 终端字体放大: ctr+shift+'+'3. 终端字体缩小: ctr+'-'4. ls: 查看当前目录下文件信息 4.1 ls BD ABC 同时查看两个目录5. pwd: 查看目录的路径6. touch: 创建文件 6.1 touch 1.txt 2. 阅读全文
posted @ 2018-05-13 00:40 汪凡 阅读(389) 评论(0) 推荐(0)
摘要:首先关于在python中单线程,多线程,多进程对cpu的利用率实测如下: 单线程,多线程,多进程测试代码使用死循环。 1)单线程: 2)多线程: 3)多进程: 查看cpu使用效率: 开始观察分别执行时候cpu的使用效率: 1)单线程执行的时候: 2)多线程执行的时候: 3)多进程执行的时候: 总结: 阅读全文
posted @ 2018-05-13 00:17 汪凡 阅读(4829) 评论(4) 推荐(0)
摘要:import socket import re import os import sys # 由于前面太繁琐,可以用类封装一下,也可以分几个模块 class HttpServer(object): def __init__(self,port): # 1、服务器创建负责监听的socket self.socket_watch = socket.socke... 阅读全文
posted @ 2018-05-12 00:16 汪凡 阅读(328) 评论(0) 推荐(0)
摘要:import socket import re import os def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 1、服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() # 以行切割请求报文为列表 ... 阅读全文
posted @ 2018-05-12 00:04 汪凡 阅读(374) 评论(0) 推荐(0)
摘要:import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() print(request) # 服务器拼接响应报文并回复 ... 阅读全文
posted @ 2018-05-11 23:59 汪凡 阅读(298) 评论(0) 推荐(0)
摘要:import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() print(request) # 服务器拼接响应报文并回复 ... 阅读全文
posted @ 2018-05-11 23:56 汪凡 阅读(245) 评论(0) 推荐(0)
摘要:import socket # 建立socket对象 socket_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接指定服务器地址 socket_con.connect(('www.baidu.com', 80)) # 拼接请求报文 # 请求行 request_line = 'GET / HTTP/1.1\r\n' # 请... 阅读全文
posted @ 2018-05-11 23:54 汪凡 阅读(1041) 评论(0) 推荐(0)
摘要:1、网络本质 进行资源共享和信息传输。 2、基于网络的应用程序的本质 就是获取数据和传输数据给用户使用。 3、TCP/IP协议栈工作流程 实体层是不属于TCP/IP协议栈的一层。也就是说TCP/IP协议栈共计四层。 首先得接入网络,局域网或者广域网,在计算机接入网络的时候,也就是插入网线的时候本地路 阅读全文
posted @ 2018-05-11 23:51 汪凡 阅读(1035) 评论(0) 推荐(0)
摘要:def FZZL(): print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") print(" ... 阅读全文
posted @ 2018-05-08 17:51 汪凡 阅读(761) 评论(0) 推荐(0)
摘要:'''import pygame# 初始化pygame库,让计算机硬件准备pygame.init()# 窗口相关操作 # 创建窗口window = pygame.display.set_mode([窗口宽,窗口高])# 设置窗口标题pygame.display.set_caption("窗口标题") 阅读全文
posted @ 2018-05-08 17:48 汪凡 阅读(4386) 评论(0) 推荐(0)
摘要:rmonth = [0, 31, 29, 31, 30, 31, 30, 31,31, 30, 31, 30, 31] month = [0, 31, 28, 31, 30, 31, 30, 31,31, 30, 31, 30, 31] days = 0 def pd_days(y, m, d): global rmonth, month, days # 判断闰年 if... 阅读全文
posted @ 2018-05-08 17:46 汪凡 阅读(619) 评论(0) 推荐(0)
摘要:class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.name = 'haha' # 公有实例属性 self.__sex = 'man' # 私有实例属性 def smile... 阅读全文
posted @ 2018-05-08 17:45 汪凡 阅读(8224) 评论(0) 推荐(0)
摘要:'''集合的方法 set1.add() set1.update() set1.copy() set1.pop() set1.remove() set1.discard() set1.clear() set1.union() set1.issubset() set1.issuperset... 阅读全文
posted @ 2018-05-08 17:45 汪凡 阅读(263) 评论(0) 推荐(0)
摘要:# f.write() #字符串写入文件 # # f.writelines #将一串字符串写入文件。 该序列可以是生成字符串的任何可迭代对象,通常是字符串列表 # # f.read([size]) #默认读出文件中所有内容,可以指定size(字节) # # f.readline([size]) #默认每次读取一行,字符串中保留一个尾随的换行字符。 # # f.readl... 阅读全文
posted @ 2018-05-08 17:44 汪凡 阅读(197) 评论(0) 推荐(0)
摘要:name = 'hello' for x in name: print(x) if x == 'l': break #退出for循环 else: print("==for循环过程中,如果没有break则执行==") name = 'hello' for x in name: print(x) #if x == 'l': ... 阅读全文
posted @ 2018-05-08 17:43 汪凡 阅读(708) 评论(0) 推荐(0)
摘要:'''字典的方法 d1.get() d1.setdefault() d1.pop() d1.popitem() d1.copy() d1.update() d1.items() d1.keys() d1.values() d1.fromkeys() d1.clear() ''... 阅读全文
posted @ 2018-05-08 17:42 汪凡 阅读(281) 评论(0) 推荐(0)
摘要:'''字符串的方法 s.index() s.rindex() s.find() s.rfind() s.count() s.replace() s.partition() s.rpartition() s.split() s.rsplit() s.splitlines() s.join() s.strip() s.lstri... 阅读全文
posted @ 2018-05-08 17:42 汪凡 阅读(178) 评论(0) 推荐(0)
摘要:'''列表的方法 l.index() l.count() l.copy() l.insert() l.append() l.extend() l.pop() l.remove() l.clear() l.sort() l.reverse() ''' l = [... 阅读全文
posted @ 2018-05-08 17:41 汪凡 阅读(202) 评论(0) 推荐(0)
摘要:'''元组的方法 t.index() t.count() ''' # 元组由于不可更改元组里面的数据(第一层) # 所以元组可操作的方法比较少 t = (1,) # 单个元素,为了区分,加个逗号才叫元组 t1 = (3, 4, 'hello', [2, 3, 'ppp'], 3) print(t1[2]) n1 = t1.count(3) # count(元组里面的元素)同之前的用... 阅读全文
posted @ 2018-05-08 17:40 汪凡 阅读(192) 评论(0) 推荐(0)
摘要:# 函数的位置参数必须要传实参,可以按位置,也可以按关键字传 # 函数的默认参数可以不传实参,可以按位置,也可以按关键字 # 不定长参数*args只收集位置参数形成元组,不定长参数应放在后面,要不会把实参当做位置参数然后报错 # 用**,只要定义了关键字参数,以后针对这个参数传值就必须是关键字形式传递 # 关键字参数和关键字传值必须放在位置参数(实参)后面 # def add_num(li... 阅读全文
posted @ 2018-05-08 17:40 汪凡 阅读(225) 评论(0) 推荐(0)
摘要:# 准备空列表 users = [] # 准备当前在线用户 online_user = {} while True: # 打印系统提示 print("欢迎使用 用户注册登录系统V2.0") print("1.登录") print("2.注册") print("3.注销登录") # 获取用户操作 command = input("请输入... 阅读全文
posted @ 2018-05-08 17:37 汪凡 阅读(903) 评论(0) 推荐(0)
摘要:# 用户输入八位日期 date = input('请输入八位年月日(如20180405):') # 分割年月日 day = int(date[-2:]) month = int(date[4:6]) year = int(date[:4]) print(year, month, day) # 定义闰年开关 if year % 4 == 0 and year % 100 != 100 or yea... 阅读全文
posted @ 2018-05-08 17:36 汪凡 阅读(561) 评论(0) 推荐(0)
摘要:s = input("请输入一个字符串:") if len(s) > 31: print("您输入的字符串过长,请重新输入:") else: l = len(s) print("字符串的长度:%d" % l) print(s[::-1]) 阅读全文
posted @ 2018-05-08 17:35 汪凡 阅读(283) 评论(0) 推荐(0)
摘要:name = input('请输入用户名:') password = input('请输入密码:') if 6 <= len(name) <= 20: print('提示:用户名符合命名规则') if password[0].isalpha(): print('提示:密码符合命名规则') else: print('错误:密码命名必须以字母开... 阅读全文
posted @ 2018-05-08 17:34 汪凡 阅读(1164) 评论(0) 推荐(0)
摘要:a = 'hello world' b = [] for i in a: if '%s:%s' % (i, a.count(i)) not in b: b.append('%s:%s' % (i, a.count(i))) print(b) 阅读全文
posted @ 2018-05-08 17:34 汪凡 阅读(474) 评论(0) 推荐(0)
摘要:import random office = [[], [], []] teacher = ['t1', 't2', 't3', 't4', 't5', 't6', 't7', 't8'] for t in teacher: of = random.randint(0, 2) office[of].append(t) print(office) i = 0 for x in of... 阅读全文
posted @ 2018-05-08 17:33 汪凡 阅读(1176) 评论(0) 推荐(0)
摘要:i = 1 j = 1 while i <= 10: print('第%d个碗' % i) while j <= 10: if j == 5: break else: print('这是内循环的第%d个碗' % j) j += 1 i += 1 阅读全文
posted @ 2018-05-08 17:31 汪凡 阅读(224) 评论(0) 推荐(0)
摘要:方法一 方法二 方法三 方法四 阅读全文
posted @ 2018-05-08 17:30 汪凡 阅读(214) 评论(0) 推荐(0)
摘要:i = 1 sum = 0 while i <= 100: sum += i i += 1 print(sum) 阅读全文
posted @ 2018-05-08 17:27 汪凡 阅读(329) 评论(0) 推荐(0)
摘要:i = 1 sum = 1 while i <= 100: sum *= i i += 1 print(sum) 阅读全文
posted @ 2018-05-08 17:26 汪凡 阅读(776) 评论(0) 推荐(0)
摘要:一、子弹模块 二、敌人模块 三、游戏地图模块 四、我方英雄战机模块 五、飞机大战主模块 阅读全文
posted @ 2018-05-08 17:24 汪凡 阅读(393) 评论(0) 推荐(0)
摘要:# 需求:类创建人的对象:初始化年龄0,让用户输入自己的年龄:1-100合法 小于1或大于100 抛出异常 # 自定义异常 -- 自定义异常类 也要继承exception class AgeError(Exception): def __init__(self): self.error_msg = 'AgeError: 年龄应该是在1-100之间!' def _... 阅读全文
posted @ 2018-05-08 17:15 汪凡 阅读(1288) 评论(0) 推荐(0)
摘要:# 首先了解object类实例化对象时候使用new的时候发生了什么 # class Person(): # def __init__(self): # print('这是init方法') # # # a = Person() # 不重写object的new方法不采用单例化模式的时候,则每实例化一个对象 # b = Person() # object的new... 阅读全文
posted @ 2018-05-08 17:13 汪凡 阅读(202) 评论(0) 推荐(0)
摘要:# new:创建对象自动调用 # new原理:返回值,返回值对象,当前类 -- 条件满足了 init # 实例对象 -- instance class Person(object): cls_shuxing = None # 控制只做一次初始化的开关 -- 开关打开 -- 表示判断 is_First = True def __new__(cls, *args, ... 阅读全文
posted @ 2018-05-08 17:12 汪凡 阅读(171) 评论(0) 推荐(0)
摘要:# 定义奔驰车类 class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): print('---奔驰车停车了---') # 定义宝马车类 class BMWCar(object): # 定义车的方法 def... 阅读全文
posted @ 2018-05-08 17:10 汪凡 阅读(216) 评论(0) 推荐(0)
摘要:class Car(object): # 定义车的方法 def move(self): print('---车在移动---') def stop(self): print('---停车---') # 定义一个销售车的店类 class CarStore(object): def order(self): car = ... 阅读全文
posted @ 2018-05-08 17:09 汪凡 阅读(166) 评论(0) 推荐(0)
摘要:# 定义奔驰车类 class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): print('---奔驰车停车了---') # 定义宝马车类 class BMWCar(object): # 定义车的方法 def... 阅读全文
posted @ 2018-05-08 17:08 汪凡 阅读(270) 评论(0) 推荐(0)
摘要:# 定义奔驰车类 class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): print('---奔驰车停车了---') # 定义宝马车类 class BMWCar(object): # 定义车的方法 def... 阅读全文
posted @ 2018-05-08 17:08 汪凡 阅读(238) 评论(0) 推荐(0)
摘要:class Animal(object): def eat(self): print("-----吃-----") def drink(self): print("-----喝-----") class Dog(Animal): def bark(self): print("-----汪汪叫------") ... 阅读全文
posted @ 2018-05-08 17:07 汪凡 阅读(1509) 评论(0) 推荐(0)
摘要:# class Test: # """文档字符串""" # name = 'scolia' # # print(Test.__doc__) # 提醒一下,函数是help(),实例也可以访问,但是子类并不会继承父类的文档字符串 # print(Test.__module__) # class Test: # """文档字符串""" # name ... 阅读全文
posted @ 2018-05-08 17:06 汪凡 阅读(263) 评论(0) 推荐(0)
摘要:class People(object): country = 'china' def __init__(self,name): self.country = name def getCountry(self): # -- 实例方法 return self.country #类方法,用classmethod来进行修... 阅读全文
posted @ 2018-05-08 17:05 汪凡 阅读(1048) 评论(1) 推荐(0)
摘要:# class fun(): # a = 1 # 类属性 # def l(self): # a = 4 # print('a') # b = fun() # print(fun.a) # class Test(object): # name = 'scolia' # # a = Test() # Test.name = '... 阅读全文
posted @ 2018-05-08 17:03 汪凡 阅读(494) 评论(0) 推荐(0)
摘要:#coding=utf-8 class base(object): def test(self): print('----base test----') class A(base): def test(self): print('----A test----') # 定义一个父类 class B(base): def test(self)... 阅读全文
posted @ 2018-05-08 17:02 汪凡 阅读(432) 评论(0) 推荐(0)
摘要:# 地瓜肯定不止一个,类,创建地瓜,烤的程序都一样 # 类:初始化 和 如何烤 # 初始化:状态L::生的 烤过的时间为0 加调料:没有 -- 将来芥末,番茄酱 [] # 烤动作:0-3:生的;3-5半生不熟;5-8熟了;大于了8烤糊了 class SweetPotao(object): def __init__(self): # 状态 self.... 阅读全文
posted @ 2018-05-08 17:00 汪凡 阅读(281) 评论(0) 推荐(0)
摘要:# 有房子家具,把家具放到房子里面去 # 类:房子 初始化:家里地理位置,使用面积,房间剩余面积,家具列表[家具1,家具2] # 类:家具初始化:名字,占地面积 class Home(object): def __init__(self, address, area): self.address = address self.area = area ... 阅读全文
posted @ 2018-05-08 16:56 汪凡 阅读(184) 评论(0) 推荐(0)
摘要:# class Dog(object): # def talk(self): # print('汪汪~~~') # print(self) # self就是对象,默认将对象传递到类方法,self不需要程序手动传递 # # erha = Dog() # talk是一个函数,是类里面的函数,只有对象能使用:对象名.函数名() # erha.talk() # p... 阅读全文
posted @ 2018-05-08 16:55 汪凡 阅读(672) 评论(0) 推荐(0)
摘要:f = open('读取测试文件.txt', 'r', encoding='utf-8') n = open('读取测试文件存储文件.txt', 'w', encoding='utf-8') text = f.readlines() print(text) # 遍历所有行 for i in text: # 便利一行 for flag in range(len(i)): ... 阅读全文
posted @ 2018-05-08 16:35 汪凡 阅读(601) 评论(0) 推荐(0)
摘要:# 缓冲区:cpu 一级缓存 二级缓存 三级缓存 import time f =open('2.txt','a+' ,encoding='utf-8') f.write('helloworld\n') f.write('helloworld\n') f.write('helloworld\n') f.write('helloworld\n') f.write('helloworld\n... 阅读全文
posted @ 2018-05-08 16:30 汪凡 阅读(1071) 评论(0) 推荐(0)
摘要:f = open('指针测试.txt','a+',encoding='utf-8') # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b的区别 # tell() 显示文件指针 print(f.tell()) # 更改文件指针的位置 seek(偏移量,whence) # 偏移量是数字 阅读全文
posted @ 2018-05-08 16:28 汪凡 阅读(1043) 评论(0) 推荐(0)
摘要:# 把当前文件夹的所有文件重命名为 WF .... # 把这个路径下的所有文件先查找到 -- 遍历所有文件 :有一个新的名字WF .. rename(旧,新) import os file_path = os.getcwd() list1 = os.listdir(file_path) print(list1) # 当前目录每个名字前面加'WF ' for name in list1... 阅读全文
posted @ 2018-05-08 16:19 汪凡 阅读(235) 评论(0) 推荐(0)
摘要:# 1.txt,1.py 1.mp3 1.avi # 允许用户输入任何一个文件 -- 备份 # 打开源文件, 打开备份文件 -- 源文件执行读取,备份文件执行写入 -- 关闭两个文件 import os # 得到这个路径下的所有文件 file_list = os.listdir('./') print(file_list) file_name = input('请输入要备份的文件名:') i... 阅读全文
posted @ 2018-05-08 16:17 汪凡 阅读(205) 评论(0) 推荐(0)
摘要:当前目录下创建“中文测试.txt”文件,写入: 阅读全文
posted @ 2018-05-08 16:16 汪凡 阅读(340) 评论(0) 推荐(0)
摘要:''' # os 模块 os.sep 可以取代操作系统特定的路径分隔符。windows下为 '\\' os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix' os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径 os.getenv() 获取一个环境变量,如果没有返回none os.put... 阅读全文
posted @ 2018-05-08 16:10 汪凡 阅读(235) 评论(0) 推荐(0)
摘要:import time import os # 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学... 阅读全文
posted @ 2018-05-08 16:08 汪凡 阅读(399) 评论(0) 推荐(0)
摘要:Fibonacci数列,数列中第一个数为0,第二个数为1,其后的每一个数都可由前两个数相加得到: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 阅读全文
posted @ 2018-05-08 16:06 汪凡 阅读(682) 评论(0) 推荐(0)
摘要:题外话:由于递归深度可控,一般写类似递归的方法时尽量使用迭代器,例如Fibonacci数列,在python高级中我会把迭代器实现Fibonacci数列的方法贴出来,而不是用递归。 递归深度尽量不去修改,用起来也会很绕。下面我贴出来如何测试出本机递归深度: 阅读全文
posted @ 2018-05-08 16:04 汪凡 阅读(2443) 评论(0) 推荐(0)
摘要:def test1(b): # 变量b一定是一个局部变量,就看它指向的是谁?可变还是不可变 b += b # += 是直接对b指向的空间进行修改,而不是让b指向一个新的 # b = b+b # xx = xx+yyy 先把=号右边的结果计算出来,然后让b指向这个新的地方,不管原来b指向谁 # 现在b一定指向这个新的地方 # a = [1... 阅读全文
posted @ 2018-05-08 15:57 汪凡 阅读(245) 评论(0) 推荐(0)
摘要:# 总结:个人理解,引用不可变的的变量时,随着改变会指向新的地址 # 引用可变的变量时,位置不会随着变量改变而改变 a = 1 b = a print(b) a = 2 # 指向了新的内存地址 print(a) print(b) # b不会变 c = 100 d = 100 print(id(c), id(d)) a = [1, 2] b = a pri... 阅读全文
posted @ 2018-05-08 15:56 汪凡 阅读(871) 评论(0) 推荐(0)
摘要:l = [{'name': 'wangfan', 'age': 18, 'sex': 'nan'}, {'name': 'wangerfan', 'age': 10, 'sex': 'nan'}, {'name': 'wangsanfan', 'age': 28, 'sex': 'nan'}, {'name': 'wangsifan& 阅读全文
posted @ 2018-05-08 15:55 汪凡 阅读(835) 评论(0) 推荐(0)
摘要:import time import os # 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学... 阅读全文
posted @ 2018-05-08 15:49 汪凡 阅读(470) 评论(0) 推荐(0)
摘要:# 定义全局变量 a = 100 print(a) # def test1(): # a = 200 # print(a) # # # def test2(): # print(a) # 虽然没有定义变量a但是依然可以获取其数据 # # 调用函数 # test1() # test2() # 如果函数内定义了,那么优先使用局部变量,没定义则使用全... 阅读全文
posted @ 2018-05-08 15:47 汪凡 阅读(670) 评论(0) 推荐(0)
摘要:# 隐藏函数嵌套 f = (lambda a,b :a if a>b else b)(1000, 2000008) print((lambda a,g:a if a > g else g)(2000,f)) # lambda 推导式 l = [lambda x:x**i for i in range(4)] print(l[1](4)) 阅读全文
posted @ 2018-05-08 15:46 汪凡 阅读(610) 评论(0) 推荐(0)
摘要:# lambda 参数:返回值/表达式 # print((lambda :100)()) # f = lambda a,b : a + b # print(f(10, 20)) # f = lambda a,b,c=100: a + b + c # print(f(10, 20,200)) # print( (lambda *args:args)(20, 30, 40, 50) ) ... 阅读全文
posted @ 2018-05-08 15:45 汪凡 阅读(1682) 评论(0) 推荐(0)
摘要:def func1(): # return 值1,值2 --- return有一个作用是打断程序的运行 return 1 + 1 , 2 + 2, 3+4 num1,num2,num3 = func1() print(func1()) print(num1) print(num2) print(num3) 阅读全文
posted @ 2018-05-08 15:42 汪凡 阅读(408) 评论(0) 推荐(0)
摘要:def test1(): print('Hello World') def test1(a, b, c): print('third Hello World') def test1(a, b): print('second Hello World') test1(1, 2, 3) # 函数名重复只能使用最后的那一个 阅读全文
posted @ 2018-05-08 15:41 汪凡 阅读(231) 评论(0) 推荐(0)
摘要:# 输出:输出我在中国(大函数) 北京(小函数) def func_big(country): def func_small(city): print('我在%s,城市是%s' % (country, city)) func_small('北京') func_small('广州') func_big('中国') def func_big(coun... 阅读全文
posted @ 2018-05-08 15:41 汪凡 阅读(185) 评论(0) 推荐(0)
摘要:def func1(name, age, sex, *args): ''' 打印姓名,年龄,性别 ''' print(name) print(age) print(sex) # func1('python', 28,sex='man','s','23') ## 工作经验:不定长参数都是放到最后 func1(name='python', age=3... 阅读全文
posted @ 2018-05-08 15:39 汪凡 阅读(369) 评论(0) 推荐(0)
摘要:# *args:位置参数,收集成元组 def func1(*args): print(args) for i in args: print(i) func1('python', 28, 'man', 'meiguo') # **kwargs :收集关键字参数,合并字典 def func2(**kwargs): print(kwargs) for... 阅读全文
posted @ 2018-05-08 15:37 汪凡 阅读(353) 评论(0) 推荐(0)
摘要:方法一: 方法二: 阅读全文
posted @ 2018-05-08 15:19 汪凡 阅读(300) 评论(0) 推荐(0)
摘要:# 九九乘法表 i = 1 while i < 10: j = 1 while j <= i: print('%dx%d=%d' % (j, i, i*j), end='\t') j += 1 print('\n') i += 1 阅读全文
posted @ 2018-05-08 15:10 汪凡 阅读(184) 评论(0) 推荐(0)
摘要:1、创建客户端socket开始进行通讯。2、这时服务端应该先启动,并在知道服务端的ip以及端口号的时候才能进行通讯。3、本地不需要绑定ip以及端口号,在用此套接字对象发送消息的时候会自动分配活动端口(1024-65535) 每次重启程序可能每次都不一样。4、然后对将要发送的信息进行编码处理,然后将编 阅读全文
posted @ 2018-05-08 14:41 汪凡 阅读(5433) 评论(0) 推荐(0)
摘要:1、创建服务端的socket以便开始通讯。2、绑定ip以及端口号,这样客户端才能找到这个程序。3、因为本地网卡不止一个所以尽量不写死,一般用""空来表示所有本地网卡。4、接下来开始通过绑定的ip以及端口开始监听消息,设置最大接收1024字节消息,以防文件过大,占满网络缓存区。5、收到消息之后,这时候就收到了客户端发送过来的ip以及端口,然后也可以再通过这个ip以及端口回发消息。6、收到消息的时候,... 阅读全文
posted @ 2018-05-08 14:34 汪凡 阅读(2775) 评论(0) 推荐(0)