自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 window中python,pip被删除后的安装

先安装一个版本python -m ensurepip然后升级到最新版本python -m pip install --upgrade pip假如之前没有过pip的安装,则需要配置路径在安装pip后需先配置环境变量, pip 指令才能生效找到 python 安装路径下 的 scripts 目录下,复制改路径例如我的路径...

2020-12-07 17:04:23 170

原创 mysql删除外键约束

在python中:Column(类型,ForeignKey(‘绑定的表.列名’,ondelete=‘约束类型’))外键约束有:RESTRICT:父表的数据被删除时会阻止删除,默认就是这一项。NO ACTION:在MySQL中,同RESTRICT。CASCADE:级联删除,当父表中的项被删除,子表中的那一条数据都会被删除。SET NULL:父表数据被删除,子表的外键数据会被设置为NULL。...

2020-11-04 12:31:09 344

原创 mysql中的None和null

8的空格处不算做None,算作一个空的字符串,占了位置。7的(NULL)才算做None,不占位置。

2020-11-04 10:25:50 2921

原创 mysql索引长度计算

varchr(24)变长字段且允许NULL24*(Character Set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段)例如utf8的varchr(24),索引长度就是24*3+1+2=75varchr(10)变长字段且不允许NULL10*(Character Set:utf8=3,gbk=2,latin1=1)+2(变长字段)例如gbk的varchr(10),索引长度就是10*2+2=22char(10)固定字段且允许NULL10*(Character Se

2020-08-06 16:39:14 308

原创 元类及迭代器生成器

getattr__getattr___是当类中没有对应实例会被自动调用的魔法方法。他传入的item就是你调用的不存在的值,他没有默认返回值,会输出None__getattribute__无条件优先执行,如果不是特殊情况最好不要使用get和dict的优先级class IntField(object): def __set__(self, instance, value): if not isinstance(value, int): raise Valu

2020-06-27 23:03:41 102

原创 类与对象深度问题

__new__方法def new(cls)#创建一个类对象,自动运行,当期运行时如果没有创造对象并且返回则不会运行__init__方法,因为__init__方法是只有对象被创建时才会自动调用。一般init会自动调用是因为对象被自动创建了,所有类的父类object有这个功能,当当你运行了__new__之后object不会在运行,所以假如__new__中没有创建对象则__init__不会运行。一般在new方法最后加一行:return object.new(cls)#通过从object方法中调用new来创建

2020-06-25 23:56:34 106

原创 类与对象的深入

鸭子类型多态概念用于Java和C#这一类强语言中,而python崇尚鸭子类型,鸭子类型即不严格要求类型,比如a.extend(b)是将b链接到a后面,a为列表时,b是列表元组字符串都可以加到后面。比如a,b,c是三个类的名字,list=[a,b,c]此时a,b,c是作为变量储存在列表中,只有当他写成a().内置函数时()他才和被作为一个类。抽象基类(abc模块)抽象基类就是类里定义了纯虚数的类,其不能被实例化(不能创建对象)不能被继承。从abc中调用Sized模块:from collection

2020-06-25 19:07:52 86

原创 文件

open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)open中可以有的参数文件的打开和关闭a=’文件所在位置.文件名‘打开文件的方式open(’文件所在位置.文件名‘或者a)如果打开的文件的程序和程序在同一个文件夹则可以直接写文件名。print(打开的文件)可以输出文件对象的信息。read()方法可以将文件中的内容读取保存到一个字符串中。格式如a.read()文件

2020-06-24 22:45:52 112

原创 异常的处理

异常就是错误的代码,当程序运行时,如果读到错误代码程序直接终止输出,后面的读取只会读到错误时报错。当函数中出现异常时,所有调用了这个函数的地方都会报错。trytry可以用于测试程序try:测试的代码except:测试代码中有错误执行的代码else:测试代码中没有错误执行的代码try:测试的代码except 错误名:捕获和错误名对应的异常,如果没加异常名,则会捕获所有异常。try:测试的代码except 异常类型 as 异常的新名字:(e代表了出现的异常名字,你接下来的代码中要输

2020-06-24 20:50:54 106

原创 面向对象和模块

属性和方法在类中直接定义的参数是类属性,实例属性可以访问类和实例属性,类对象不能直接调用实例属性。在类中定义,以self为第一个参数的都是实例对象。当通过实例对象调用实例时,调用的参数就是self,当类调用实例对象时,不会把调用参数作为实例传递,故缺少一个参数。假设A是类,a是A的一个实例,当A中有一个name方法时,两者调用并传递a的值的格式分别为,a.name()和A.name(a)如果在类中想定义类属性的方法,则上面一行加@classmethod(method中文名词意思为方法,类函数)此时

2020-06-24 17:27:20 469

原创 面向对象

继承的简介创建类时后面括号里的就是这个类的父类(也被成为超类,基类)1.让类与类之间产生了关系,有了这层关系才有我们后续要说的多态2.提高了代码的复用性3.在创建类的时候,如果省略了父类,则默认父类为object,因为object是所有类的父类。子类会继承父类的属性和方法例如:‘’’class Animal:def sleep(self):print(‘动物会睡觉…’)def run(self):print(‘动物会跑…’)class Dog(Animal):passd = D

2020-06-22 21:28:30 76

原创 装饰器

通过装饰器,可以在不修改原函数的情况下对函数进行扩展。我们可以通过装饰器来扩展函数功能。例如:def fn(a,b):return a+bdef start_end(old):def new_function(*a,**b):print(‘function execution begins’)r=old(*a,**b)print(‘function execution ends’)return rreturn new_functionf=start_end(fn)print(f(1,

2020-06-09 17:10:37 116

原创 函数2

函数的返回值定义的函数中return后面跟着什么值,函数就会返回什么值。return后面可以跟任何对象甚至是函数。当a=fn()时,如果fn()没有返回值则a=Nonereturn同时也标志着函数的结束,当读到return时则函数自动结束。return后可以不跟值,仅作为结束标志。help函数help(函数)这种格式编译器会告诉你函数的用法意义。当我们自己定义函数时也可以用"""“”"来将自己对这个函数的解释写在中间,别人就可以通过help来查询他。例如:def fn(a,b,c):

2020-06-09 17:05:26 137

原创 命名空间

所有的变量都保存在命名空间中命名空间实质是一个字典,是一个专门用来存储变量的字典,也可以存储函数locals()函数可以获取当前作用域的命名空间,并且返回一个字典。b=20a=30scope=locals()print(scope)输出{‘name’: ‘main’, ‘doc’: None, ‘package’: None, ‘loader’: <_frozen_importlib_external.SourceFileLoader object at 0x00000222640E0

2020-06-08 18:37:12 93

原创 函数

可变对象每个对象中都保存了三个数据,id(标识)type(类型)值(value)可变对象是指value可以变的对象。a=【1,2,3】a=【2,3,4】这不算内容可变,这是直接把变量重新赋值了一遍,id也会发生改变。a=【1,2,3】a【0】=2这样通过变量来修改对象里面的值,不会改变变量指向的对象id。函数函数也是一个对象,函数可以保存一些可以执行的代码,在需要时可以对这些语句进行多次调用。创建函数的格式:def 函数名(形参1,形参2,形参3。。。。。。):(函数名必须符合命名

2020-06-03 22:12:00 129

原创 元组字典集合

元组(tuple)当需要写入列表中元素不需要改变时,可以使用元组。可以tuple[number]输出number对应的值。如果元组不是空的,他至少必须有个’,’元组在定义时可以不加括号,例如:tup=1,2,3,4,5print(tup)=(1,2,3,4,5)元组的解包a,b,c,d,e=tup则a=1,b=2,c=3,d=4,e=5此方法需要一一对应,否则会报错当无法确定元组中的元素时,可以使用星号来防止报错a,b,*c=tup则a=1,b=2,c=[3,4,5]a,*b,c

2020-06-01 21:57:02 624

原创 列表的一些知识

列表的读取列表是序列的一种。list[%d:%d]从列表中取数字中间的一段,包括开始不包括结束,可以省略数字,省略的一边默认全部读取。列表从前往后元素对应数字从零开始往后,从后往前从-1开始往前。list[:]可以读取列表中的所有项。如果list[::]有两个冒号,则第二个冒号后表示步长,意思为取列表元素的间隔。例如a=[1,2,3,4,5,6]print(a[::2])运行结果[1, 3, 5]如果步长为负数则从后往前取步长不能为零列表的运算加号可以直接相加两个字符串:[1,2,3

2020-05-29 21:57:44 280

原创 格式化字符串

占位符%s 字符串占位符%d 整形占位符%f 浮点型占位符使用举例print(‘i love %s’ %‘you’ )=i love youprint(‘i %s %s’%(‘love’,‘you’))=i love youprint(’%d%s%d%s%d’%(1,’+’,2,’=’,3))=1+2=3有几个占位符后面就需要几个与之对应的值format 语句s=‘i like {}’a=s.format(‘python’)print(a)输出 i like pythons=‘

2020-05-27 09:46:52 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除