自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时光隧道

qq:2528877987,微信:13960699696

  • 博客(85)
  • 收藏
  • 关注

原创 (更新时间)2021年3月31日 Django框架 虚拟环境的搭建

为什么要搭建虚拟环境?在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装比如联网安装Django框架django的1.11.11版本sudo pip install django==1.11.11提示:使用如上命令, 会将Django安装到/usr/local/lib/python2.7/dist-packages路径下问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新,新版本会覆盖以前的版

2021-03-31 23:23:42 334

原创 (精华)2021年3月31日 redis数据库 集群的搭建

配置机器1在演示中,172.16.179.130为当前ubuntu机器的ip在172.16.179.130上进⼊Desktop⽬录,创建conf⽬录在conf⽬录下创建⽂件7000.conf,编辑内容如下port 7000bind 172.16.179.130daemonize yespidfile 7000.pidcluster-enabled yescluster-config-file 7000_node.confcluster-node-timeout 15000appen

2021-03-31 22:26:12 342

原创 (精华)2021年3月31日 redis数据库 主从的搭建

主从概念⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离master和slave都是一个redis实例(redis服务)主从配置配置主查看当前主机的ip地址ifconfig修改/etc/redis/redis.conf文件sudo vi redis.confbind 192.168.26.128

2021-03-31 21:59:48 343

原创 (精华)2021年3月31日 redis数据库 python和redis交互(python版)

一:StrictRedis对象⽅法sr = StrictRedis(host='localhost', port=6379, db=0)简写sr=StrictRedis()stringsetsetexmsetappendgetmgetkeykeysexiststypedeleteexpiregetrangettlhashhsethmsethkeyshgethmgethvalshdellistlpushrpushlinsertlr

2021-03-31 21:55:51 323 2

原创 (精华)2021年3月31日 redis数据库 redis数据库的操作命令

redis数据库相关资源重要文档Redis 参考命令Redis 官方文档数据结构redis是key-value的数据结构,每条数据都是⼀个键值对键的类型是字符串注意:键不能重复值的类型分为五种:字符串string哈希hash列表list集合set有序集合zset数据操作行为保存修改获取删除点击中⽂官⽹查看命令⽂档http://redis.cn/commands.htmlstring类型字符串类型是 Redis 中最为基础的数据存储类型,它在 Re

2021-03-31 21:46:40 322

原创 (精华)2021年3月31日 redis数据库 服务端和客户端的命令

服务器端服务器端的命令为redis-server可以使⽤help查看帮助⽂档redis-server --help个人习惯ps aux | grep redis 查看redis服务器进程sudo kill -9 pid 杀死redis服务器sudo redis-server /etc/redis/redis.conf 指定加载的配置文件客户端客户端的命令为redis-cli可以使⽤help查看帮助⽂档redis-cli --help连接redisredis-cli

2021-03-31 17:39:11 345

原创 (精华)2021年3月31日 redis数据库 redis数据库的配置

配置Redis的配置信息在/etc/redis/redis.conf下。查看sudo vi /etc/redis/redis.conf核心配置选项绑定ip:如果需要远程访问,可将此⾏注释,或绑定⼀个真实ipbind 127.0.0.1端⼝,默认为6379port 6379是否以守护进程运⾏如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务如果以⾮守护进程运⾏,则当前终端被阻塞设置为yes表示守护进程,设置为no表示⾮守护进程推荐设置为yesdaemonize ye

2021-03-31 17:32:31 335

原创 (精华)2021年3月31日 redis数据库 ubuntu安装redis数据库

Redis 安装当前redis最新稳定版本是4.0.9当前ubuntu虚拟机中已经安装好了redis,以下步骤可以跳过 最新稳定版本下载链接:http://download.redis.io/releases/redis-4.0.9.tar.gzstep1:下载wget http://download.redis.io/releases/redis-4.0.9.tar.gzstep2:解压tar xzf redis-4.0.9.tar.gzstep3:移动,放到usr/local⽬录

2021-03-31 17:09:04 302

原创 2022考研笔记-政治(思修)

一.思想修养1.人生价值2.理想信念3.中国精神

2021-03-31 12:04:44 337

原创 2022考研笔记-政治(马原-科学社会主义理论)

一.科学社会主义理论社会主义的发展进程?共产主义的基本特征?

2021-03-31 10:16:38 340

原创 2022考研笔记-政治(马原-马克思主义政治经济学)

一.马克思主义政治经济学商品价值的本质是什么?答:劳动力产生价值,用于交换的劳动力就是商品资本主义社会有什么不同?答:劳动者价值卖给资本家,价值归资本家所有为什么说资本主义社会存在剥削?答:劳动者创造100价值,50价值为劳动者所有,另外50为资本家所有...

2021-03-31 09:58:13 338

原创 2022考研笔记-政治(马原-马克思主义哲学)

一.马克思主义哲学的由来1.马克思主义哲学-唯物论世界的本原是什么?答:主观唯心(我的心决定一切),客观唯心(道决定一切),客观实在(物质)物质如何起决定性作用?答:物质决定意识2.马克思主义哲学-辩证法物质世界是怎样存在的?答:联系和发展(现在和未来)事物是怎样联系的?答:矛盾(两两联系又冲突)辩证法三大归律事物为什么会发展?答:对立统一(两个人结婚又有各自的特性)怎样发展?答:量变到质变(积累到一定程度就成功了)往哪里发展?答:否定之否定(有一-无-有二-无-有三)

2021-03-31 09:32:11 331

原创 (更新时间)2021年3月31日 python基础知识(re模块的使用)

一:re模块介绍1. re模块的介绍在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个 re 模块# 导入re模块import re# 使用match方法进行匹配操作result = re.match(正则表达式,要匹配的字符串)# 如果上一步匹配到数据的话,可以使用group方法来提取数据result.group()2. re模块的使用import re# 使用match方法进行匹配操作result = re.match("itcast","itcas

2021-03-30 14:54:14 337

原创 (更新时间)2021年3月30日 python基础知识(生成器)

1. 生成器的介绍根据程序员制定的规则循环生成数据,当条件不成立时则生成数据结束。数据不是一次性全部生成出来,而是使用一个,再生成一个,可以节约大量的内存。2. 创建生成器的方式生成器推导式yield 关键字生成器推导式:与列表推导式类似,只不过生成器推导式使用小括号# 创建生成器my_generator = (i * 2 for i in range(5))print(my_generator)# next获取生成器下一个值# value = next(my_generat

2021-03-30 14:43:39 346

原创 2022考研笔记-政治大纲

#mermaid-svg-3FV2x8pkVD0CStOb .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3FV2x8pkVD0CStOb .label text{fill:#333}#mermaid-svg-3FV2x8pkVD0CStOb .node rect,#mermaid-svg-3FV2x8pkVD

2021-03-29 21:24:09 362

原创 (更新时间)2021年3月29日 python基础知识(with语句和上下文管理器)

1. with语句的使用with 语句的示例代码:# 1、以写的方式打开文件with open("1.txt", "w") as f: # 2、读取文件内容 f.write("hello world")with 语句的这种写法,既简单又安全,并且 with 语句执行完成以后自动调用关闭文件操作,即使出现异常也会自动调用关闭文件操作。2. 上下文管理器自定义上下文管理器类,模拟文件操作:class File(object): # 初始化方法 def __ini

2021-03-29 10:21:58 404

原创 (更新时间)2021年3月29日 python基础知识(property属性)

1. property属性的介绍property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。定义property属性有两种方式装饰器方式类属性方式2. 装饰器方式class Person(object): def __init__(self): self.__age = 0 # 装饰器方式的property, 把age方法当做属性使用, 表示当获取属性时会执行下面修饰的方法 @property def age(self)

2021-03-29 10:17:42 427 2

原创 (更新时间)2021年3月28日 python基础知识(搭建自己的框架)

1. 框架职责介绍接收web服务器的动态资源请求,给web服务器提供处理动态资源请求的服务。2. 动态资源判断根据请求资源路径的后缀名进行判断如果请求资源路径的后缀名是.html则是动态资源请求, 让web框架程序进行处理。否则是静态资源请求,让web服务器程序进行处理。web服务器程序(web.py)代码:import socketimport threadingimport sysimport framework# 定义web服务器类class HttpWebServer

2021-03-28 22:33:09 444 1

原创 (更新时间)2021年3月28日 python基础知识(装饰器)

一.装饰器的使用1. 装饰器的使用场景函数执行时间的统计输出日志信息2. 装饰器实现已有函数执行时间的统计import time# 装饰器函数def get_time(func): def inner(): begin = time.time() func() end = time.time() print("函数执行花费%f" % (end-begin)) return inner@get_time

2021-03-28 18:59:47 412

原创 (更新时间)2021年3月28日 python基础知识(闭包)

一 闭包的概念1. 闭包的介绍闭包的定义:在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。2. 闭包的构成条件通过闭包的定义,我们可以得知闭包的形成条件:在函数嵌套(函数里面再定义函数)的前提下内部函数使用了外部函数的变量(还包括外部函数的参数)外部函数返回了内部函数3. 简单闭包的示例代码# 定义一个外部函数def func_out(num1): # 定义一个内部函数 def func_

2021-03-28 17:06:29 408

原创 (更新时间)2021年3月28日 python基础知识(深拷贝和浅拷贝)

1. 浅拷贝copy函数是浅拷贝,只对可变类型的第一层对象进行拷贝,对拷贝的对象开辟新的内存空间进行存储,不会拷贝对象内部的子对象。不可变类型的浅拷贝示例代码:import copy # 使用浅拷贝需要导入copy模块# 不可变类型有: 数字、字符串、元组a1 = 123123b1 = copy.copy(a1) # 使用copy模块里的copy()函数就是浅拷贝了# 查看内存地址print(id(a1))print(id(b1))print("-" * 10)a2 = "a

2021-03-28 16:44:34 408 1

原创 (更新时间)2021年3月28日 python基础知识(PyMySQL的使用)

1. 思考如何实现将100000条数据插入到MySQL数据库?答案:如果使用之前学习的MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,我们可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删改查的方式,实现10000条数据的插入,像这样使用代码的方式操作数据库就称为数据库编程。2. Python程序操作MySQL数据库安装pymysql第三方包:sudo pip3 install pymysql说明:安装命令使用 sudo pip3 install

2021-03-28 15:08:51 411

原创 (更新时间)2021年3月28日 python基础知识(手写web服务器)

1.手写web服务器import socketimport threading# 定义web服务器类class HttpWebServer(object): def __init__(self): # 创建tcp服务端套接字 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 设置端口号复用, 程序退出端口立即释放 tcp_serve

2021-03-28 13:53:40 391

原创 (更新时间)2021年3月28日 python基础知识(自带web服务器)

一.搭建Python自带静态Web服务器1. 静态Web服务器是什么?可以为发出请求的浏览器提供静态文档的程序。平时我们浏览百度新闻数据的时候,每天的新闻数据都会发生变化,那访问的这个页面就是动态的,而我们开发的是静态的,页面的数据不会发生变化。2. 如何搭建Python自带的静态Web服务器搭建Python自带的静态Web服务器使用 python3 -m http.server 端口号, 效果图如下:-m选项说明:-m表示运行包里面的模块,执行这个命令的时候,需要进入你自己指定静态文件的目

2021-03-28 13:44:41 340

原创 (更新时间)2021年3月28日 python基础知识(TCP网络应用程序开发)

一:TCP 客户端程序开发1. 开发 TCP 客户端程序开发步骤回顾创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字2. socket 类的介绍导入 socket 模块import socket创建客户端 socket 对象socket.socket(AddressFamily, Type)参数说明:AddressFamily 表示IP地址类型, 分为IPv4和IPv6Type 表示传输协议类型方法说明:connect((host, p

2021-03-28 11:19:51 394

原创 (更新时间)2021年3月28日 python基础知识(死锁)

1. 死锁示例import threadingimport time# 创建互斥锁lock = threading.Lock()# 根据下标去取值, 保证同一时刻只能有一个线程去取值def get_value(index): # 上锁 lock.acquire() print(threading.current_thread()) my_list = [3,6,8,1] # 判断下标释放越界 if index >= len(my_li

2021-03-28 10:54:47 407

原创 (更新时间)2021年3月28日 python基础知识(互斥锁)

1.互斥锁的使用import threading# 定义全局变量g_num = 0# 创建全局互斥锁lock = threading.Lock()# 循环一次给全局变量加1def sum_num1(): # 上锁 lock.acquire() for i in range(1000000): global g_num g_num += 1 print("sum1:", g_num) # 释放锁 lock

2021-03-28 10:48:34 382

原创 (更新时间)2021年3月28日 python基础知识(线程的使用)

一. 线程的使用1. 导入线程模块#导入线程模块import threading2. 线程类Thread参数说明Thread([group [, target [, name [, args [, kwargs]]]]])group: 线程组,目前只能使用Nonetarget: 执行的目标任务名args: 以元组的方式给执行任务传参kwargs: 以字典方式给执行任务传参name: 线程名,一般不用设置3. 启动线程启动线程使用start方法4. 多线程完成多任务的代码im

2021-03-28 10:41:48 385

原创 (更新时间)2021年3月28日 python基础知识(进程的使用)

一. 进程的使用1. 导入进程包#导入进程包import multiprocessing2. Process进程类的说明Process([group [, target [, name [, args [, kwargs]]]]])group:指定进程组,目前只能使用Nonetarget:执行的目标任务名name:进程名字args:以元组方式给执行任务传参kwargs:以字典方式给执行任务传参Process创建的实例对象的常用方法:start():启动子进程实例(创建子进程)

2021-03-28 10:19:43 389

原创 (更新时间)2021年3月27日 python基础知识(包的引用)

python中的包1. 引入包1.1 有2个模块功能有些联系1.2 所以将其放到同一个文件夹下1.3 使用import 文件.模块 的方式导入1.4 使用from 文件夹 import 模块 的方式导入1.5 在msg文件夹下创建__init__.py文件1.6 在__init__.py文件中写入1.7 重新使用from 文件夹 import 模块 的方式导入总结:包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件

2021-03-27 22:22:08 379

原创 (更新时间)2021年3月27日 python基础知识(模块中的__all__)

1. 没有__all__2. 模块中有__all__总结如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,会被from xxx import*时导入,没有在这个变量中的不会被导入

2021-03-27 22:08:14 383

原创 (更新时间)2021年3月26日 python基础知识(模块制作)

模块制作<1>定义自己的模块在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。比如有这样一个文件test.py,在test.py中定义了函数addtest.pydef add(a,b): return a+b<2>调用自己定义的模块那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然也可以通过from test import add来引入main.pyimport testr

2021-03-26 10:51:24 404 1

原创 (更新时间)2021年3月26日 python基础知识(模块的导入)

模块<1>Python中的模块在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块<2>import在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import

2021-03-26 10:44:25 424 2

原创 (更新时间)2021年3月26日 python基础知识(自定义异常)

抛出自定义的异常你可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类下面是一个引发异常的例子:class ShortInputException(Exception): '''自定义的异常类''' def __init__(self, length, atleast): #super().__init__() self.length = length self.atleast

2021-03-26 10:33:21 389

原创 (更新时间)2021年3月26日 python基础知识(异常的传递)

异常的传递1. try嵌套中import timetry: f = open('test.txt') try: while True: content = f.readline() if len(content) == 0: break time.sleep(2) print(content) finally: f.cl

2021-03-26 10:31:29 380

原创 (更新时间)2021年3月25日 python基础知识(异常的捕获)

1.异常的捕获<1>捕获单个异常# 异常: 程序代码在运行过程中遇到的错误, 程序会报错,会终止程序代码的运行.# 异常捕获: 是指在程序代码运行过程中,遇到错误, 不让程序代码终止,让其继续运行, 同时可以给使用者一个提示信息# 并记录这个错误, 便于后期改进"""try: 可能发生异常的代码except 异常的类型: 发生异常执行的代码"""print('其他的代码......')num = input('请输入一个数字:')# ZeroDivisi

2021-03-25 19:07:31 386 2

原创 (更新时间)2021年3月25日 python基础知识(静态方法和类方法)

1. 类方法是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以’cls’作为第一个参数的名字,就最好用’cls’了),能够通过实例对象和类对象去访问。"""实例方法: 类中默认定义的方法,就是实例方法, 第一个参数为self,表示实例对象类方法: 使用 @classmethod 装饰的方法,称为类方法, 第一个参数是cls,代表的是类对象自己什么

2021-03-25 18:12:01 392 2

原创 (更新时间)2021年3月25日 python基础知识(类属性和实例属性)

1.类属性class People(object): name = 'Tom' # 公有的类属性 __age = 12 # 私有的类属性p = People()print(p.name) # 正确print(People.name) # 正确print(p.__age) # 错误,不能在类外通过实例对象访问私有的类属性print(People.__age) # 错误,不能在类外通过类对象访问私有的类属性2.实例属性(对象属性)class People(obje

2021-03-25 18:00:25 397

原创 (更新时间)2021年3月25日 python基础知识(多态)

1.多态"""在需要使用父类对象的地方,也可以传入子类对象,得到不同的结果 ---- 多态实现步骤:1. 子类继承父类2. 子类重写父类中的同名方法3. 定义一个共同的方法, 参数为父类对象.在方法中调用子类和父类同名的方法"""# 1. 定义DOg类class Dog(object): def __init__(self, name): self.name = name def play(self): print(f'小狗{self.

2021-03-25 17:56:25 377

原创 (更新时间)2021年3月24日 python基础知识(私有属性和私有方法)

私有权限面向对象三大特性:封装、继承、多态封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;对类的属性和方法增加 访问权限控制。私有权限:在属性名和方法名 前面 加上两个下划线 __类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。私有

2021-03-24 20:55:04 405 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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