
python
文章平均质量分 61
lengye7
这个作者很懒,什么都没留下…
展开
-
python子类实例化的时候父类的__new__会被调用吗?
测试代码:class A: def __new__(cls): print("testA")class B(A): def __new__(cls): print("testB")class C(B): passD=C()测试结果:testB这说明子类实例化的时候,会调用父类的__new__方法,但是不会调用祖先的__new__方法。class A: def __new__(cls): pr原创 2022-04-27 17:12:18 · 1455 阅读 · 1 评论 -
python导入系统
参考 python3.6.15的导入机制文档前言python的导入系统一直在变化,所以具体版本的导入系统,应该去查看文档。本文并不是文档,本文的目的是为了探究python的模块导入过程。概念module object:这是python关于模块的唯一的一个数据模型对象,所有的模块都是该对象,不管该模块是一个模块还是一个包。模块:可以简单的理解为文件系统中的一个.py文件。包:可以简单的理解为文件系统中的目录,该目录带有一个__init__.py文件。regular packa原创 2022-04-26 01:09:09 · 622 阅读 · 0 评论 -
python的词法结构(行、注释、文件编码、标识符、关键字和字面值)
python3.6版本1、行结构1.1 物理行python的物理行以一个行终止符为界限。在源文件中或者字符串中,支持使用任何标准平台上的行终止序列——Unix的LF(换行)或者Windows下的CRLF(回车加换行)或者一些老的机器上的CR(回车)。如果在C中通过python的API来调用python,那么传给python API的source code字符串必须使用明确的\n来表示一行的结束。1.2 逻辑行python的逻辑行按照概念上来说,逻辑行以NEWLINE表示的。除了c原创 2022-04-23 21:11:17 · 1347 阅读 · 0 评论 -
python判断一个对象是否是函数
函数对象都具备一个attr,即__call__,所以通过判断一个对象是否具备__call__即可判断其是否是一个函数。hanattr(obj,"__call__")原创 2022-04-02 21:52:08 · 1443 阅读 · 0 评论 -
利用python的dict实现一个switch
python的分支结构没有switch,所以在需要写多分支跳转的时候,就会出现一大堆的if...elif...else等语句,这种结构很难维护。下面介绍一种使用dict实现一种无if...elif...else的分支跳转:例子:def add(a,b): return a+bdef sub(a,b): return a-bdef mul(a,b): return a*bdef div(a,b): return a/bfun_dict={原创 2022-04-02 21:46:55 · 827 阅读 · 0 评论 -
python的名字空间(namespace)与作用域(scope)
名字空间(namespace)1)、名字(name)与对象(object)对象:对象一块存储区域,用来存储值,同时包含对该值所支持的一系列方法,也包含一系列属性。名字:每个名字对应一个对象,多个名字可以对应一个对象。这有点类似于别的语言中的别名。2)、名字空间名字空间:名字空间是用来专门存储名字与对象的对应关系的地方,在python中名字空间一般使用dict数据结构实现。在python中,函数、模块等都有自己的命名空间:局部命名空间(local namespace):即函数中定义原创 2021-11-19 18:09:16 · 4276 阅读 · 0 评论 -
python的继承机制
一、python的继承python支持单继承和多继承,这种继承机制极大的提高了代码的复用性,使得子类可以继承父类和祖类的方法以及属性,这就是继承,同时,子类也可以重写父类和祖类的某个方法或者属性,从而使得子类可以获得与父类和祖类不一样的行为,这就是多态。python作为一门支持oop的语言,其class(类)实现了封装,继承机制实现了继承与多态。继承中非常重要的一点就是多态,当子类和父类以及祖类具有相同的属性或者方法的时候,python会调用哪个方法或者属性。注意:python2与.原创 2021-11-14 02:53:28 · 6153 阅读 · 0 评论 -
python的*参数与**参数
*单星号参数函数中的单星号参数代表此处接受任意多个 非关键字参数,这些参数将以数组形式保存,例如:def foo(a, *b): print(b)foo(1,2,3,4,5)输出(2, 3, 4, 5)**多星号参数函数中的多星号参数代表此处接受任意多个关键字参数,这些参数以字典形式保存,例如:def foo(a, **b): print(b)foo(a=1, b=2, c=3, d=4, e=5)输出{'c': 3, 'b': 2, 'e': 5, ..原创 2021-11-11 12:57:47 · 1279 阅读 · 0 评论 -
vscode搭建python开发与调试环境
一、vscode搭建python开发环境vscode搭建python环境特别简单,我们只需要安装一个python扩展插件即可。安装完该插件之后,我们就可以拥有代码高亮、代码提示、错误检查等功能了。直接安装第一个44.5M次的那个就行。二、vscode搭建调试环境调试办法分为两种:launch方式和attach方式。1、launch方式{ "name":"PythonCurrentFile", "type":"python", "reques.原创 2021-11-08 23:15:59 · 1065 阅读 · 0 评论 -
python使用xlwt生成表格
注意事项:xlwt是只能创建Excel 2003格式的文件,所以就只能创建xls后缀名的文件,如果创建xlsx后缀的文件,就出会错,这一点需要特别注意。基本使用:#_*_ coding: utf-8 _*_import xlwt#创建stylestyle = xlwt.XFStyle();#fontfont = xlwt.Font();font.name = "楷体"; #设置字体font.height = 400; #设置字体大小,20=1号,200=10号,400=2原创 2021-04-08 20:24:57 · 702 阅读 · 0 评论 -
django静态资源管理static
1、在settings.py文件中添加如下内容:红框处,即需要将我们的应用添加到isntalled_apps里面。2、在myapp目录下建立static文件夹,这里的static是来自于以下设置(即myapp目录下的存放静态资源的文件夹名需要跟下图中的STATIC_URL值相同):3、使用静态资源,例如:按照上面的内容构建文件目录,那么如何访问呢?通过如下url访问...原创 2020-04-17 15:23:11 · 480 阅读 · 0 评论 -
django的templates管理
django的templates管理关键注意点:1、需要在根目录下建立templates文件夹2、需要更改setting.py文件里的一个地方:如下图,画红框的就是需要修改的地方,填入templates。3、然后在相应的应用目录下建立templates文件夹,目录结构如下:例如我当前的应用是myapp,那么就在建立如下目录myapp/templates/myapp/test.h...原创 2020-04-16 23:24:57 · 598 阅读 · 0 评论 -
django的版本与python版本对应关系
django的FAQ,即询问较多的一些问题集合:https://docs.djangoproject.com/en/3.0/faq/原创 2020-04-12 15:13:22 · 2378 阅读 · 0 评论 -
pip的使用
查看pip帮助:pip -h如下所示:第一个需要知道的命令,可能就是Pip -h了,查看pip自带的帮助系统,列出了pip支持的命令和选项。安装命令安装某个包,例如djangopip install django安装特定版本的某个包,例如django2.0pip install django==2.0从.whl安装pip install xxx...原创 2020-03-30 15:26:27 · 1027 阅读 · 0 评论 -
windows下安装python虚拟环境
一、为什么要使用virtualenv?Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者可以使用库的过时版本的接口编写应用程序。这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本,则需求存在冲突,安装版本1.0或2.0将导致某一个应用程序无...原创 2020-03-29 19:27:05 · 879 阅读 · 0 评论 -
windows下pip国外源不顶用,换成国内源
目录一、什么时候应该更换国内源?二、如何更换国内源?三、测试一下一、什么时候应该更换国内源?出现上述情况,例如time out,基本可以断定的是,你所在的环境链接国外源具有超级高的延迟。那么这种情况下,就需要更换国内源了。二、如何更换国内源?1、进入如下目录C:\Users\Administrator\AppData\Roaming2、建立一个新的文...原创 2020-03-29 17:04:45 · 2035 阅读 · 0 评论 -
为什么Python这么慢?
大数据文摘出品编译:jojo、Hope、张秋玥、CoolBoyPython语言近年来人气爆棚。它广泛应用于网络开发运营,数据科学,网络开发,以及网络安全问题中。然而,Python在速度上完全没有优势可言。在速度上,Java如何同C,C++,C#或者Python相比较?答案几乎完全取决于要运行的应用。在这个问题上,没有完美的评判标准,然而The Computer L...转载 2019-07-10 10:07:25 · 913 阅读 · 0 评论 -
python3中常用的内置函数
从下图中可以知道python3中有如下这些内置函数图一下面我们一一了解下每个函数的用法:abs()abs() 函数是取绝对值的函数,在C语言只中有也有一个abs()函数但是在C语言中abs()函数的参数要求是整数,在C语言中如果要对一个浮点数取绝对值则应该用fabs()函数,但是在python中则不一样,abs()函数是对参数没有要求的 ,不管是整数函数浮点数都可以...转载 2019-05-23 17:45:29 · 1238 阅读 · 0 评论 -
python的list常用操作及方法
list是python中最基本的数据结构,也是python中最最最常用的数据结构,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。...原创 2019-05-23 17:36:36 · 995 阅读 · 0 评论 -
python的tuple数据及其操作
元组被称为只读列表,数据可被查询,但不能被修改,类似于列表的切片操作,元组写在小括号里面()元素之前用逗号隔开对于一些不想被修改的数据,可以用元组来保存。# 创建元组1)创建空元组# 创建空元组tup = ( )print (tup)print (type(tup)) # 使用type函数查看类型#输出结果()<class 'tuple'>...转载 2019-05-23 00:51:24 · 14665 阅读 · 1 评论 -
python的bytes数据类型
bytes主要是用于二进制的数据处理的数据类型,非常适合于socket编程。bytes>>> type(b'xxxxx')<class 'bytes'>>>> type('xxxxx')<class 'str'>bytes是byte的序列,而str是unicode的序列。1、str 转换成 bytes...转载 2019-05-22 21:55:28 · 27126 阅读 · 1 评论 -
python的字符串的格式化
字符串格式化Python的字符串格式化有两种方式:%格式符方式,format方式%格式符%[(name)][flags][width].[precision]typecode(name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐;正数前加正好,负数前加负号; - 左对齐;正数前无符号,负...转载 2019-05-22 16:13:35 · 264 阅读 · 0 评论 -
python 字符串常用操作
字符串常用方法字符串相加:word="Py"+"thon"#结果为:Python字符串的索引:word[0] #为Pword[-1] #为nword[1] #为y字符串切片:word[0:1]#结果为:Pyword[2:]#结果为:thonword[-2:-1]#结果为:on计算字符串的长度:len(w...转载 2019-05-22 16:11:19 · 522 阅读 · 0 评论 -
python多继承的搜索顺序变迁
python中使用多继承python中使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承,也叫菱形继承问题)等MROMRO即method resolution order,用于判断子类调用的属性来自于哪个父类。在Python2.3之前,MRO是基于深度优先算法的,自2.3开始使用C3算法,定义类时需要继承object,这样的类称为新式类,否则为旧式类从图中可以看出,旧式类查...转载 2019-05-21 21:16:06 · 828 阅读 · 1 评论 -
tqdm==>python可扩展进度条
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。安装可以通过:pip install tqdmconda install tqdm #ipython12基本用法:1、牛刀小试1.1对range的使用在tqdm还有个关于range的封装:1.2对任意...转载 2019-05-14 00:30:00 · 180 阅读 · 0 评论 -
python的异常
python的异常处理包含两个关键字:try和except。每一个try至少有一个except一、最基本的形式方式一:while True: try: x = int(raw_input("Please enter a number: ")) break except ValueError: prin...原创 2019-05-11 00:48:23 · 253 阅读 · 0 评论 -
这是我见过最完整的模块资料!
一、模块1、模块和导入当程序代码量变得相当大、逻辑结构变得非常复杂的时候,我们最好把代码按照逻辑和功能划分成一些有组织的代码块,并将其保存到一个个独立的文件当中。这些文件可以包含可执行代码、函数、类或者这些东西的组合,这些自我包含并且有组织的代码块就是模块( module )。模块是最高级别的 Python 代码组织单元。这里还是要推荐下小编的Python学习群:483546416...转载 2019-05-10 15:44:04 · 539 阅读 · 0 评论 -
python的模块化
模块化是工程的一个重要方面,如果一门语言不具备模块化的特性,那么自然是不能成为工程语言的候选者了。为了支持这个功能,Python 有种方法可以把你定义的内容放到一个文件中,然后在脚本或者交互方式中使用。这种文件称为模块;模块中的定义可以导入到其它模块或主模块中。模块是包含 Python 定义和声明的文件。文件名就是模块名加上.py后缀。在模块里面,模块的名字(是一个字符串)可以由全局...原创 2019-05-10 14:07:49 · 5696 阅读 · 0 评论 -
python采用的编码
目录一、背景知识二、python之中的编码1、文件本身的编码二、python如何识别文件编码格式?三、字符串输入输出编码格式1、encode和decoded的使用:系统编码的修改:2、文件的字符串输入和输出编码查看文件的编码文件读写总结:一、背景知识字符集编码字符集编码与机器实现编码的联系unicode的几种实现UTF的BOM和无B...原创 2019-05-08 00:20:26 · 1556 阅读 · 0 评论 -
(原创)clang的python接口(一)
(原创)clang的python接口(一)背景众所周知,llvm是一个十分强大的编译器前段,由此衍生出的clang编译器已经十分成熟,大有在将来取代gcc的趋势。同时,clang也提供了强大的开发接口libclang,可以十分有效的进行词法和语法分析的工作。libclang的python接口配置下面是python bindings 的github镜像python bindings f...转载 2019-05-06 16:54:27 · 4310 阅读 · 0 评论 -
两个Python web框架:Django & Tornado比较
在各种语言平台中,python涌现的web框架恐怕是最多的;猜想原因应该是在py中构造框架十分简单,使得轮子不断被发明。这里记述一下我了解过的两个py web框架,供大家参考,希望能起他山之石的作用。DjangoDjango 应该是最出名的py框架,Google App Engine甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是...转载 2019-04-11 14:48:11 · 720 阅读 · 0 评论 -
python的典型文件结构
#/usr/bin/env/ python #(1) 起始行# -*- coding: utf-8 -*- #(2) 声明文件中的编码格式,在使用中文过程中,最好使用utf-8"this is a test module" #(3) 模块文档(文档字符串)import sysimport os ...原创 2019-04-10 12:49:45 · 4024 阅读 · 0 评论 -
python解释器
1、解释器的调用(1)、直接进入解释器shell在shell中输入如下命令:python然后就会进入python解释器的shell中,然后就可以输入python代码,然后就可以执行了。例如:>>>1+34...>>>(2)、把python语句当成command执行python-ccommand[arg]......原创 2019-04-09 21:08:25 · 1407 阅读 · 0 评论 -
python语言基本介绍
python是一门高级语言,能够很好的处理文本,科学计算,GUI编程,也能够用于服务器编写。与shell脚本相比,python标准库自带正则表达式引擎,能够很好的处理文本内容,同时python也有很多适用于文件移动复制等,可以完成shell脚本所能做到的一切内容。同时,python能够调用command在脚本中嵌入其他的一些shell命令,这就极大简化了python脚本的编写和提升了py...原创 2019-04-09 16:52:21 · 1845 阅读 · 0 评论 -
python使用执行sql语句,遇到内容中包含单引号和双引号出错的解决办法
【python】sql语句插入中内容同时包含单引号和双引号的解决办法在python中调用MySQLdb模块插入数据信息,假设待输入信息data为:Hello'World"!其中同时包含了单引号和双引号一般插入语句为sql = "insert into tb (my_str) values('%s')" % (data)cursor.execute(sql)其中values('%s')中的%s外面...转载 2018-04-12 17:04:15 · 9171 阅读 · 0 评论 -
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128) 解决
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128) 解决办法最近在用Python处理中文字符串时,报出了如下错误:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0:...转载 2018-04-10 13:15:57 · 675 阅读 · 0 评论 -
python的_name_属性,以及为什么要使用_name_='_main_'
python的模块本身是一个对象,其本身也具有属性。每一个模块都具有一个_name_属性,但_name_属性的值是会变化的。每次Import的时候,没有缩进的语句,就会被执行一次。如果某模块被import,则该模块的__name__为这个模块的名字 如果某模块被直接运行,则其__name__为'__main__' 很多时候,我们想要模块直接运行的特性和import时的特性不同。我们知道,_n...原创 2018-04-09 19:48:33 · 1051 阅读 · 0 评论