![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
逍遥小道
这个作者很懒,什么都没留下…
展开
-
Pycharm 去掉满屏的波浪线
pycharm在写代码的时候会友好的提示你代码格式错误,最终打开一个文件满屏的波浪线,可以通过下图设置关掉格式错误提示版本是2017中文版 文件-》设置-》...原创 2018-08-25 12:22:25 · 1624 阅读 · 0 评论 -
Python 使用selenium模块打开Firefox浏览器
在下载安装好selenium模块版本是3.14.1后,需要下载一个驱动文件,驱动连接如下https://github.com/mozilla/geckodriver/releases下载完毕解压,然后把解压后的路径添加到环境变量(windows用户),这样就能打开浏览器了from selenium import webdriverbrowser = webdriver.Firefo...原创 2018-10-12 17:48:01 · 2179 阅读 · 0 评论 -
Python pycharm ctrl+滚轮改变代码字体大小
在vs中可以使用ctrl+滚轮改变当前编辑代码字体的大小,在pycharm中也是可以实现的,如下图,版本是2017中文版文件—》设置原创 2018-10-06 15:55:39 · 2644 阅读 · 0 评论 -
Python 异步编程
前言很多朋友对异步编程都处于“听说很强大”的认知状态。鲜有在生产项目中使用它。而使用它的同学,则大多数都停留在知道如何使用 Tornado、Twisted、Gevent 这类异步框架上,出现各种古怪的问题难以解决。而且使用了异步框架的部分同学,由于用法不对,感觉它并没牛逼到哪里去,所以很多同学做 Web 后端服务时还是采用 Flask、Django等传统的非异步框架。从上两届 PyCon ...转载 2018-09-28 11:18:27 · 348 阅读 · 0 评论 -
Python 命令行参数
在python中有一个常用且中要的模块sys,在sys里可以获取程序中所有的命令行参数,可以认为是程序在运行时,传入的所有参数,来看下代码import sysprint(sys.argv)输出结果是一个列表,默认值是当前程序的路径然后我们win+R输入cmd打开命令行输入框进入到程序所在目录执行如下命令python 文件名.py xx oo回车,发现我们传入的参数就被输出...原创 2018-09-30 10:03:49 · 488 阅读 · 0 评论 -
Python os模块的walk函数
walk函数返回三参数,分别是当前文件夹名称,当前文件夹的子文件夹,当前文件夹里的文件所以通过一个for循环可以遍历整个文件夹里的内容import osfor curfile,subfolders,filenames in os.walk(os.getcwd()+"/xx"): print(curfile) for subfolder in subfol...原创 2018-10-10 15:11:41 · 746 阅读 · 0 评论 -
Python 压缩文件zipfile模块
我使用的是Python3.6.6的解释器,先来看一下怎么创建一个压缩文件首先需要导入zipfile模块,调用函数的参数一是压缩文件命名,二是文件打开的方式和打开文件操作类似import zipfilenewzip = zipfile.ZipFile("new.zip","w")newzip.write("log.txt",compress_type=zipfile.ZIP_DEF...原创 2018-10-10 16:20:01 · 820 阅读 · 0 评论 -
Python defaultdict的使用
在python中的字典数据类型和多数语言操作是一样的,用于存储键值对如果想获取不存在的键值时会报KeyErrordict = {}print(dict["level"])在python中ha还有字典的另外一个种形式就是defaultdict在构造defaultdict对象时可以传入一个工厂参数,比如list,int等,其作用就是如果不存在键,则输出工厂参数的默认值fr...原创 2018-10-25 15:06:48 · 613 阅读 · 0 评论 -
Python 构建一个简单的回调函数
# 功能函数def get_damage(callback, *args): result = 0 for a in args: result += a callback(result)# 回调函数def mycallback(damage): print("take %s damage" % damage)# 调用测试if __n...原创 2018-11-23 18:12:48 · 364 阅读 · 0 评论 -
PyCharm Django模板文件中无法点出变量的属性
出现如题的情况,可能是因为文件的设置有问题,可以尝试如下图的方法File->settings->Languages&frameworks->Django设置好,在views文件中出现如下图标就说文件引用成功了最后需要把根目录设置成资源根目录...原创 2019-07-02 09:23:55 · 626 阅读 · 0 评论 -
matplotlib 显示中文
windows 环境下显示中文方法plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号转载 2019-07-19 11:58:09 · 297 阅读 · 0 评论 -
Pycharm 代码自动补全不区分大小写
在使用vs时候习惯不区分大小写提示,在Pycharm中也可以实现,我的是中文版本具体在文件--》设置面板 看下图原创 2018-08-19 19:43:08 · 3809 阅读 · 0 评论 -
Python的生成器(二)
在第一篇中我们认识了生成器,并创建了一个简单的生成器,生成器还有另外一种形式,就是在函数中如果存在yield的语句,那么这个函数就是一个生成器,来看一个例子,我们使用生成器来描述一个斐波那契数列def fib(n): a, b, index = 1, 1, 0 while index < n: yield a a, b = b, a + ...原创 2018-08-11 12:09:17 · 115 阅读 · 0 评论 -
Python的生成器(一)
Python的生成器是其有魅力的地方之一,它的好处是不用一开始就生成一大堆的数据,而是在需要的时候才计算出数据,我们首先先来看一下怎样创建一个生成器创建生成器很简单,我们来看第一种x = (i for i in range(11))看一下是不是很简单,看起来是不是很熟悉,怎么像是列表生成式,是的,但是需要把最外面的中括号【】换成小括号()就可以了,而且这个时候,如果我们在来打印x,在...原创 2018-08-02 11:05:01 · 122 阅读 · 0 评论 -
Python 元类
python中的元类就是创建类的类,这句话听着拗口,但是仔细品品也不难理解,在python中一切皆对象,类也不例外,以下有段代码可以运行下看,实际开发不能这么写class Person: print("haha")看到结果了吧,这个类被执行了python作为动态语言,所谓动态语言就是在运行时才知道谁是谁,不像静态语言声明赋值都是一板一眼规规矩矩,那在创建类的时候也有动态的方式...原创 2018-07-17 15:30:16 · 127 阅读 · 0 评论 -
Python中实例函数、静态函数、类函数的使用场景
动态语言有其魅力,把静态语言里的好多规则都打破了,如题提到的这些函数,实例可以访问静态的属性,函数等等,为编程提供了很多方便,但是实际开发还是要遵守些规则,不然最后会混淆不利于代码的阅读class Game: top_score = 0 def __init__(self, name): self.name = name @staticmethod...原创 2018-07-17 17:37:11 · 964 阅读 · 0 评论 -
Python中的with
python中有个上下文管理器它就是with,我们知道当我们打开文件进行读取操作时,在操作完毕需要关闭文件,否则会占用资源,并对下次读写产生影响,但是使用with以后就不用去管文件的关闭,with会帮助我们处理with open("log.txt") as f: while True: line = f.readline() if line: ...原创 2018-07-18 15:36:30 · 145 阅读 · 0 评论 -
Python的装饰器(一)
python的装饰器有点像C#的扩展方法,python的装饰器是在原函数的基础上在做些逻辑上去,相当于扩展了函数功能,在讲解装饰器之前必须先说说什么是闭包。闭包也是python中的一个语法,说的简单点就是在函数里面在创建一个函数,先看个栗子def greet(name): def inside_func(saysomething): print(saysometh...原创 2018-07-18 16:42:35 · 156 阅读 · 0 评论 -
Python的装饰器(二)
被装饰器修饰的函数,名字也会被更改,来看个栗子def mydecorate(func): def inside_func(): print("装饰器逻辑") func() return inside_func@mydecoratedef show(): print("this is showshow")print(sho...原创 2018-07-19 11:38:44 · 107 阅读 · 0 评论 -
Python的装饰器(三)
能不能向装饰器中传值呢,答案是肯定的,下面看一个比较综合的栗子,他包含了装饰器的通用格式import timefrom functools import wrapsdef log(path): def mydecorate(func): @wraps(func) def inside_func(*args, **kwargs): ...原创 2018-07-19 11:48:28 · 124 阅读 · 0 评论 -
Python 具名元祖
具名元祖可以方便的声明一个数据类型,像是一个小型的类,来看下面这个栗子from collections import namedtupleCard = namedtuple("Card", "rank suit")class Poker: ranks = [str(n) for n in range(2, 11)] + list("JQKA") suits = "s...原创 2018-07-20 15:48:13 · 248 阅读 · 0 评论 -
Python 简易的多线程服务器
一个简易的Python多线程服务器可以同时连接多个客户端并接收客户端传入的信息,下面看下具体实现import socketimport threadingdef deal_client(newSocket: socket.socket, addr): while True: data = newSocket.recv(1024) if data...原创 2018-07-20 17:01:54 · 2244 阅读 · 3 评论 -
Python3的metaclass
在Python3的版本中,创建类的时候可以填入metaclass属性,它的作用是用metaclass指定的对象来构建这个类具体内容,来看一个栗子def upper_attrs(classname, parents, attrs): newAttrs = {} for name, value in attrs.items(): if not name.start...原创 2018-07-21 09:44:55 · 515 阅读 · 0 评论 -
Python单进程非阻塞服务器
在Python中实现单进程非阻塞服务器很方便,主要的思想就是把socket设置成非阻塞的模式,之后使用轮询的方式进行数据访问,少量的链接是ok的,但是客户端多了会损失效率,来看下实现from socket import *server = socket(AF_INET, SOCK_STREAM)server.bind(("", 8080))server.setblocking(Fal...原创 2018-07-21 11:21:50 · 481 阅读 · 0 评论 -
Python的property用法
在python创建类的时候会有私有属性出现(虽然python中并不存在绝对的私有),为了获取或修改私有属性的值,需要额外写一些像get,set的函数,在python简便的实现方式,那就是property,他可以让函数像属性一样的方式去访问实现起来有两种方式,来看第一种class Person: def __init__(self): self.__age = 12...原创 2018-08-01 14:17:57 · 276 阅读 · 0 评论 -
Python 中的单例模式
单例就是解决在内存中始终只有一个实例对象的问题,在python中实现起来很简单,python中是通过new函数来分配内存的,举个栗子class MusicPlayer: instance = None def __new__(cls, *args, **kwargs): if cls.instance is None: cls.i...原创 2018-07-17 11:32:09 · 161 阅读 · 0 评论