![](https://img-blog.csdnimg.cn/20190831094817782.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
LinWoW
这个作者很懒,什么都没留下…
展开
-
Python安装及变量简介
一、编程语言1.机器语言:机器语言是用而二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。2.汇编语言:汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。3.高级语言:高级语言相对于机器语言,是一种指令集的体系。它是以人类的日常语言为基础的一种编程语言,使用...原创 2019-03-19 16:09:34 · 176 阅读 · 0 评论 -
Python数据类型、运算符、输入输出简介
一、IDE集成开发环境(pycharm)PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。二、Python的注释python中的注释有单行注释和多行注释:1 Py...原创 2019-03-20 19:43:08 · 423 阅读 · 0 评论 -
条件语句和循环语句
一、python条件语句Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。Python 编程中 if 语句用于控制程序的执行,基本语法有以下几种:1.语法一:if 条件: # 条件成立时执行的子代码块 代码1 代码2 ...原创 2019-03-21 15:27:01 · 227 阅读 · 0 评论 -
数据类型的常用方法
一、可变类型与不可变类型可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型二、数字类型常用方法1.整型int基本使用1.1用途:记录年龄、等级、数量1.2定义方式age = 10 # age=int(10)数据类型转换: 只能将纯数字的字符串转成int2.浮点型float基本使用2.1用途...原创 2019-03-24 18:23:55 · 473 阅读 · 0 评论 -
元组字典集合介绍及使用方法
一、元组1.元组的定义及一个值的元组定义2.元组的常见操作: 索引、切片、长度3.元组的常见方法: .count(obj) 、 .index(obj, bIndex, eIndex)4.总结:有序存储、可存放多个数据、不可变(内部可以包含可变对象,可变对象已久可变)5.应用场景:将不允许操作的列表可以转化为元组,将允许操作的元组转化为列表1、定义t1 = ()print(t1, t...原创 2019-03-25 18:38:56 · 264 阅读 · 0 评论 -
字符编码
字符编码什么是字符编码?人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流,一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系),这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码;对应关系形成的结构称之为:编码表。 很明显,我们平时在使用计算机时,用的都是人类能读懂的字符(用高级语言编程的结果也无非是在文件内写了...原创 2019-03-26 16:10:04 · 186 阅读 · 1 评论 -
字符串、列表、元组、字典常用操作和方法大总结
字符串:常用操作:下表实例变量a值为字符串"Hello",b变量值为"Python": 操作符 描述 实例 +字符串连接a + b 输出结果: HelloPython*重复输出字符串a*2 输出结果:HelloHello[]通过索引获取字符串中字符a[1] 输出结果 e[ : ]截取字符串中的一部分a[1:4] 输出结果 ...原创 2019-03-26 21:28:07 · 1390 阅读 · 0 评论 -
Python中文件的操作
文件操作Python提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用file对象做大部分的文件操作。文件:硬盘中一块存储空间(虚拟的文件)文件操作:根据文件名来操作硬盘的那块存储空间,操作方式 读read 写write必需的三个步骤:1.打开文件2.操作文件3.关闭文件一、打开文件必须先用python中的内置函数open()打开一个文件,创建一个file,相关的辅助方...原创 2019-03-27 14:15:25 · 293 阅读 · 0 评论 -
Python中函数和函数的参数详解
一、什么是函数:函数就是存放可以完成特定功能的代码块的一个容器,在python中函数就是组织好的,可以重复使用的用来实现单一的或者相关功能的代码段。函数提高了程序的模块性和代码的重复利用率。二、定义函数:def 函数名( 参数 ): '''这里是一个函数的注释, 下面是函数的代码块''' function_suite return [返回的值]def ...原创 2019-03-28 13:41:49 · 434 阅读 · 0 评论 -
python 中函数对象、闭包、作用域
函数参数函数的参数可以分为实参和形参实参:调用函数,在括号内传入的实际值,值可以为常量、变量、表达式或三者的组合。形参:定义函数,在括号内声明的变量名,用来接受外界传来的值注:形参随着函数的调用而产生,随着调用结束而销毁实参:分为位置实参和关键字实参位置实参:不用明确形参名的传参方式,一定要按照位置给形参传值。关键字实参:必须明确形参名字与值为形参传值,可以不用按照位置来传值。...原创 2019-03-29 20:38:55 · 148 阅读 · 0 评论 -
迭代器和生成器
迭代器当我们使⽤⼀ 个循环来遍历某个东西时,这就叫⼀个迭代。它是这个过程本⾝的名字。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:__ iter()__和 __ next() __。通过迭代器取值优缺点:优点:不依赖索引,完成取值缺点:不能计算长度,不能指定位取值(只能从前往后逐一取...原创 2019-04-03 15:03:38 · 192 阅读 · 0 评论 -
Python 中模块及其导入方式
模块模块的概念:模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能。模块的定义:创建一个 py 文件就是一个模块,该 py 文件名就是模块名。模块的使用:在要使用模块的文件中,通过 import 模块名 来导入模块。模块的通用类别:1 使用python编写的.py文件2 已被编译为共享库或DLL的C或C++扩展3 把一系列模块组织到一起的文件夹(注:文件夹下有一个...原创 2019-04-08 18:49:21 · 223 阅读 · 0 评论 -
包的概念和导入包的方法
包的认识包的概念:包是一种通过使用‘.模块名’来组织python模块名称空间的方式。通俗的讲包就是一系列模块的集合体具体的:包就是一个包含有 __ init __ .py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来使用包的目的:包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来,而随着模块越来越多,我们就需要用文件夹将模块文件组织起来,以此来提高程序...原创 2019-04-09 19:39:08 · 1497 阅读 · 1 评论 -
Python 中time,calendar,datatime模块总结
time:时间Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。Python 的 time 模块下有很多函数可以转换常见日期格式。时间戳(timestamp):time.time()时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期...原创 2019-04-10 15:30:47 · 270 阅读 · 0 评论 -
Python 中的sys、os、os.path模块总结
sys:系统命令行参数List,第一个元素是程序本身路径:sys.argv退出程序,正常退出时exit(0):sys.exit(n)获取Python解释程序的版本信息:sys.version最大int值:sys.maxsize | sys.maxint环境变量:sys.path操作系统平台名称:sys.platformos:操作系统生成单级目录:os.mkdir(‘dirnam...原创 2019-04-10 19:26:53 · 473 阅读 · 0 评论 -
Python中Json 和 pickle 详解
序列化和反序列化 eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值。 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称...原创 2019-04-11 15:45:03 · 246 阅读 · 0 评论 -
random、shutil、shevle、标准输入输出错误流
random:随机数Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。(0, 1) 小数:random.random()[1, 10] 整数:random.randint(1, 10)[1, 10) 整数:random.randrange(1, 10)(1, 10) 小数:random.uniform(1, 10) import rando...原创 2019-04-11 16:05:29 · 134 阅读 · 0 评论 -
Python中 logging 日志详解
logging模块什么是logging模块logging模块是python提供的用于记录日志的模块为什么需要logging我们完全可以自己打开文件然后,日志写进去,但是这些操作重复且没有任何技术含量,所以python帮我们进行了封装,有了logging后我们在记录日志时 只需要简单的调用接口即可,非常方便!日志级别在开始记录日志前还需要明确,日志的级别随着时间的推移,日志记录会非常多...转载 2019-04-11 16:13:10 · 1261 阅读 · 0 评论 -
装饰器详解
开放封闭原则:不改变调用方式与源代码上增加功能1.不能修改被装饰对象(函数)的源代码(封闭)2.不能更改被修饰对象(函数)的调用方式,且能达到增加功能的效果(开放)装饰器把要被装饰的函数作为外层函数的参数通过闭包操作后返回一个替代版函数被装饰的函数:fn外层函数:outer(func) outer(fn) => func = fn替代版函数: return inner: 原功...原创 2019-04-14 18:22:56 · 93 阅读 · 0 评论 -
re正则表达式详解
正则表达式正则表达式:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式的作用,以及使用场景1.用于从字符串中匹配满...原创 2019-04-16 16:41:45 · 1827 阅读 · 0 评论 -
面向对象(一)之基本概念
面向对象与面向过程面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么…面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。优点:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单)缺点:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全...原创 2019-04-22 18:21:56 · 163 阅读 · 0 评论 -
面向对象(二)之三大特性
面向对象的三大特性封装:继承:多态:封装对象的属性:封装目的1.对象的属性值一般都来源于外界,外界是有权力再次访问的2.封装的目的不是让外界无法访问,而且不让其直接访问,可以在完成安全处理后再访问3.如何做到外界还是通过变量名来对属性进行取值赋值,但是是走的方法间接拿到的值封装: 对外隐藏类中一些属性与方法的实现细节优点:外界不能直接访问,让内部的属性与方法具有安全保障class...原创 2019-04-22 18:50:20 · 132 阅读 · 0 评论 -
面向对象(三)之编程方法
组合自定义类的对象作为另外一个类的属性class Teacher: def __init__(self, name, age): self.name = name self.age = aget1 = Teacher("Ben", 17)class Student: # 学生可以有 老师 属性 def __init__(self, ...原创 2019-04-22 19:01:10 · 193 阅读 · 0 评论 -
面向对象大总结
面向对象和面向过程面向过程的编程思想 面向过程的核心就是过程二字,过程值得就是解决问题的步骤,即先干什么,再干什么,后干什么;基于该思想的编写程序就好比在设计一条流水线,是一种机械式的思维方式。 优点是复杂的问题流程化,进而简单化,缺点是程序的可扩展性较差面向对象的编程思想 面向对象的核心就是对象二字,对象是特征与技能的结合体,基于该思想编写的程序就好比在创建一个世界,世界是有一个...原创 2019-04-23 21:32:21 · 221 阅读 · 0 评论 -
eval()、exec()、元类及单例的实现方式
eval内置函数eval() 函数用来执行一个字符串表达式,并返回表达式的值。eval(expression[, globals[, locals]])expression – 表达式。globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。# eval内置函数的使用场景:# 1....原创 2019-04-27 19:58:28 · 142 阅读 · 0 评论 -
异常处理
异常异常:异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常,异常就是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。程序运行时的错误程序中的异常处理机制:1.程序中的所有异常都会被处理2.程序中的所有异常都需要手动处理3.如果没有手动处理异常,异常会交...原创 2019-04-27 20:39:21 · 97 阅读 · 0 评论 -
Socket 套接字
什么是SocketSocket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。Socket是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用。客户随机申请一个Socket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个Socket号;服务...原创 2019-04-30 17:33:36 · 154 阅读 · 0 评论 -
基于TCP协议的套接字
服务端必须满足三个条件:绑定一个固定的 ip 和 port一直对外提供服务,稳定运行能够支持并发利用Socket实现循环通信1.客户端实现循环通讯import socketclient = socket.socket()client.connect(('127.0.0.1', 8888))while True: msg = input('>>>>...原创 2019-04-30 17:34:45 · 244 阅读 · 0 评论 -
基于UDP协议的套接字与SocketServer
UDP协议UDP协议,即用户数据报协议(User Datagram Protocol),是一个简单的面向数据报的传输层协议。UDP协议只在IP数据报服务商增加了很少一点的功能,就是复用和分用,以及差错检测的功能。基于UDP协议的Socket1.udp协议客户端允许发空2.udp协议不会粘包3.udp协议服务端不存在的情况下,客户端照样不会报错4.udp协议支持并发UDP叫数据报协议,...原创 2019-05-05 16:19:54 · 207 阅读 · 0 评论 -
并发编程 之 进程
进程原创 2019-05-06 17:10:12 · 114 阅读 · 0 评论 -
并发编程 之 线程
线程 进程:资源单位 线程:执行单位 注意:每一个进程中都会自带一个线程有了进程为什么要有线程进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上:进程只能在一个时间干一件事,如果想同时干两件事或多件事,进...原创 2019-05-07 20:16:47 · 131 阅读 · 0 评论 -
并发编程 之 协程
协程进程:资源单位线程:执行单位协程:单线程下实现并发(能够在多个任务之间切换和保存状态来节省IO),这里注意区分操作系统的切换+保存状态是针对多个线程而言,而我们现在是想在单个线程下自己手动实现操作系统的切换+保存状态的功能注意协程这个概念完全是程序员自己想出来的东西,它对于操作系统来说根本不存在。操作系统只知道进程和线程。并且需要注意的是并不是单个线程下实现切换+保存状态就能提升效...原创 2019-05-13 15:46:01 · 285 阅读 · 0 评论 -
Python之pymysql详解
PyMySQLPyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。安装pymysqlPyMySQL : 这是一个使Python连接到MySQL的库,它是一个纯Python库。PyMySQL是一个开源项目 :https://github.com/PyMySQL/PyMySQL通过下面的命令来进行安装pymysql模块:...原创 2019-05-16 18:17:44 · 7968 阅读 · 2 评论 -
Python 实现简易版ORM
ORM:对象关系映射用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法 。ORM 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化 。ORM模型的简单性简化了数据库查询过程。使用ORM查询工具,用户可...原创 2019-05-20 19:29:13 · 831 阅读 · 0 评论 -
手写简易版web框架
Web框架Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。Web应用框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。Python web框架比较下面对常见的三种Python web框架进行简单的介绍:DjangoDjango已经成...原创 2019-06-05 19:15:02 · 593 阅读 · 0 评论 -
利用Pillow生成动态验证码
该实例是基于Django框架和Pillow模块实现的动态获取验证码,下面是实现过程推导。创建路由和视图函数,在路由中添加get_code路由,视图中创建get_code试图函数。推导一:打开本地文件发送二进制数据view.py:def get_code(request): with open(r'002_wLZfWbk.jpg','rb') as f: data = f.read...原创 2019-06-20 20:47:36 · 420 阅读 · 2 评论 -
Python操作Redis
文章目录安装和使用安装普通连接连接池Python操作RedisString操作Key操作List操作Set操作Sorted Set操作Hash操作管道Django中使用redis安装和使用安装安装redis模块pip3 install redis普通连接redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令...原创 2019-07-09 19:30:58 · 14672 阅读 · 4 评论