python进阶
文章平均质量分 64
虞美人qaq
Life is short, you need Python
展开
-
python_planwar_飞机大战
应用python pygane模块实现小游戏飞机大战运行需要的图片和音频文件在文章最后的百度网盘链接里的 res文件夹里,放到和python代码同一文件夹,安装pyygame: pip install pygameimport pygame # 导入动态模块(.dll .pyd .so) 不需要在包名后边跟模块名from pygame.locals import *impor...原创 2018-08-22 18:54:07 · 471 阅读 · 1 评论 -
python协程
1,多进程的理解多线程和多进程都可以执行多个任务,线程是进程的一部分。线程的特点是线程直接可以可以共享内存和变量,资源消耗较少(Unix环境中,多进程和多线程资源消耗差距不是很大,Unix调度较快),缺点是线程之间的同步和加锁比较麻烦2,python多线程创建在python中,同样可以实现多线程,有两个标准模块thread和threading,一般主要使用更加高级的threadi...原创 2018-12-11 20:40:46 · 283 阅读 · 0 评论 -
python_录音_pyaudio
# -*- coding: utf-8 -*-import pyaudioimport numpy as npfrom scipy import fftpackimport wave# 录音# 录音必须安装portaudio模块,否则会报错# http://portaudio.com/docs/v19-doxydocs/compile_linux.htmldef recordi...原创 2019-03-19 21:40:34 · 852 阅读 · 0 评论 -
python_斐波那契多种递归 尾递归,动态规划,循环,装饰器等
1、递归的特点递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1)递归就是在过程或函数里调用自身(2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。...原创 2018-12-13 18:50:55 · 278 阅读 · 0 评论 -
服务器部署flask项目
一: 环境:一台服务器二:远程连接服务器三:部署项目需要环境1、首先安装python解释器和pip工具,这个就不多细说2、安装虚拟环境,将项目单独隔离开,python第三方库比较多,有些库可能被弃用,没有维护,全部安装在原生解释器环境,可能导致部分正常库无法使用 sudo pip install virtualenv sudo pip install virtualenvw...原创 2019-03-01 23:45:11 · 16499 阅读 · 0 评论 -
smtp python邮件自动发送
smtplib和email,这俩模块是python自带的SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。代码实现 QQ邮箱发送# -*- coding: utf-8 -*-...原创 2019-03-19 21:30:08 · 618 阅读 · 0 评论 -
log按照文件大小和时间滚动备份以及颜色输出
# -*- coding: utf-8 -*-# @Time : 2019/3/27 21:52# @Author : cdimport logging# 按文件大小滚动备份from logging.handlers import RotatingFileHandler# 控制台日志输入颜色import colorlogimport timeimport datetim...原创 2019-05-11 22:34:48 · 584 阅读 · 0 评论 -
Python类装饰器
python装饰器(fuctional decorators)就是用于拓展原来函数功能的一种函数,目的是在不改变原函数名(或类名)的情况下,给函数增加新的功能。这个函数的特殊之处在于它的返回值也是一个函数,这个函数是内嵌“原“”函数的函数(1).只要有被类装饰器装饰的对象,类装饰器的 init 函数就会执行(不需要调用)(2).被类装饰器装饰的函数不论被调用几次,init 函数只会执行一次,...原创 2019-06-12 23:56:37 · 285 阅读 · 0 评论 -
python垃圾回收机制
原文 liuzhijunGC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。引用计数Python语言默认采用的垃圾收集机制是『引用...原创 2018-09-08 22:32:38 · 130 阅读 · 0 评论 -
服务器动态资源请求
1,浏览器请求动态页面过程 2. WSGI怎么在你刚建立的Web服务器上运行一个Django应用和Flask应用,如何不做任何改变而适应不同的web架构呢?在以前,选择 Python web 架构会受制于可用的web服务器,反之亦然。如果架构和服务器可以协同工作,那就好了: 但有可能面对(或者曾有过)下面的问题,当要把一个服务器和一个架构结合起来时,却发现他们不是被设计成协同...原创 2018-08-25 21:30:22 · 980 阅读 · 0 评论 -
Django REST framework 个人小解
1,认识RESTful在前后端分离模式,后端API接口如何定义?后端数据库中保存了商品的信息,前端可能需要对商品数据进行增删改查,那相应的每个操作后端都需要提供一个API接口: POST/add-goods 增加商品POST /delete-goods 删除商品POST /update-goods 修改商品GET /get-goods 查询商品信息普遍采用的API的REST...原创 2018-09-17 20:24:17 · 358 阅读 · 0 评论 -
FastDFS分布式文件系统
1、FastDFSFastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS架构包括Tracker server、Storage server。客户端请求Tracker serve...原创 2018-09-09 23:08:04 · 118 阅读 · 0 评论 -
python高级(魔法方法,类方法,设置对象属性等)
1,python中的类方法、类实例、静态方法区别# 类方法,实例方法,静态方法区别class Test(object): def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def song(...原创 2018-08-21 23:38:22 · 757 阅读 · 0 评论 -
oxr encryption(异或加密)
import osimport randomdef encode(str1, key): # 生成0--255的随机整数和字符异或 random.seed(key) str2 = '' for i in str1: str2 += str(ord(i)^random.randint(0, 255)) + ',' str2 = str2...原创 2018-08-31 20:56:44 · 457 阅读 · 0 评论 -
Django_小结
DjangoPython下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。1.web框架介绍具体介绍Django之前,必须先介绍WEB框架等概念。web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需...原创 2018-08-31 20:50:58 · 849 阅读 · 0 评论 -
python数据类型
1,python字典和json的区别字典是一种数据结构,json是一种数据的表现形式,字典的key值只要是能hash的就行,json的必须是字符串2,什么是可变、不可变类型可变不可变指的是内存中值是否可以被改变不可变类型指的是对象所在的内存区域里面的值不可以改变,有数值、字符串、元组;可变类型是可以改变值,只要有列表、字典3,复杂元素排序from operato...原创 2018-08-23 20:26:49 · 171 阅读 · 0 评论 -
文件句柄
python文件管理一.文件处理流程1,打开文件,得到文件句柄并赋值给一个变量2,通过句柄对文件进行操作3,关闭文件二.基本操作打开模式 文件句柄 = open(‘文件路径’, ‘模式’, 指定编码) 打开文件的模式有: r ,只读模式【默认模式,文件必须存在,不存在则报错】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【...原创 2018-09-16 21:56:41 · 3793 阅读 · 1 评论 -
MySQL、Redis、MongoDB区别
MySQL 关系型数据库mysql数据和索引都存放在硬盘中。到要使用的时候才交换到内存中,能够处理远超过内存总量的数据。关系型数据库在不同的引擎上有不同的存储方式查询语句是使用传统的SQL语句,拥有较为成熟的体系,成熟度高开源数据库的份额在不断增加,MySQL的份额也在持续增长缺点就是海量数据处理的时候效率显著变慢Redis 非关系型数据库内存数据库持久化: ...原创 2018-09-23 17:37:45 · 905 阅读 · 1 评论 -
编程语言分类:弱类型、强类型、动态类型、静态类型
动态语言和静态语言(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据...原创 2018-09-19 20:10:09 · 619 阅读 · 0 评论 -
python操作excel表格(xlrd/xlwt)
应用python的两个库xlrd、xlwt原创 2018-10-10 21:32:51 · 781 阅读 · 0 评论 -
python进程
进程进程:又称重量级进程,正在执行中的程序称为进程。进程的执行会占用内存等资源。多个进程同时执行时,每个进程的执行都需要由操作系统按一定的算法(RR调度、优先数调度算法等)分配内存空间。并行与并发并行:在多核系统中,每个cpu执行一个进程,可以理解为cpu的数大于进程数,所有进程同时进行。并发:在操作系统中同时执行多个进程,可以理解为cpu的数小于进程数,有些进程会没有机会执行。并...原创 2018-10-16 20:09:16 · 163 阅读 · 0 评论 -
python六剑客
python六剑客map、filter、reduce、lambda、切片、推导列表python最有特点的一行代码,所有代码均可以借用一行代码(目标)map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7...原创 2018-10-09 22:44:35 · 409 阅读 · 0 评论 -
python开发ftp服务器(pyftpdlib)
ftp服务器的本质还是利用socket编程来实现,只不过遵循特定的协议RFC959开源的库pyftpdlib,可以轻松实现安装pip install pyftpdlib,使用pycharm#coding:utf-8from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHan...原创 2018-09-28 21:42:16 · 2096 阅读 · 1 评论 -
Linux系统下查看python解释器安装路径
先进入python输入import syssys.executable打印结果'usr/bin/python'原创 2018-10-04 00:27:12 · 4739 阅读 · 0 评论 -
python-argparse模块使用
argparse使用简介python的argparase主要用来解析参数,比较方便可以解析可选参数或者必选参数简单示例创建ArgumentParser()对象调用add_argument()方法添加参数使用parse_args()解析添加的参数example:import argparse# 创建对象parser = argparse.ArgumentParser(...原创 2018-09-26 22:28:07 · 1359 阅读 · 1 评论 -
python赋值、浅拷贝和深拷贝
python赋值、浅拷贝和深拷贝区别1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间。2.浅拷贝: 创建新对象,其内容是原对象的引用。浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数。如: lst = [1,2,3,[4,5]]切片操作:lst1 = lst[:] 或者 lst1 = [each for each in lst]工厂函数:lst1 = lis...原创 2018-09-20 22:28:04 · 190 阅读 · 0 评论 -
python中四种交换两个变量的值的方法
python中四种交换两个变量的值的方法方法一:通过中间变量的方式,交换数值def swap(a, b): temp = a a = b b = temp print(a, b)方法二:python特有方法直接将a, b两个变量放到元组中,再通过元组按照index进行赋值的方法进行重新赋值给两个变量。def swap(a, b): a, b = b, a pri...原创 2018-09-20 21:27:25 · 3075 阅读 · 0 评论 -
python_闭包_装饰器
1,闭包根据这句话,其实我们自己就可以总结出在python语言中形成闭包的三个条件,缺一不可: 1)必须有一个内嵌函数(函数里定义的函数)——这对应函数之间的嵌套2)内嵌函数必须引用一个定义在闭合范围内(外部函数里)的变量——内部函数引用外部变量3)外部函数必须返回内嵌函数——必须返回那个内部函数例如:def outfunc(a,b): def innerfunc(x)...原创 2018-08-22 18:52:47 · 209 阅读 · 0 评论