『合集-Python』
文章平均质量分 54
python的知识集合地
Mr. Sun_
欢迎小伙伴来到博客,共同学习,一同进步。
展开
-
Python常用框架:Flask
Flask框架的诞生:Flask诞生于2010年, Armin Ronacher的一个愚人节玩笑。不过现在已经是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要用第三方的扩展来实现。用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。你可以选择MySQL,也可以用NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块),转载 2021-09-30 09:52:24 · 434 阅读 · 0 评论 -
python 中的for i in range()的使用(for _ in range())
for i in range(n)range(n)输出的区间为 [ 0 , n − 1 ] [0, n - 1][0,n−1],代码如下for i in range(5): print(i)输出结果为:0, 1, 2, 3, 4for i in range(m, n)range(m, n)输出的区间为 [ m , n − 1 ] [m, n - 1][m,n−1],代码如下for i in range(2, 5): print(i)输出结果为: 2, 3, 4...原创 2021-08-25 12:37:42 · 39436 阅读 · 0 评论 -
协程与线程的区别
概念 1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。 2、线程线程是指进程内的一个执行单元,也是进程内的可调度实体。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥转载 2021-08-23 10:59:55 · 21498 阅读 · 3 评论 -
多线程还是多进程的选择
我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个好得不得了,另外一个差的无法忍受)。 对比维度 多进程 多线程 总结 数据共享、同步 数据共享复杂,需要用IPC;数据是分开的,同步简单 因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂 各有优势 内存、CPU转载 2021-08-19 12:22:31 · 928 阅读 · 1 评论 -
多线程还是多进程的区别
多进程之间不共享数据,程序上下文区分开。多线程之间共享数据,在数据处理上要谨慎1.定义程序: 只是一组指令的有序集合,是计算机硬盘上的一些文件,是“死的”进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位,是“活的”线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程转载 2021-08-19 12:18:13 · 211 阅读 · 0 评论 -
Thread的start()和join()方法
start: 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。run: run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有.原创 2021-08-12 09:54:24 · 3029 阅读 · 1 评论 -
python线程信号量semaphore
一.semaphore信号量原理多线程同时运行,能提高程序的运行效率,但是并非线程越多越好,而semaphore信号量可以通过内置计数器来控制同时运行线程的数量,启动线程(消耗信号量)内置计数器会自动减一,线程结束(释放信号量)内置计数器会自动加一;内置计数器为零,启动线程会阻塞,直到有本线程结束或者其他线程结束为止;二.semaphore信号量相关函数介绍acquire()— 消耗信号量,内置计数器减一;release()— 释放信号量,内置计数器加一;在semaphore信号..转载 2021-08-12 09:47:14 · 142 阅读 · 0 评论 -
Python中的 __name__属性的含义和作用
Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一。Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导入到别的文件中,可以调用这些变量和函数。那么这时 __name__ 的作用就彰显了,它可以标识模块的名字,可以显示一个模块的某功能是被自己执行还是被别的文件调用执行,假设模块A、B,模块A自己定义了功能C,模块B调用模块A,现在功能C被执行了:如果C被A自己执行,也就是说模块执行了自己定义的功能,那么 __name__转载 2021-07-15 12:10:15 · 818 阅读 · 0 评论 -
python中的_init_的含义
上面的例子中,Person是一个类,_init_是一个特殊的方法(init是单词初始化initialization的省略形式),在使用类创建对象之后被执行,用于给新创建的对象初始化属性用。self.name = name 就是初始化属性的语句_init_是一个方法,这个方法里面有三个形参self、name、age。self表示对象本身,谁调用就表示谁。这里self.name = name和 self.age = age表示将外部传来的name 和 age,赋值给了self 对象的...转载 2021-07-15 11:59:34 · 2006 阅读 · 0 评论 -
python-字符串前面f的作用
1、字符串前加 u例:u"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。2、字符串前加 r例:r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。作用:去掉反斜杠的转移机制。特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。3、字符串前加 bb前缀表示:后面字符串是byte转载 2021-07-15 10:19:58 · 748 阅读 · 0 评论 -
多进程和多线程的概念
目录一、多线程是什么? 二、多进程是什么? 三、多线程与多进程,选择谁? 四、并行、并发、高并发等概念回到顶部一、多线程是什么?说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。那么多线程就很容易理解:多线程就是指一个进程中同时有多个线程正在执行。为转载 2021-07-12 08:16:57 · 180 阅读 · 0 评论 -
Python-WXPY实现微信监控报警
概述: 本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序。博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的将工作和学习联系在一起。 博文中主要使用到的技术设计到Python,Redis,以及Java。涉及到的技术看似很多,但是主要的语言是基于Python进行开发的。 架构涉及主要采用了 生产者消费者的涉及模式,使用Redis作为消息队列进行解耦操作。 主要架构涉及如下: 接下来开始介绍一下程序的实现过程,主要讲解wx转载 2021-07-10 11:55:00 · 1441 阅读 · 0 评论 -
Python运维自动化psutil 模块详解(超级详细)
psutil 模块参考官方文档:https://pypi.org/project/psutil/一、psutil简介psutil是一个开源且跨平台(http://code.google.com/p/psutil/)的库,能够轻松实现**获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,**如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、i转载 2021-06-11 14:29:58 · 9156 阅读 · 2 评论 -
python序列化和反序列化作用
1.首先不管哪种语言都会用到序列化和反序列化的过程,2.序列化:把对象转换为字节序列的过程称为对象的序列化; 反序列化:把对象转换为字节序列的过程称为对象的序列化。3.序列化的作用:把对象(变量)从内存中变成可存储或传输的二进制对象,序列化之后的内容就可以写入磁盘,或者通过网络传输到别的机器上,同理,反序列化实现,把变量内容从序列化的对象重新读取到内存4.如何实现序列化?比如我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,例如xml,json。json是标准的JavaS..转载 2021-06-02 11:36:57 · 979 阅读 · 0 评论 -
WSGI 是什么?和nginx有什么关系?
回顾一下,我们在用python做web开发的时候,一般基于某个web框架来开发,django或者是flask等其它框架。业务开发完成后,就要部署到某台服务器中用于提供对外的访问。这时候你去网上一搜,他们都会告诉你需要用 gunicorn或者是uwsgi 来部署。那么gunicorn、uwsgi 又是什么玩意。一、WSGI是一种协议全称Web Server Gateway Interface,WSGI是一种规范,用来描述web server如何与web application通信的规范。二.原创 2021-05-22 20:59:58 · 1127 阅读 · 2 评论 -
SDK与API的联系与区别
在手机App的世界里,法规条文里所谓的“第三方应用或服务”是个看得见摸不着的存在。但事实上,不管是你每天收到的新闻推送,还是促销活动广告,甚至短信验证码,都有可能出自第三方之手。这些集成在App里的第三方工具包被称为SDK(Software Development Kit,软件开发工具包)。它们可以帮助App高效率、低成本地实现地图、支付、统计、社交、广告等一系列功能,那么,到底什么是SDK呢?1、SDK的概念SDK即“软件开发工具包”,软件开发工具包一般都是一些软件工程师为特定的软件包、软件框原创 2021-05-14 10:07:00 · 2551 阅读 · 0 评论 -
select2的一些特性效果
重点介绍下select2的一些特性效果:1、多选效果可以设置最多只能选几个2、图文结合的效果3、远程搜索功能(即在用户输入搜索内容时动态去后台取数据)输入内容前输入空格搜索出全部滚动条滑动到底部自动加载剩余项输入文本动态去后台过滤更高级的用法如:其实使用起来也不难,就是一个拼html的过程。...转载 2021-05-12 07:01:18 · 441 阅读 · 0 评论 -
Python-form表单标签
语义:标记表单#1、什么是表单? 表单就是专门用来接收用户输入或采集用户信息的#2、表单的格式 <form> <表单元素> </form>链接:https://www.processon.com/view/link/5aeea789e4b084d6e4bf6911图片:https://pan.baidu.com/s/1db6o--q557aKmtYJSBsyqA在form内还可以添加一种标签<fie.转载 2021-05-07 13:29:00 · 296 阅读 · 0 评论 -
前端到后端的整体流程介绍
从我们智能手机说起,手机已经成为我们不可或缺的一部分。那么手机在软件行业里处在什么样的位置呢。这里我把手机理解为前端前端:我粗暴的理解为,“前就”是前面,眼前,“端”就是终端,连起来就是展示在使用者眼前的终端设备。 这么看来,终端当然还包括我们的电脑 、平板,都是前端。 有前端,当然就有后端。这里我们先说前端,前端包括两部分,网页前端,和移动前端。网页前端的编程语言,和需要掌握的相关知识:HTML/CSS —–>负责网页的页面样式和现实的内容 JavaScript —–>.转载 2021-04-22 21:44:19 · 5523 阅读 · 0 评论 -
HTML, CSS, Javascript, jQuery之间的关系
1.CSS是HTML的搭档.在编码过程中,它们发挥不同的作用:HTML负责网页的具体内容(结构),而CSS则修饰网页的表现形式(布局)。CSS有一个优越的特性,即它可以对页面布局进行集中管理。也就是说,你不必在每个标签里都使用style属性;相反,你可以只声明一次,浏览器便会按相应的页面布局效果来显示文本:通过把CSS文档独立出来,你就可以同时对多个页面的布局进行集中管理, 方便统一风格。这也是现在网站上的通行方式, 最佳选择。2.Javascript是用来给HTML一些操作行为..原创 2021-04-17 16:40:33 · 1072 阅读 · 0 评论 -
什么是FBV和CBV?
在早期,视图开发的过程中存在一些常见的语法和模式,于是引入基于函数的通用视图来抽象这些模式,并简化了常见情况下的视图开发。因此,刚开始的时候只有FBV,而Django所做的事情就是向你定义的视图函数传递一个HttpRequest,并且希望返回一个HttpResponse。但是,基于函数的通用视图是有问题的,问题在于它很好地覆盖了简单的情况,但针对稍微复杂的场景,它没有办法在某些配置项之外进行扩展或自定义,从而极大地限制了它在许多实际应用程序中的实用性。而考虑到扩展性与自定义,这正是面向对象技术的强大之处,于转载 2021-03-23 15:44:43 · 6957 阅读 · 0 评论 -
python 类和函数的区别
python中,在类中可以定义函数,类和函数都可作为一个模块保存。python的类和函数的区别主要在于类可以有变量和各种方法,而函数没有。函数只能被运行,返回或者不返回值都可以。模块如果没有把类声明为私有,其他模块就可以使用这个类,方法是import这个模块,然后用“模块名.类名”来调用。...原创 2021-03-23 15:37:21 · 2624 阅读 · 0 评论 -
What is ORM ?
一、概述面向对象编程和关系型数据库,都是目前最流行的技术,但是它们的模型是不一样的。面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据。很早就有人提出,关系也可以用对象表达,这样的话,就能使用面向对象编程,来操作关系型数据库。简单说,ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写。ORM 把数据库映射成对象。数据库的表(tab转载 2020-12-30 09:14:15 · 361 阅读 · 0 评论 -
【Python项目】CMDB的搭建12(SaltStack配置小结2/2)
LAMP架构案例说明:该案例在prod环境配置1)环境准备,定义file_roots环境[root@salt-master ~]# vim /etc/salt/masterfile_roots: base: - /srv/salt/base dev: - /srv/salt/dev prod: - /srv/salt/prod2)创建对应环境...原创 2020-12-25 13:20:32 · 262 阅读 · 0 评论 -
python 获取随机字母
Python3 import string # 导入string这个模块 print(string.digits) # 输出包含数字0~9的字符串 print(string.ascii_letters) # 包含所有字母(大写或小写)的字符串 print(string.ascii_lowercase) # 包含所有小写字母的字符串 print(string.ascii_uppercase) # 包含所有大写字母的字符串import randomlst=[]f..原创 2020-06-17 15:34:23 · 5403 阅读 · 0 评论 -
彻底搞懂Python切片操作
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值。切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉。本文通过详细例子总结归纳了切片操作的各种情况。若有错误和不足之处请大牛指正!一、Python可切片对象的索引方式Python可切片对象的索引方式包括:正索引和负索引两部分。如下图所示转载 2020-06-09 14:33:22 · 312 阅读 · 0 评论 -
Python format 格式化函数
Python2.6 开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。基本语法是通过{}和:来代替以前的%。format 函数可以接受不限个参数,位置可以不按顺序。实例>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world") # 设置指定位置 'hello...转载 2020-06-09 14:21:46 · 314 阅读 · 0 评论 -
Python中strip()、lstrip()、rstrip()用法详解
Python中有三个去除头尾字符、空白符的函数,它们依次为:strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)注意:这些函数都只会删除头和尾的字符,中间的不会删除。用法分别为:string.strip([chars])string.lstrip原创 2020-06-09 14:07:36 · 1492 阅读 · 0 评论 -
python中的join()函数的用法
Python中有.join()和os.path.join()两个函数,具体作用如下: . join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回>>#对序列进行操作(分别使用' ' 、' - '与':'作为分隔符)>> a=['1','2','3','4','5']>>print( ' '.join(a))1 2 3 4 5...原创 2020-06-09 13:09:52 · 3634 阅读 · 0 评论 -
Python3 中 random模块
Python中的random模块用于生成随机数。下面具体介绍random模块的功能:1.random.random()#用于生成一个0到1的随机浮点数:0<= n < 1.01 import random 2 a = random.random()3 print (a) 2.random.uniform(a,b)#用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n...转载 2020-06-09 09:35:10 · 492 阅读 · 0 评论 -
python列表的复制和浅拷贝与深拷贝的区别
1、直接赋值,其实就是默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的B也会做相同的改变2、浅拷贝,没有拷贝子对象,所以原始数据改变,子对象也会改变3、深拷贝,包含对象里面的子对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变举例:复制:a = list(range(4)) b = list(range(4)) print(a == b) c = a c[2] = 10 print(a) print(a == b) # 还相等吗? ...原创 2020-06-09 09:13:40 · 373 阅读 · 0 评论 -
python数据类型转换
函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x)原创 2020-06-04 18:11:24 · 283 阅读 · 0 评论 -
输入功能实现
'''书写input input('提示信息')观察input特点 遇到input,等待用户输入 接收input存变量 input接收到的数据变量是字符串'''passwd=input('请输出您的密码:')print(f'你输入的密码是{passwd}')print(type(passwd))...原创 2020-06-04 17:44:14 · 776 阅读 · 0 评论 -
PyCharm 快速批量注释及取消注释
选中需要注释的代码块-> 同时按住ctrl+/ 键->批量注释-> 再同时按住ctrl+/ 键-> 批量取消注释原创 2020-06-04 17:35:14 · 15134 阅读 · 0 评论 -
转移字符
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看:>>> print('I\'m ok.')I'm ok.>>> print('I\'m learning\n"Python\".\tWhat are you doing?\\')I'm learning"Python". What are you doing?\>>...原创 2020-06-04 17:29:10 · 779 阅读 · 0 评论 -
格式化字符串应用
age=18name='Tom'weight=75.5stu_id=1stu_id2=1000# 今年我得年龄是X岁print('今年我得年龄是%d岁' %age)# 我的名字是Xprint('我的名字是%s' %name)# 我的体重是X公斤print('我的体重是%.2f公斤' %weight)# 我的学号是xprint('我的学号是%d' %stu_id)# 我的学号是001print('我的学号是%03d' %stu_id)print('我的学号是%03d' .原创 2020-06-04 17:14:17 · 344 阅读 · 0 评论 -
Python常用的格式化符号
重点关注红色的三个。格式符号 转换%c 字符%s 通过str() 字符串转换来格式化%i 有符号十进制整数%d 有符号十进制整数%u 无符号十进制整数%o 八进制整数%x 十六进制整数(小写字母)%X 十六进制整数(大写字母)%e 用科学计数法格式化浮点数%E 作用...原创 2020-06-03 18:03:43 · 617 阅读 · 0 评论 -
python中数据类型分类思维导图
转载 2020-06-03 17:27:25 · 545 阅读 · 0 评论 -
python坚持到底09
这篇文章是上篇猜年龄代码的优化版本,新增内容如下:猜满三次不自动退出,而是征求意见是否继续。age_of_jhon = 31count = 0while count < 3 : guess_age = int(input("guess_age:")) if guess_age == age_of_jhon : print("you got it"...原创 2019-12-17 22:35:09 · 193 阅读 · 0 评论 -
python坚持到底08
这篇文章其实是接着昨天写的,新增加的内容是猜的次数小于3次,达到三次后退出,是不是有点像登录某些系统时,密码达到限制次数自动锁住。age_of_jhon = 31count = 0while count < 3 : #这里是一个限制次数的循环 guess_age = int(input("guess_age:")) if guess_age == age_of...原创 2019-12-17 10:15:42 · 113 阅读 · 0 评论