python基础
文章平均质量分 92
python
hsw Come on
一个人至少拥有一个梦想,才会有理由去坚持
展开
-
python3 Turtle入门教程
前言 Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。在这里插入图片描述1,安装turtlepython2 安装 pip install turtlepython3 安装 pip3 install turtle 2 基础概念2.1 画布(canvas)画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大原创 2020-07-30 14:50:01 · 2039 阅读 · 0 评论 -
树结构,二叉树,hash树
目录1,树的概念2,二叉树基本操作3,hash树1,树的概念1、树的特性1)一棵树中的任意两个结点有且仅有唯一的一条路径连通;2)一棵树如果有n个结点,则它一定有n−1条边;3)在一棵树中加一条边将会构成一个回路。2、二叉树1)二叉树是一种特殊的树,二叉树的特点是每个结点最多有两个儿子。2)二叉树使用范围最广,一颗多叉树也可以转化为二叉树。3、满二叉树1...原创 2020-03-26 15:34:48 · 1752 阅读 · 0 评论 -
python常见的设计模式(详解)
目录1,单例模式(只能创建一个对象)2,简单工厂模式3,工厂方法模式4,抽象工厂模式(解决多类产品)1,单例模式(只能创建一个对象)1、单例模式介绍内容:保证一个类只有一个实例,并提供一个访问他的全局访问点使用场景:当类只能有一个实例而且客户可以从一个总所周知的访问点访问他例: 比如Test是一个类,你创建两个对象a=Test(), b=Test()在单例模式下a,b两...原创 2020-03-26 15:05:00 · 1636 阅读 · 0 评论 -
数据结构中的概念,栈(stack),队列,链表,数组(详解)
目录1,数据结构中的一些概念2,栈(stack)3,队列4,链表5,数组1,数据结构中的一些概念1、数据结构是什么1、简单来说,数据结果就是设计数据以何种方式存储在计算机中2、比如:列表,集合,与字典等都是一种数据结构3、程序 = 数据结构 + 算法2、数据结构与数据类型1)数据类型:说明:数据类型是一个值的集合和定义在此集合上一组操作(通常是增删改查或者操作...原创 2020-03-26 14:50:02 · 957 阅读 · 0 评论 -
项目技术点剖析
1、使用Redis实现分布式部署单点登录(单点登录第一种方法:redis分布式存储解决方案) 因为这个项目是一个分布式部署的项目,而且我们采用的是nginx负载均衡的策略,导致了每一个服务器都需要开辟一个空间来进行用户信息的维护,消耗了大量的资源,所以,我当时使用到了Redis来作为维护用户信息的空间,将用户登录的信息存入Redis中,并且在存入时设置key的过期时间,所有的服务器共用一个Re...原创 2020-03-24 16:22:22 · 508 阅读 · 0 评论 -
python中字典对象实现原理详解
目录:1. python字典及其特性2. Python函数 hash()3.哈希表4. Python字典如何运用哈希表5. 为啥字典比列表查找高效6.解决哈希冲突–开放寻址法 / 拉链法1. python字典及其特性字典是Python的一种可变、无序容器数据结构,它的元素以键值对的形式存在,键值唯一,它的特点搜索速度很快:数据量增加10000倍,搜索时间增加不到2倍;当数据...原创 2020-03-22 18:19:54 · 1574 阅读 · 3 评论 -
Python基本数据类型详解
目录列表和元组字符串字典集合列表和元组1,列表基本操作列表赋值a = [1,2,3,4,5,6,7,8]a[0] = 100 #the result : [100, 2, 3, 4, 5, 6, 7, 8]元素删除a = [1,2,3,4,5,6,7,8]del a[0] ...原创 2020-03-13 15:46:47 · 1041 阅读 · 0 评论 -
python 常用字符编码
1、几种常用编码ASCII : 不支持中文GBK : 是中国的中文字符,其包含了简体中文和繁体中文的字符Unicode : 万国编码(Unicode 包含GBK)1) Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码2) 规定虽有的字符和符号最少由 16 位来表示(2个字节),...原创 2020-03-13 11:07:20 · 2242 阅读 · 0 评论 -
python 文件读写操作
1、open函数用来打开文件1. open(name[, mode[, buffering]]) 打开文件可传的参数open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。模式(mode)和缓冲(buffering)参数都是可选的2. 打开文件的模式有• r,只读模式(默认)。• w,只写模式。【不可读;不存在则创建;存在则删除内容;】• a,追加模式。【可读; 不...原创 2020-03-13 10:49:47 · 201 阅读 · 0 评论 -
Python常用模块大全(总结)
时间模块time() 与 datetime()random()模块os模块sys模块tarfile用于将文件夹归档成 .tar的文件shutil 创建压缩包,复制,移动文件zipfile将文件或文件夹进行压缩 shelve 模块 json和pickle序列化hashlib 模块subprocess 模块re模块时间模块time() 与 datetime()tim...原创 2020-03-12 18:14:52 · 9428 阅读 · 19 评论 -
Python中is和==的区别*
Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么。在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。==比较操作符和is同一性运算符区别==是python标...原创 2020-03-10 20:41:50 · 137 阅读 · 0 评论 -
python2和python3的区别
1、不等于<>比较运算符,python3不识别,pyhon2.7中!=和<>都能运行。2、print函数的使用,python3必须加括号,python2加不加都行。3、python2 的默认编码是ASCII,python3的默认编码是UTF-8。4、python3字符串解码后会在内存里自动转换成Unicode,而python2不会。如果在文件头指定了解码编码,pyth...原创 2020-03-10 20:29:38 · 120 阅读 · 0 评论 -
python中的反射: hasattr、getattr、setattr 和 delattr*
1. hasattrhasattr判断对象是否有某方法,返回True或Falseclass Dog(object): def eat(self,food): print("eat method!!!")d = Dog()#hasattr判断对象d是否有eat方法,有返回True,没有返回Falseprint(hasattr(d,'eat')) #True...原创 2020-03-10 18:02:42 · 259 阅读 · 0 评论 -
python中经典类和新式类的区别
经典类和新式类的区别 在python2中,如果明确写了继承object,那么这个类就是新式类;如果没有写,那么就是旧式类(经典类)。在python3中,不管写没写object,这个类都是新式类。1)首先,写法不一样:class A: #经典类写法 passclass B(object): #新式类写法 pass2)多继承中,新式类采用广度优先搜索,...原创 2020-03-10 17:10:50 · 201 阅读 · 0 评论 -
Python面向对象编程——— 面向对象三大特性(封装、继承、多态)
1.什么是面向对象?(What)使用模板的思想,将世界完事万物使用对象来表示一个类型一、Encapsulation 封装(隐藏实现细节)1.在类中对数据的赋值、内部调用对外部用户是透明的2. 这使类变成了一个胶囊或容器,里面包含着类的数据和方法3. 作用: 1)防止数据被随意修改 2)使外部程序不需要关注对象内部的构造,只需要通过对外提供的接口进行直接访问 封装,顾名思义就是...原创 2020-03-10 11:41:39 · 500 阅读 · 0 评论 -
python之三大查找算法
顺序查找 算法简介 顺序查找又称为线性查找,是一种最简单的查找方法。适用于线性表的顺序存储结构和链式存储结构。该算法的时间复杂度为O(n)。 基本思路 从第一个元素m开始逐个与需要查找的元素x进行比较,当比较到元素值相同(即m=x)时返回元素m的下标,如果比较到最后都没有找到,则返回-1。 优缺点 缺点:是当n 很大时,平均查找长度较大,效率低; 优点:是对表中数据元素的存储没有要求。另外,对...原创 2020-03-07 21:13:06 · 399 阅读 · 0 评论 -
python之八大排序详解
插入排序 插入排序:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序;时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定def insert_sort(ilist): for i in range(len(ilist)): ...原创 2020-03-07 21:05:43 · 249 阅读 · 0 评论 -
python的四大高阶函数,深浅拷贝,垃圾回收机制
1.浅拷贝和深拷贝2.垃圾回收机制3.四大高阶函数一.浅拷贝和深拷贝浅拷贝: 不管多么复杂的数据结构,浅拷贝都只会copy一层深拷贝 : 深拷贝会完全复制原变量相关的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中任意一个修改都不会影响其他变量import copysourceList = [1,2,3,[4,5,6]]copyList = copy.copy...原创 2020-03-04 11:05:26 · 434 阅读 · 0 评论 -
select、poll、epoll
selectselect(能监控数量有限,不能告诉用户程序具体那个连接有数据)select目前几乎所有的平台都支持,其良好的跨平台支持也是一个优点select的缺点在于单个进程能够监控的文件描述的数量存在最大限制(在liunx上一般是1024)select监控socket连接是不能准确告诉用户是哪个pollpoll和select在本质上没有太大差别只是取消了最大1024个活跃的...原创 2020-03-03 13:06:44 · 161 阅读 · 0 评论 -
类的实例方法、静态方法、类方法,属性方法及魔法方法
1 实例方法 实例方法只能通过实例对象调用,不能通过类进行调用。实例方法再定义时候使用关键字self,self代表实例对象本身。class A(): x=100 def fun(self,y): self.x+=ya=A()a.fun(10)print(a.x)A.fun(10)*****结果******110Traceback (most re...原创 2020-03-03 12:44:18 · 444 阅读 · 0 评论 -
with上下文管理机制
上下文管理1.什么是with语句?with是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except….finlally的处理流程。所以使用with处理的对象必须有enter()和exit()这两个方法 1)with通过enter方法初始化(enter方法在语句体执行之前进入运行) 2)然后在...原创 2020-03-02 19:47:57 · 552 阅读 · 0 评论 -
Python——迭代器,生成器,装饰器
迭代器1. 迭代器定义迭代是Python最强大的功能之一,是访问集合元素的一种方式迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:2.可迭代对象:在Python世界里,一切皆对象。对象根据定义的维度,又...原创 2020-03-02 16:46:39 · 473 阅读 · 0 评论 -
Python——进程、线程、协程详解
进程1.进程定义进程是资源分配最小单位进程是资源分配最小单位当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程进程定义拓展回答内容程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念在多道编程中,我们允许多个程...原创 2020-03-02 11:41:25 · 392 阅读 · 1 评论