![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
文章平均质量分 63
defending
这个作者很懒,什么都没留下…
展开
-
Narcissistic.py
def narcissistic(n): n_list = [] if n == 1: n_list.append(0) min_num = "1" max_num = "9" bit = n while n-1: min_num += "0" max_num += "9" n -= ...原创 2019-05-18 16:41:10 · 295 阅读 · 0 评论 -
绘图和可视化--Matplotlib
Matplotlib是一个强大的Python绘图和数据可视化的工具包。安装方法:pip installmatplotlib引用方法:importmatplotlib.pyplotasplt绘图函数:plt.plot()显示图像:plt.show()plot函数:线型linestyle(-,-.,--,..)点型marker(v,^,s,*,H原创 2017-10-30 18:52:36 · 315 阅读 · 0 评论 -
pandas
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas的主要功能:具备对齐功能的数据结构DataFrame、Series集成时间序列功能提供丰富的数学运算和操作灵活处理缺失数据中文文档:http://python.usyiyi.cn/translat原创 2017-10-30 16:01:47 · 1107 阅读 · 0 评论 -
Python之Numpy库常用函数大全(含注释)
本博文摘抄自中国慕课大学上的课程《Python数据分析与展示》,推荐刚入门的同学去学习,这是非常好的入门视频。Numpy是科学计算库,是一个强大的N维数组对象ndarray,是广播功能函数。其整合C/C++.fortran代码的工具 ,更是Scipy、Pandas等的基础.ndim :维度 .shape :各维度的尺度 (2,5) .size :元素的个数 10 .dt转载 2017-10-30 15:57:05 · 1372 阅读 · 0 评论 -
数值计算扩展--numpy
numpy是一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。安装方法:pip install numpy引用方式:import numpy as np原创 2017-10-30 15:04:46 · 438 阅读 · 0 评论 -
Ipython:交互式的Python命令行
IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。IPython 是基于BSD 开源的。IPython 为交互式计算提供了一个丰富的架构,包含:强大的交互式 shellJupyter 内核交互式的数据可视化工具灵活、可嵌入的解释器原创 2017-10-30 14:50:48 · 1292 阅读 · 0 评论 -
python操作excel
python对excel操作有主要有以下第三方库支持:xlwings:简单强大,可替代VBAopenpyxl:简单易用,功能广泛pandas:使用需要结合其他库,数据处理是pandas立身之本win32com:不仅仅是excel,可以处理office;Xlsxwriter:丰富多样的特性,直接创造一份美观大方的excel,代码即一切;DataNitro:作为插件内嵌到exc原创 2017-10-10 18:34:03 · 2908 阅读 · 0 评论 -
Python 中的单例模式
原文出处: funhacks 单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方转载 2017-10-18 15:38:27 · 867 阅读 · 0 评论 -
API验证
为提高数据库安全,有必要对通过API的来访者进行判断是否为合法客户端。通过验证签名方式。将key提前放在合法客户端,访问服务端时将key放在请求头,服务端进行验证是否为合法key。但此方式,key是明文,被截获则泄漏。所以,必须加密。在客户端通过MD5加密发送key,服务端收到后,取出存在服务端的key加密后比对收到的密文。自此,我们实现密文发送。但是,密文被截获后仍然可以直接登录原创 2017-10-04 12:35:27 · 506 阅读 · 0 评论 -
python---re模块,正则表达式
正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。import rere.findall(匹配规则,字符串) 以列表形式返回所有匹配的子串,不成功便返回空列表re.search(匹配规则,字符串) 将字符串的所原创 2017-06-26 16:04:13 · 414 阅读 · 0 评论 -
随机图片验证码
Python生成随机验证码,需要使用PIL模块.安装:1pip3 install pillow基本使用1. 创建图片123456789from PIL import Ima转载 2017-09-05 19:02:59 · 255 阅读 · 0 评论 -
线程池,进程池 concurrent.futures 模块介绍
引言Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间。但从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和Proce转载 2017-09-27 16:06:50 · 2367 阅读 · 0 评论 -
模块traceback介绍
此模块提供了一个标准接口来提取,格式化和打印Python程序的堆栈跟踪。它精确地模拟了Python解释器在打印堆栈跟踪时的行为。当您想在程序控制下打印堆栈跟踪时,例如在解释器周围的“包装器”中,这是非常有用的。模块使用跟踪对象 - 这是存储在sys.last_traceback变量中并作为第三个项目从sys.exc_info()返回的对象类型。try: ...except Exce原创 2017-09-26 16:53:02 · 357 阅读 · 0 评论 -
模块paramiko 介绍
paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。原创 2017-09-26 15:12:19 · 267 阅读 · 0 评论 -
模块importlib介绍
importlib包的目的是双重的。一个是在Python源代码中提供import语句(以及扩展名为__import__()函数)的实现。这提供了可以移植到任何Python解释器的import的实现。这也提供了比在除了Python之外的编程语言中实现的实现更容易理解的实现。第二个目的是,实现import的组件在此包中公开,使用户更容易创建自己的自定义对象(通常称为importer)以参与导入处理原创 2017-09-26 15:01:05 · 8172 阅读 · 0 评论 -
python -- socketserver框架
SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端。即:每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进 程” 专门负责处理当前客户端的所有请求。1.ThreadingTCPServerThreadingTCPServer实现的Soket服务器内部会为每个client创转载 2017-07-24 17:34:40 · 352 阅读 · 0 评论 -
requests模块
一 介绍#介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3)#注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求#安装:pip3 install requests#各种请求方式:常用的就是reques转载 2017-11-07 15:01:25 · 495 阅读 · 0 评论 -
selenium模块
一 介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器from selenium import webdriverbrowser=webdriver.Chrome(转载 2017-11-08 19:24:17 · 246 阅读 · 0 评论 -
rotatestring.py
'''样例 1:输入: str="abcdefg", offset = 3输出: str = "efgabcd"样例解释: 注意是原地旋转,即str旋转后为"efgabcd"样例 2:输入: str="abcdefg", offset = 0输出: str = "abcdefg"样例解释: 注意是原地旋转,即str旋转后为"abcdefg"样例 3:输入: str...原创 2019-05-18 16:39:59 · 260 阅读 · 0 评论 -
single.py
'''样例样例 1:输入:[1,1,2,2,3,4,4]输出:3解释:仅3出现一次样例 2:输入:[0,0,1]输出:1解释:仅1出现一次'''def singleNumber(A): d = {} for i in A: if d.get(i, -1) == -1: d[i] = 1 el...原创 2019-05-18 16:39:13 · 224 阅读 · 0 评论 -
阶乘
def fact(n): if n == 1: return n else: return n * fact(n-1)print(fact(24))原创 2018-02-23 10:23:32 · 127 阅读 · 0 评论 -
数列求和
def listsum(numList): if len(numList) == 1: return numList[0] else: return numList[0] + listsum(numList[1:])print(listsum([1,2,3,4,5,6,7,8,9]))def listsum2(numList): re...原创 2018-02-23 10:11:52 · 339 阅读 · 0 评论 -
用栈实现计算器
class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): ...原创 2018-02-18 11:17:19 · 514 阅读 · 0 评论 -
一致性hash(适合py3)
""" hash_ring ~~~~~~~~~~~~~~ Implements consistent hashing that can be used when the number of server nodes can increase or decrease (like in memcached). Consistent hashing is a s原创 2017-12-06 12:15:58 · 702 阅读 · 0 评论 -
WebSocket
WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。http://www.cnblogs.com/wupeiqi/p/6558766.html原创 2017-12-05 20:16:22 · 148 阅读 · 0 评论 -
python---dictionary
定义:{key1:value1,key2:value2},key-value结构,key必须可hash特性:1.可存放多个值2.可修改指定key对应的值,可变3.无序==========================================================dict.['a']=1 dict={'a':1}1、radiansdict原创 2017-06-12 17:31:36 · 226 阅读 · 0 评论 -
virtualenv---win环境
虚拟环境安装:pip install virtualenv建立个空文件夹mkdir newspace进入cd newspace创建一个不带任何第三方包的“干净”的Python运行环境。新建的Python环境被放到当前目录下的newvenv目录virtualenv --no-site-packages newvenv进入环境,成功后最左会多个(newv原创 2017-11-22 17:11:01 · 310 阅读 · 0 评论 -
functools---可调用对象的高阶函数和操作
http://python.usyiyi.cn/translate/python_352/library/functools.html#module-functoolsfunctools模块用于高阶函数:作用于或返回其他函数的函数。一般来说,对于这个模块,任何可调用对象都可以被视为函数。 @functools.wraps(wrapped,assigned=W原创 2017-11-18 15:55:37 · 212 阅读 · 0 评论 -
inspect模块---检查活动对象
http://python.usyiyi.cn/translate/python_352/library/inspect.html#module-inspectinspect模块提供了一些有用的函数来帮助获取有关活动对象(如模块,类,方法,函数,跟踪,框架对象和代码对象)的信息。例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或获取显示详细追溯所需原创 2017-11-18 15:45:45 · 192 阅读 · 0 评论 -
爬虫性能相关
一 背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,采用串行的方式执行,只能等待爬取一个结束后才能继续下一个,效率会非常低。需要强调的是:串行并不意味着低效,如果串行的都是纯计算的任务,那么cpu的利用率仍然会很高,之所以爬虫程序的串行低效,是因为爬虫程序是明显的IO密集型程序。关于IO模型详见链接:http://www.转载 2017-11-09 19:46:22 · 293 阅读 · 0 评论 -
Beautifulsoup模块
一 介绍Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.你可能在寻找 Beautiful Soup3 的文档,Beautiful Soup 3 目前已经停止开发,官网推荐在现在的项目中使用Beautiful Soup 4转载 2017-11-09 15:11:12 · 190 阅读 · 0 评论 -
Pillow模块--图像处理
http://pillow-cn.readthedocs.io/zh_CN/latest/handbook/overview.html全局概览Python Imaging Library ( PIL ) 给 Python 增加了图像处理能力。这个库提供了广泛的文件格式支持,高效的内部展现,以及十分强大的图像处理能力。让我们看看这个库的几种可能用法:图原创 2017-11-08 19:58:48 · 1013 阅读 · 0 评论 -
python ----进程与线程(三)
Event对象线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就 会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的信号标志,它允许线程等待某些事件的发生。在 初始情况下,Event对象中的信号标志被设置为假。如果有线程等待一个Even原创 2017-07-19 16:54:31 · 423 阅读 · 0 评论 -
操作 python -- 进程与线程 (二)
GIL锁 Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互斥,所以引入了GIL。GIL:在一个线程拥有了解释器的访问权之后,其他的所有线程都必须等待它释放解释器的访问权,即使这些线程的下一条指令并不会互相影响。在调用任何Pyt原创 2017-07-18 15:03:30 · 278 阅读 · 0 评论 -
python--tuple
定义:与列表类似,只不过[]改成()特性:1.可存放多个值2.不可变3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序```````````````````````````````````````````````````````````````````````````````````````````````1.tuple.count(obj):统原创 2017-06-12 17:28:46 · 210 阅读 · 0 评论 -
python安装
官网:https://www.python.org/1、下载安装包 https://www.python.org/downloads/2、安装 默认安装路径:C:\python3、配置环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Py转载 2017-06-06 17:00:57 · 251 阅读 · 0 评论 -
python 变量 赋值 运算符
一.变量程序执行的本质就是一系列状态的变化,变量二字的核心一个是变,一个是量,'变'正好对应程序的变化,'量'即计量,反映的是某种状态。 赋值变量名=值变量名只能是 字母、数字或下划线的任意组合变量名的第一个字符不能是数字以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def',原创 2017-06-06 17:21:37 · 901 阅读 · 0 评论 -
python 简介
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明。 Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2] 。 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。转载 2017-06-06 16:30:13 · 230 阅读 · 0 评论 -
python-str(常用方法)
1.变量名=input('提示信息') 输入,都以字符串形式存储2.print(变量名) 输出,打印到屏幕上3.getpass 输入不显示密码 先import getpass, 变量名=getpass.getpass(‘提示信息’)4.%s,表示格化式一个对象为字符, "Hello, %s"%"zhang3" => "Hello原创 2017-06-08 09:37:51 · 2783 阅读 · 0 评论 -
python-list
定义:[] 内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素特性:1.可存放多个值2.可修改指定索引位置对应的值,可变3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序1、list.append(obj):在列表末尾添加新的对象2、list.count(obj):统计某个元素在列表中出现的次数3、list.extend(seq):在列表原创 2017-06-12 17:24:39 · 227 阅读 · 0 评论