Python
grace666
这个作者很懒,什么都没留下…
展开
-
Django1.10.3在python3.8报错:Warning: (3135, "'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_
根据提示,SQL modes应该使用安全模式,即该功能将可能在未来的版本中被舍弃或者合并,这是MySQL向后兼容常见的处理方式,可以如下处理: 第一种方法:把setting里的options注释掉DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST...原创 2020-02-19 13:03:30 · 736 阅读 · 0 评论 -
Python-生成器(generator)
1.定义:边循环边计算的机制,是一种特殊类型的迭代器,所以也会有__iter__和__next__方法,会在遍历过程中单独读取某一行的数据到内存2.调用方式:(1)for循环,for循环的本质就是调用了__iter__和__next__方法进行了迭代(2)调用__next__()方法(3)调用send方法(4)数据类型强制转换,比如使用list()强制转换3.两种实现方式:...原创 2019-12-25 17:00:00 · 359 阅读 · 0 评论 -
(转)Python-魔法方法
Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。常见的魔法方法如下: 魔法方法 含义 ...转载 2019-12-24 12:08:39 · 180 阅读 · 0 评论 -
(转)Python-装饰器
1.定义:在不修改原有代码的情况下,为被装饰的对象增加新的功能,或者附加限制条件,或者帮助输出 接收一个函数作为参数,同时返回一个函数作为结果2.分类:装饰器有很多种,有函数的装饰器,也有类的装饰器3.原则:开放封闭原则4.语法:装饰器的语法是将@装饰器名,放在被装饰对象上面ps:Python程序是从上往下顺序执行的,而且碰到函数的定义代码块是不会立即...转载 2019-12-20 18:05:12 · 124 阅读 · 0 评论 -
Django1.10.3在python3.8报错:RuntimeError: __class__ not set defining 'AbstractBaseUser' as...
在参考书中的例子(django使用的版本是1.10.3,python使用的是最新的3.8),django项目创建成功,进入项目文件夹中,使用python manage.py报runtimeerror错误:RuntimeError: __class__ not set defining 'AbstractBaseUser' as <class 'django.contrib.auth.base...原创 2019-12-16 19:49:02 · 6709 阅读 · 16 评论 -
Python-Str(字符串)
字符串实现了一般序列的操作(可参考:https://blog.csdn.net/grace666/article/details/103490431),还额外提供了以下列出的一些附加方法1.str.capitalize():返回原字符串的副本,其首个字符大写,其余为小写s1="abcde"print(s1.capitalize()) #Abcdeprint(s1) #abcde...原创 2019-12-13 19:49:21 · 771 阅读 · 0 评论 -
Python-序列类型
有三种基本序列类型:list, tuple 和 range 对象,都支持以下通用的操作: 运算 结果 xins 如果s中的某项等于x则结果为True,否则为False xnotins 如果s中的某项等于x则结果为False,否则为True ...原创 2019-12-11 17:47:27 · 173 阅读 · 0 评论 -
Python-整型int和浮点型float的附加方法
1.int.bit_length():返回以二进制表示一个整数所需要的位数,不包括符号位和前面的零n=37print(bin(n)) #0b100101print(n.bit_length()) #6n=-37print(bin(n)) #-0b100101print(n.bit_length()) #6n=0print(bin(n)) #0b01print(n...原创 2019-12-10 19:08:43 · 1480 阅读 · 0 评论 -
Python-内置类型
1.主要的内置类型:数字、序列、映射、类、实例和异常2.一个对象在默认情况下均被视为真值,除非当该对象被调用时其所属类定义了 __bool__() 方法且返回 False 或是定义了 __len__() 方法且返回零3.被视为假值的内置对象:(1)被定义为假值的常量:None 和 False(2)任何数值类型的零:0, 0.0, 0j, Decimal(0), Fraction...原创 2019-12-10 18:39:17 · 122 阅读 · 0 评论 -
Python-内置常量
1.True2.False3.None4.NotImplemented:被二元特殊方法返回(比如eq()、 lt() 、 add() 、 rsub() 等),表明某个类型没有像其他类型那样实现这些操作(1)能被重新赋值,甚至改变属性名称,并且不会产生 SyntaxError,所以它不是一个真正的“真”常数。当然,我们应该永远不改变它# None="a" #报错:Synta...原创 2019-12-10 13:25:41 · 405 阅读 · 0 评论 -
Python-type函数和isinstance函数
1.class type(object):传入一个参数时,返回 object 的类型,返回值是一个 type 对象,通常与 object.__class__ 所返回的对象相同a=1print(type(a)) #<class 'int'> a=""print(type(a)) #<class 'str'>a=[1,2]print(type(a)) ...原创 2019-12-08 17:15:04 · 162 阅读 · 0 评论 -
Python--str和repr的区别
str()函数:将值转化为适于人阅读的字符串的形式repr()函数:将值转化为供解释器读取的字符串形式1.计算整数和字符串得到的结果不同整数型:s=123print(s) #123print(repr(s)) #123print(str(s)==s) #Falseprint(repr(s)==s) #Falseprint(len(str(s))) #3prin...原创 2019-12-01 14:21:09 · 161 阅读 · 0 评论 -
Python-排序函数比较
内置函数sorted(iterable [, key[, reverse]]),列表有一个内置排序函数list.sort(key=None, reverse=False),key :设置排序方法,或指定list中用于排序的元素reverse :升降序排列,默认为False,升序排列两者之间的区别:sort() 仅针对列表,会改变list自身的顺序,没有返回值,即原地排序sort...原创 2019-11-26 17:36:18 · 577 阅读 · 0 评论 -
(转)Python-逻辑运算符
Python3中的and和or1.在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了 __ nonzero __ () 或 __ len __ () 方法且方法返回 0 或False,则其实例也被当作False,其他对象均为True2.or:从左到右,返回第一个为真的值,若都为假返回后一个值...转载 2019-05-28 16:22:08 · 142 阅读 · 0 评论 -
(转)Python-__builtin__与__builtins__的区别与关系
在学习Python时,很多人会问到__builtin__、__builtins__和builtins之间有什么关系。百度或Google一下,有很 多答案,但是这些答案要么不准确,要么只说了一点点,并不全面。本文将给大家一个较为全面的答案。以下结果是经过本人试验过的(测试环境:Linux Mint 14, Python2.7.3和Python3.2.3),并参考了Python的邮件列表。在Pyt...转载 2019-06-14 20:53:05 · 292 阅读 · 0 评论 -
Python-变量作用域
Python程序中,创建、改变、查找变量名时,都是在一个保存变量名的空间中进行,我们称之为“命名空间”,也被称之为“作用域”。python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定。 Python中,只有当变量在模块(Module)、类(Class)、函数(def、lambda)中定义的时候,才...原创 2019-07-03 20:19:02 · 266 阅读 · 0 评论 -
Python-【if __name__ == '__main__'】的作用和原理
在学习Python编程的时候,经常看到这么一句“if __name__ == '__main__',开始以为是规范编写,后面经过度娘得知,这么写也是有一定的含义的。 众所周知,一份python的文件有两种使用的方法:第一,是直接作为脚本执行,第二,是在其他文件的python脚本中被import调用(模块重用)执行。 而【if name == 'main':】的作用就是控...原创 2019-07-15 16:20:11 · 103 阅读 · 0 评论 -
Python-必选参数、默认参数、可变参数、关键字参数、命名关键字参数
1.函数参数定义的顺序:必选参数(位置参数)、默认参数、可变参数、关键字参数、命名关键字参数2.默认参数(1)即,传的参数里面有默认值,可以通过传参替换;(2)当有多个默认参数时,调用的时候,既可以按顺序提供,比如函数原定义enroll(name,sex,age=18,city="Beijing"),调用时可以enroll('Bob', 'M', 7),意思是,除了name,sex这两个...原创 2019-07-17 20:13:26 · 539 阅读 · 0 评论 -
Python-函数标注
1.使用函数参数标注,能提示程序员应该怎样正确使用这个函数2.以字典的形式存放在函数的 __annotations__ 属性中,并且不会影响函数的任何其他部分3.形参标注的定义方式是在形参名称后加上冒号,后面跟一个表达式,该表达式为标注的值。4.返回值标注的定义方式是加上一个组合符号 ->,后面跟一个表达式,该标注位于形参列表和表示 def 语句结束的冒号之间如:def...原创 2019-07-24 19:30:58 · 906 阅读 · 0 评论 -
(转)Python---直接赋值、浅拷贝和深拷贝的区别
1.直接赋值:其实就是对象的引用2.浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象3.深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象举例说明:import copya = [1, 2, 3, 4, ['a', 'b']] # 原始对象b = a # 赋值,传对象的引用c = copy.copy...转载 2019-07-25 16:04:17 · 196 阅读 · 0 评论 -
Python基础---Tuple(元组)
1.空元组tup1=()print(type(tup1)) # <class 'tuple'>print(tup1) # ()2.包含1个元素的元组,初始化时需在元素后加“,”,有2种初始化方式:tup1 = (1)print(type(tup1)) # <class 'int'>print(tup1) # (1)tup1 = (2,)...原创 2019-08-01 20:42:38 · 455 阅读 · 0 评论 -
Python基础---Set(集合)&Frozenset(不可变集合)
SET对象是由具有唯一性的 hashable 对象所组成的无序多项集,否则会报“unhashable type”的错误。目前有两种内置集合类型,set 和 frozenset。 set 类型是可变的 --- 其内容可以使用 add() 和 remove() 这样的方法来改变。 由于是可变类型,它没有哈希值,且不能被用作字典的键或其他集合的元素。 frozenset 类型是不可变并且为 hashab...原创 2019-08-12 15:37:43 · 1124 阅读 · 0 评论 -
Python基础---Dict(字典)
1.字典以键值对组成,包含在{}中,字典的键必须为hashable,即不可变(字符串、元组、数字),并且唯一;值可以是任何类型# dict1 = {[1]: 1} # 报错:TypeError: unhashable type: 'list'# dict1 = {{1}: 1} # 报错:TypeError: unhashable type: 'set'dict1 = {(1,)...原创 2019-08-16 13:56:51 · 3131 阅读 · 0 评论 -
Python-内置函数
1.abs(x):返回数字的绝对值,x可以是整数、浮点数、复数;注:若x是复数,则返回其大小import matha = -1b = -1.3232c = bd = 1+1.0je = 3+4.0jf="a"g=[1,2]print ("a的绝对值是:",abs(a)) # 1print("b的绝对值是:",abs(b)) # 1.3232print("c的...原创 2019-09-09 20:14:38 · 913 阅读 · 0 评论 -
Python-类中@classmthod和@staticmethod的区别
类中用普通方法:def get_date(string_date): year,month,day=map(int,string_date.split("-")) return year,month,dayclass Date_test(object): day=0 month=0 year=0 def __init__(self,year...原创 2019-09-18 17:42:33 · 340 阅读 · 0 评论 -
Python--eval和exec的区别
eval(expression, globals=None, locals=None)1.expression只能是单个表达式,不能是复杂的代码,如赋值、循环等2.当指定了命名空间后,变量会在对应的命名空间中查找,其值不会覆盖实际其他命名空间中的值3.返回的是expression的执行结果,在某些情况(print()或列表的append()操作)下,返回值可能是Noneexec(o...原创 2019-09-24 17:02:23 · 426 阅读 · 0 评论 -
在selenium中使用css选择器进行元素定位
1.大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比XPATH更简洁下面简要介绍一下css元素选择器的语法常见语法*通用元素选择器,匹配任何元素E转载 2015-09-13 20:17:58 · 12541 阅读 · 2 评论 -
Python-基础数据类型概述
Python3 中有六个标准的数据类型:Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典)Python3 的六个标准数据类型中:不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组) 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)...原创 2019-05-28 15:15:38 · 406 阅读 · 0 评论 -
Python-Requests.post方法中,传参data与json的区别
Python3的requests.post()方法的源码:def post(url, data=None, json=None, **kwargs): r"""Sends a POST request. :param url: URL for the new :class:`Request` object. :param data: (optional) Dicti...原创 2019-05-23 15:56:44 · 6700 阅读 · 0 评论 -
Ubuntu下安装django
在Ubuntu下安装django,开始使用的命令是“sudo pip install django”,结果安装了几次,不仅速度很慢,结果到后面莫名的报错“SSLError: ('The read operation timed out',)”。经过网上查了,试了另一个地址,命令如下:“sudo pip install django -i https://pypi.tuna.tsingh原创 2017-01-20 23:27:35 · 498 阅读 · 0 评论 -
Python基础
python官网:http://www.python.orgpython官方文档:https://docs.python.org/2/ or https://docs.python.org/3/python第三方插件:https://pypi.python.org/pypiUbuntu下python的第三方插件包的默认路径:/usr/local/lib/python2.7/dist...原创 2019-05-28 14:57:10 · 260 阅读 · 0 评论 -
Ubuntu下安装python的第三方插件(如selenium)
由于Ubuntu下已经安装好python,安装selenium可以使用python的pip工具进行安装。若没有pip工具,输入pip命令,会提示程序“pip”尚未安装。 您可以使用以下命令安装:sudo apt-get install pip;安装selenium需要有root权限,否则会导致安装失败。若在一般用户下,可使用sudo pip install -U selenium命令进行安原创 2015-03-15 16:02:14 · 2180 阅读 · 0 评论 -
Python基础---List(列表)
1.append方法:在列表的末尾添加1个元素,可包含任何数据类型,该方法无返回值(返回值为None),但是会修改原来的列表(1)list.append(x)等同于 list[len(list):]=[x],如:b = ['A', 'b', '从', '对方身份', '问过', 'abd', [1, 2, 3]]a1 = [1, 2, 3]b.append(a1)print(b)...原创 2019-07-25 15:56:27 · 224 阅读 · 0 评论 -
sublime2下配置python环境
一.设置 Sublime Text 的 Python 开发环境最近,当我主要使用Python开发环境编辑的时候,我开始越来越多地用到Sublinme Text 2.这篇文章主要说明了能让Python的编程者使用更方便的一些设置和调整。李林峄翻译于 2年前1人顶顶 翻译的不错哦! 为何选择Su转载 2014-12-05 16:23:47 · 890 阅读 · 0 评论 -
(转)用Python读写Excel文件&&几种模块比较
虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件。通常我都是把数据保存为以TAB分割的文本文件(TSV),再在Excel中进行导入或者直接复制粘贴。前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取。在这个过程中,研究并尝试了一些工具,也转载 2017-12-19 14:32:09 · 3684 阅读 · 0 评论 -
(转)Python-pyodbc
https://github.com/mkleehammer/pyodbc转载 2018-03-01 14:22:57 · 220 阅读 · 0 评论 -
Python建立Django项目
1.Django的安装(1)用pip来安装 若未安装pip,看第1)步,否则直接看第2)步 1)安装pip:yum install python-pip 或者https://bootstrap.pypa.io/get-pip.py 下载get-pip然后运行python get-pip.py就可以安装pip了;也可以下载pip源码包,运行python setup.py ...原创 2018-12-26 16:06:38 · 229 阅读 · 0 评论 -
(转)TCP/IP
TCP三次握手所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:TCP三次握手.png(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Cl...转载 2019-05-27 11:21:24 · 126 阅读 · 0 评论 -
Python之HtmlTestRunner安装
1、下载文件https://pypi.org/project/html-testRunner/#files2. 将下载的文件放在Scripts 目录下3.在此目录下,输入cmd,调出dos命令窗口4.输入pip installhtml_testRunner-1.2-py2.py3-none-any.whl,系统自动安装ps:需事先安装pip工具...原创 2019-05-13 10:52:56 · 6029 阅读 · 1 评论 -
(转)Requests官方文档: 让 HTTP 服务人类
http://cn.python-requests.org/zh_CN/latest/转载 2019-05-13 10:30:46 · 217 阅读 · 0 评论