自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git 各种操作命令详细清单

Git 命令详细清单

2023-05-26 22:15:45 54

原创 Python笔记-http服务器

import socket# HTTP服务器都是基于TCP的 socket 链接server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_socket.bind(('192.168.1.5',9090))server_socket.listen(128)# 获取的数据是一个元组,元组里面有两个元素# 第0个元素是客户端的 socket 链接# 第1个元素是客户端的 IP 地址和 端口号client_sock

2021-02-03 19:44:09 144

原创 Python笔记-join方法的使用

# 进程和线程都有 join 方法import timeimport threadingx = 10def test(a,b): time.sleep(1) global x x = a + b# test(1,1)print(x)t = threading.Thread(taeget=test,args=(1,1))t.start()t.join() # join 让主线程等待print(x)...

2021-02-03 19:43:19 187

原创 Python笔记-queue队列

import multiprocessingimport queueq1 = multiprocessing.Queue() # 进程间通信q2 = queue.Queue() # 线程间通信# 创建队列时,可以指定最大长度,默认是0,表示不限q = multiprocessing.Queue(5)q.put('hello')q.put('world')q.put('python')q.put('java')q.put('github')print(q.full()

2021-02-02 20:36:55 161

原创 Python笔记-多进程

import multiprocessingimport timedef dance(m): for i in range(m): time.sleep(0.5) print('正在跳舞')def sing(n): for i in range(n): time.sleep(0.5) print('正在唱歌')if __name__ == '__main__': # target 表示执行的任务

2021-01-31 21:52:26 60

原创 Python笔记-线程间通信

import threadingimport timeimport queuedef produce(): for i in range(10): time.sleep(0.5) print('生产+++++面包{}{}'.format(threading.current_thread().name,i)) q.put('{}{}'.format(threading.current_thread().name,i))def consun

2021-01-31 21:51:10 60

原创 Python笔记-线程锁

import threadingimport time# 多个线程可以同时操作一个全局变量(多个线程共享全局变量)# 线程安全问题ticket = 20look = threading.Lock()def sell_ticekt(): global ticket while True: lock.acquire() if ticket > 0: time.sleep(0.1) ticket -

2021-01-31 21:50:15 71

原创 Python笔记-多线程开发

import threadingimport time# 多个线程可以同时操作一个全局变量(多个线程共享全局变量)# 线程安全问题ticket = 20def sell_ticekt(): global ticket while True: if ticket > 0: time.sleep(0.1) ticket -= 1 print('{}卖出了一张票,还剩{}张票'.format

2021-01-31 21:49:19 65

原创 Python笔记-多线程聊天

import socketimport threadingimport syss = socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind(('169.254.50.193',8080))# file = open('chat.txt','w',encoding='utf8')def send_msg(): while True: msg = input('请输入你要发送的内容:') s.sendt

2021-01-31 21:48:27 113 1

原创 Python笔记-多任务

import threading,timedef dance(): for i in range(50): time.sleep(0.2) print('正在跳舞')def sing(): for i in range(50): time.sleep(0.2) print('正在唱歌')# 多个任务同时执行# 多线程,多进程,多线程+多进程# target 需要的是一个函数,用来指定线程需要执行的任务s1 =

2021-01-31 21:47:29 59

原创 Python笔记-文件上传和下载

文件上传到服务器import socket,ossever_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)sever_socket.bind(('169.254.50.193',9090))sever_socket.listen(128)client_socket,client_addr = sever_socket.accept()data = client_socket.recv(1024).decode('utf8')#

2021-01-31 21:46:29 65

原创 Python笔记-贪婪模式和非贪婪模式

# 贪婪模式:尽可能多的匹配# 非贪婪模式:尽可能少的匹配# 在贪婪模式后面加 ? 可以将贪婪模式转换为非贪婪模式import rem = re.search(r'm.*a','o3rjomjadas')print(m.group())n = re.search(r'm.*?a','o3rjomjadas')print(n.group())# 加号 + 出现一次或多次# 问号 ? 出现0次1或1次...

2021-01-30 21:56:22 93

原创 Python笔记-正则替换

# 正则表达式的作用是用来对字符串进行检索和替换# 检索:match,search,fullmatch,findall,finditer# 替换:sub 第一个参数是正则表达式,第二个参数是新字符,第三个1参数是需要被替换的import ret = 'afo2d1kf23af245qou3095'print(re.sub(r'\d','x',t))print(re.sub(r'\d+','x',t))p = 'hello34good23'def test(x): y = int

2021-01-29 21:32:20 73

原创 Python笔记-正则字母的特殊含义

import re# 字母表示它本身,很多字母前面加 \ 会有特殊含义# \n 表示换行 \t 表示制表符 \s 空白字符 \StopIteration 非空白字符# \d 表示数字 等价于 [0-9] 只能匹配到一个 +加号可以匹配到多个print(re.search(r'x\d+p','x243p'))print(re.search(r'x\dp','x243p'))print(re.search(r'x[0-9]+p','x243p'))# ^ 除了表示以指定内容开始之

2021-01-29 21:30:18 290

原创 Python笔记-正则匹配模式

import reprint(re.search(r'\s','hello world')) # \s 表示任意的非打印字符print(re.search(r'\n','hello\nworld')) # 换行print(re.search(r'\t','hello\tworld')) # 制表符print(re.search(r'\S', ' \t \n xsdcfc')) # \S 表示非空白字符# 标点符号的使用# ():括号用来表示一个分组a = re.search(

2021-01-29 21:28:23 93

原创 Python笔记-正则修饰符

import re# 正则修饰符是对正则表达式进行修饰# re.S:让 . 匹配换行# re.I:忽略大小写# re.M 让 $ 能够匹配到换行# . 表示除了换行以外的任意字符x = re.search(r'm.*a','sdmfo\nejoasdl',re.S)print(x)y = re.search(r'x','good Xyz',re.I)print(y)# \w: 表示的是字母,数字和下划线_ +:出现一次以上 $:以指定的内容结尾z = re.findall(r

2021-01-29 21:26:46 132 1

原创 Python笔记-正则

# 正则表达式 用来处理字符串,查找替换# match 和 search 方法的执行结果是一个Match类型的对象# 在正则表达式里,匹配1个 '\' ,需要使用4个 '\\\\''# 第一个参数是正则匹配规则,第二个参数表示需要匹配的字符串import rex = 'hello\\nworld'm = re.search('\\\\',x)# 前面可以加一个 r 表示原生字符m = re.search(r'\\',x)print(m)'''查找相关的方法match: 查找字符串

2021-01-28 21:57:56 80

原创 Python笔记-斐波那契

def fiboonacci(n): num1 = num2 = 1 count = 0 while count <= n - 2: num1,num2 = num2,num1 + num2 count += 1 yield num1F = fiboonacci(12) # 此时并不会调用函数for i in F: print(i)结果123581321345589144Process

2021-01-27 21:47:44 90

原创 Python笔记-生成器

# 生成器的本质也是一个迭代器x = 5y = 10if x > y: z = xelse: z = yz = x if x > y else y # 三元表达式nums = [i for i in range(10)] # 列表生成式(推导式)print(nums)g = (i for i in range(10)) # 得到的结果是生成器for m in g: # 生成器是一个特殊的迭代器 print(m)# 迭代器是一个对

2021-01-27 21:46:29 75

原创 Python笔记-使用迭代器生成斐波那契数列

class Fibonacci(object): def __init__(self,n): self.n = n self.num1 = self.num2 = 1 self.count = 0 def __iter__(self): return self def __next__(self): self.count += 1 if self.count <= self.n:

2021-01-26 22:32:40 93

原创 Python笔记-迭代器的使用

from collections.abc import Iterableclass Demo(object): def __init__(self,x): self.x = x self.count = 0 def __iter__(self): # 只要重写了 __iter__ 方法就是一个可迭代对象 # f = Foo() return self def __next__(self): #

2021-01-26 22:31:08 58

原创 Python笔记-可迭代对象

# 可迭代对象: list tuple dict set str range filter map# for...in 可迭代对象# for...in 循环的本质就是调用可迭代对象的 __iter__ 方法,获取到这个方法的返回值# 这个返回值需要一个对象,然后再调用这个对象的 __next__ 方法from collections.abc import Iterable# class Foo(object):# def __next__(self):# retu

2021-01-26 22:29:41 61

原创 Python项目-名片管理系统

"""名片管理系统:1.添加名片2.删除名片3.修改名片4.查询名片5.显示所有名片6.推出系统"""user_list = []def add_user(): # 让用户输入信息 name = input('请输入用户名:') # 当用户输入用户名后,查询列表,看用户是已经存在 for u in user_list: if u['name'] == name: print('用户名已存在')

2021-01-26 22:26:28 121

原创 Pyth笔记-高级装饰器

def can_play(clock): print('最外层函数被调用了,clock = {}'.format(clock)) def handle_action(fn): print('handle_action被调用了') def do_action(name,game): if clock < 21: fn(name,game) else:

2021-01-25 21:09:45 63

原创 Python笔记-上下文管理器

# with 语句后面的结果对象,需要重写 __enter__ 和 __exit__方法# 当进入到 with 代码块时,会自动调用 __enter__ 方法里的代码# 当 with 代码块执行完成以后,会自动调用 __exit__ 方法class Demo(object): def __enter__(self): print('__enter__方法被执行了') return self def __exit__(self, exc_type, ex

2021-01-25 21:06:24 59

原创 Python笔记-finally关键字的使用

def test(a,b): x = a + b return x # 一旦出现 return 就表示函数结束 return 'hello' # 这段代码不会被执行,一般情况下,一个函数最多只能执行一个return语句def demo(a,b): try: x = a / b except ZeroDivisionError: return '除数不能为0' else: return x fi

2021-01-24 21:10:04 86

原创 Python笔记-基础知识

# 求绝对值a = abs(-6)print(a)# 元素都为真返回True,反之返回Falseb = all([1,2,5,4,6,0,7,8,])print(b)# 元素至少一个为真返回True,否则返回Falsec = any([1,2,5,4,6,0,7,8,])print(c)# 定义元组时,()括号也可以省略,元素之间用逗号隔开d = 1,2,3,4,5,6,print(d)print(type(d))# 当元组里面只有一个元素时,逗号也不能省略e1 = (5)

2021-01-23 21:19:07 145

原创 Python笔记-异常处理

# 在程序运行过程中,由于某种原因导致程序无法正常执行def div(a,b): return a / btry: x = div(5,0) print('hahaha')except Exception as e: print('程序出错了!!!')else: print('程序没有问题')# try...except 语句用来处理程序运行中的异常...

2021-01-23 21:17:21 73

原创 Python笔记-pickl模块的使用

# Python里存入数据只支持存入 字符串 和 二进制# json:将Python里的数据(str/list/tuple/dict/int/float/bool/None)等转换为对应的json类型1# pickle:将Python里任意的对象转换成二进制import pickle# 序列化: dump:将Python数据转换为二进制同时保存到指定文件# dumps:将Python数据转换为二进制# 反序列化:load:读取文件并将文件的二进制内容加载成为Python数据

2021-01-22 21:08:01 433

原创 Python笔记-2021-01-22

# 序列化:将数据从内存持久化保存到硬盘的过程# 反序列化:将数据从硬盘加载到内存的过程# write时,只能写入字符串或二进制,字典,列表,数字等都不能直接写入到文件里# 写入方法:# 可以将数据转换成二进制或字符串写入 repr/str() json模块 pickle模块# json 本质就是字符串import jsonfile = open('xxx.txt','w',encoding='utf8')names = ['zhangsan','lisi','wangwu','cu

2021-01-22 21:06:24 67

原创 Python笔记-sys模块的使用

import sys# sys.stdin 接收用户的输入,读取键盘里的数据# sys.stdout 标准输出# sys.stderr 错误输出s_in = sys.stdin # input就是读取sys.stdin里的数据while True: content = s_in.readline().rstrip('\n') if content == '': break print(content)sys.stdout = open('stdo

2021-01-22 21:05:16 136

原创 Python笔记-将数据写入到内存

from io import StringIO,BytesIOs_io = StringIO()s_io.write('Hello ') #把数据写入到内存里缓存s_io.write('Python')print(s_io.getvalue())s = ''s += 'hello's += 'world'print(s)print('hello',file=open('xxx.txt','w')) # file是一个文件流对象print('good',file=s_i

2021-01-22 21:03:18 1254 1

原创 Python笔记-csv文件的读写

import csvfile = open('demo.csv','w',encoding='utf8',newline='')w = csv.writer(file)w.writerow(['name','age','score','city'])# w.writerow(['张三','20','100','上海'])# w.writerow(['李四','22','100','武汉'])# w.writerow(['王五','25','100','北京'])w.writerows(

2021-01-21 20:54:40 112

原创 Python笔记-文件拷贝

import osfile_name = input('请输入一个文件路径:')if os.path.isfile(file_name): # 判断是否是文件 # 打开旧文件 old_file = open(file_name,encoding='utf8') names = os.path.splitext(file_name) new_file_name = names[0] + '.bak' + names[1] new_file = open(new_

2021-01-21 20:52:23 62

原创 Python笔记-文件的打开方式

在这里插入代码片# 在windows里默认gbK编码# mode 指的是文件的打开方式# r 只读模式,是默认值,只能读取,不能写入# w 写入模式,打开文件后只能写入,不能读取,如果文件存在,会覆盖文件,如果文件不存在,会创建文件# b 以二进制的形式打开文件,用来操作非文本文件# rb 以二进制读取 wb 以二进制写入# a 追加模式,会在最后追加内容。如果文件不存在,会建文件,如果文件存在,会追加# r+ 可读写 如果文件不存在会报错# w+ 可读写 如果文件不存在,会创建文件;

2021-01-20 21:14:54 105

原创 Python笔记-文件的路径

"""绝对路径相对路径:../上一级1文件夹 ./当前文件夹"""import osprint(os.name)print(os.sep) # 在windows系统里,文件夹之间使用 \ 分隔# 在Python的字符串里,\ 表示转义字符# file = open('C:\Users\TR\Desktop\Python教程2020版代码\xxx.txt') 会报错"""文件名路径的三种方法:1.两个反斜杠\\2.转义字符 r3./ 斜杠"""file1 = open(

2021-01-20 21:12:26 76

原创 Python笔记-文件的读取

# Python里使用内置函数 open 打开并操作一个文件"""open 参数介绍:file:用来指定打开的1文件(不是文件的名字1,而是文件的路径)mode:打开1文件的模式,默认是 r ,表示只读encoding:打开文件时的编码方式open函数会有一个返回值,打开的文件对象写入和读取的编码要一致操作完成文件后要关闭"""file = open('xxx.txt',encoding ='utf8')print(file.read())file.close()结果人生苦短,

2021-01-20 21:10:56 50

原创 Python笔记-2021-01-20

# 继承特点:如果一个类A继承自类B,由类A创建出来的实例对象都能直接使用类B里定义的方法class Person(object): def __init__(self,name,age): self.name = name self.age = age def sleep(self): print(self.name + '正在睡觉')class Student(Person): def __init__(self,name,ag

2021-01-20 21:08:58 95

原创 Python笔记-新式类和经典类

"""新式类:继承自 object 的类经典类:不继承自 object 的类"""class Student(object): # 手动指定 Student 类继承自 object passclass Dog: # 没有指定 Dog 的父类,python3里默认1继承自 object passs = Student()d = Dog()...

2021-01-19 21:15:53 60

原创 Python笔记-私有属性的继承特点

class Animal(object): def __init__(self,name,age): self.name = name self.age = age self.__money = 1000 def eat(self): print(self.name + '正在吃东西') def __test(self): print('我是Animal里的__test方法')class Person

2021-01-19 21:14:42 131 1

Python-100-Days

Python-100-Days,很不错的python自学教程。GitHub上可以找到。自己也开始在学习python。很不错。

2020-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除