![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python 1
文章平均质量分 71
嘎嘎_哈
这个作者很懒,什么都没留下…
展开
-
面试题:对面向对象的理解。面向对象中特殊方法
对面向对象的理解:封装继承和多态对封装的理解:1,通过构造方法把数据封装到对象中哪些地方体现了封装?rest framework dispatch方法里对request的封装2,对同一类的方法封装到类中继承1,把多个类中相同的属性和方法提取到基类中,只实现一次,让子类或派生类去继承它就可以了,继承体现在这一点上2,多继承子类可以继承多个父类,就叫多继承。3,新式类新式类...原创 2019-11-24 19:54:19 · 259 阅读 · 0 评论 -
python map() 函数和reduce() 函数的区别
参数:map(func,iterable,…) 函数可以有N个参数,后面可以有多个可迭代的参数reduce(func, iterable[, initializer]) 参数有2个,只能是一个迭代对象,可以设置初始值作用:map通过func处理迭代里面的每个参数,并返回结果,每个迭代的数据之间没有关联reduce 通过func处理迭代里面的每个参数,并返回结果,每次迭代的数据也下次迭代...原创 2019-11-20 10:50:59 · 185 阅读 · 0 评论 -
那些年,我们遇到过的python lambda匿名函数的坑!!!!!!
坑1!!!!!!lambda 和 list 结合使用>>>li = [lambda :x for x in range(10)]>>>print(li[0])<function <listcomp>.<lambda> at 0x0000017B0C5B99D8>>>>print(li[0]())9...原创 2019-11-19 16:40:35 · 2701 阅读 · 1 评论 -
数据库表的基本操作 表的创建 增删改查 主键约束 唯一约束 非空约束 默认约束 自动增长约束 外键约束
1,表的基本概念1,表是在库中,每个数据库包含N张表一般是二维表的形式2,由行和列组成:可以将复杂的数据保存在简单的表中表中的每一行就是一条完整的记录表中的列用于保存每条记录中特定的信息2,创建表1,使用sql语句创建表语法格式为:create table 表名(字段名1 字段类型1 [完整性约束], 字段名2 字段类型2 [完整性约束],.....字段名n 字段类型n [...原创 2019-07-09 15:45:45 · 2358 阅读 · 0 评论 -
python动态添加属性(对象属性,类属性) __slots__对动态添加属性及方法的限制作用
**1,python动态添加属性(对象属性,类属性)**1,python是动态类型语言:可以在运行中改变自身结构,动态添加/删除属性和方法,删除函数2,也是强类型语言:变量的类型可以在运行之后,任意变量,不需要强制转换动态添加实例属性和类属性的演示如下:class Person: def __init__(self, name, age): self.name ...原创 2019-07-02 14:55:53 · 6342 阅读 · 2 评论 -
python 闭包 如何使用闭包 使用闭包添加日志功能 装饰器的基本使用 多个装饰器的使用 指定参数个数的通用装饰器 类装饰器的使用
**1,什么是闭包**1,闭包本质就是函数,但是这个函数有点特殊**2,如何创建闭包**1,嵌套函数定义(外部函数和内部函数)2,内部函数使用外部函数中定义的变量3,外部函数一定要有返回值,返回内部函数名以上是创建闭包的三个必要条件,缺一不可**3,如何使用闭包**需求:使用闭包,完成两个数字的求和def funcOut(num1): def funcIn(n...原创 2019-07-02 10:22:59 · 266 阅读 · 0 评论 -
python enumerate函数的用法
1,enumerate()函数是python的内置函数2,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),可利用enumerate函数同时获取对象的索引和值dict = [{"name":"小二", "age":18}, {"name":"小五", "age":24}, {"name":"小八", "age":28}]for index,t in enumerate(d...原创 2019-06-26 19:35:25 · 16798 阅读 · 1 评论 -
python元组的创建 取值 排序 计数
元组的创建1,通过()创建元组,小括号可以省略a=(10,20,30) 或者 a=10,20,30注意:如果元组中只有一个元素时,则必须在后面加 逗号>>> a=(1)>>> type(a)<class 'int'>>>> a=1,>>> type(a)<class 'tuple'>...原创 2019-06-26 15:02:05 · 3999 阅读 · 0 评论 -
python变量的作用域 全局变量和局部变量 全局和局部变量的效率测试
**1,全局变量**1,在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始,知道模块结束。2,全局变量降低了函数的通用性和可读性。应尽量避免全局变量的使用。3,全局变量一般做常量使用4,在函数内要改变全局变量的值,要使用global声明一下全局变量的作用域测试:a = 100 #全局变量def f1(): global a # 在函数内改变全局变...原创 2019-06-18 18:30:33 · 564 阅读 · 0 评论 -
python设计模式工厂模式 单例设计模式 重写new方法
**1,单例设计模式**class MySingleton: __obj = None __init_flag = True def __new__(cls, *args, **kwargs): # cls当前的类对象 if cls.__obj is None: # 判断当前类对象下面的类属性是否为空 cls...原创 2019-06-25 21:33:30 · 213 阅读 · 0 评论 -
python 猜拳游戏
**需求如下:**猜拳游戏分析类:属性、方法自己玩家:Player 选角色[“美羊羊”,“喜羊羊”,"沸羊羊"] 出拳 石头 剪刀 布计算机玩家:Computer 选角色[“1美羊羊”,“喜洋洋”,"沸羊羊"] 随机选角 随机出拳game类,包含了整个游戏流程,让玩家选角色、出拳、计算机选角色、出拳、比较出拳,显示解决再玩一次...原创 2019-06-25 20:14:11 · 986 阅读 · 0 评论 -
pycharm 一键 快速 批量 修改变量名 快捷键
**快捷键为:Ctrl+Shift+Alt+J****或者:Shift+F6**原创 2019-06-25 20:03:29 · 11482 阅读 · 2 评论 -
python字符串的使用方法
字符串的编码使用内置函数ord()可把字符转换为对应的Unicode码使用内置函数chr()可把十进制数字转换为对应的字符IDLE环境示例如下:>>> ord("a")97>>> ord("A")65>>> ord("笑")31505>>> chr(88)'X'>>> chr(66)...原创 2019-06-22 10:06:50 · 236 阅读 · 0 评论 -
python二进制 八进制 十六进制 进制转换问题 源码反码补码的问题 位运算符的使用
0b 表示二进制 0 10o 表示八进制 0 1 2 3 4 5 6 70x 表示十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f原创 2019-06-27 14:04:35 · 1527 阅读 · 0 评论 -
python 属性私有化问题 @property简化私有属性的访问方式
1,xx一般情况下使用的变量2,_xx 单下划线在某人模块中,如果变量是 _xx 形式的import 模块名 变量可正常使用但是 from 模块名 import * 的方式,变量无法使用3,__xx 双下划线类的私有属性/类的私有方法 只能在类的内部访问不能在类的外部直接访问,但是可以间接访问python解释器会对私有属性和私有方法进行 名字重整(改名)重整原则为:_类名_...原创 2019-06-27 15:40:06 · 535 阅读 · 2 评论 -
python 内置函数range() 内置函数map()的用法 内置函数filter() 内置函数sorted() 偏函数partial的使用 wraps的使用 reduce函数的使用
**1,range()函数的用法**python range() 函数可创建一个整数列表,一般用在 for 循环中一般语法为:range(start, stop[, step])参数说明:start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是...原创 2019-07-03 11:00:17 · 457 阅读 · 0 评论 -
python 生成器 迭代器 的区别
1)可迭代对象包含迭代器。2)如果一个对象拥有__iter__方法,其是可迭代对象;如果一个对象拥有next方法,其是迭代器。3)定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和next方法。4)具备可迭代性,那么就可以直接用for循环问题1:具备可迭代性的元素,就一定是迭代器吗?答案:不一定 验证如下:from collections im...原创 2019-09-21 20:02:12 · 256 阅读 · 0 评论 -
file文件操作相关的模块 文件的写入和读取 with上下文管理器
**1,文件的分类****2,文件操作相关模块概述****3,创建文件对象open()**1,open()用于创建文件对象2,语法格式为 open(文件名[,打开方式])3,为了减少“\”的输入,可以使用原始字符串:r“d:\b.txt”。例如:f = open(r"d:\b.txt",“w”)**4,文件的写入**文件的写入一般包含如下三个步骤:1,创建文件...原创 2019-07-26 19:38:58 · 634 阅读 · 0 评论 -
Python基础考试及答案
一. 选择题(每题1分,共20分)下列哪个语句在Python中是非法的? ( B )A. x = y = z = 1 B. x = (y = z + 1)C. x, y = y, x D. x += y2.关于Python内存管理,下列说法错误的是 ( B ) A. 变量不必事先声明 B. 变量无须先创建和赋值而直接使用 C. 变量无须指定类型 D. 可以使用del...原创 2019-07-25 18:41:29 · 34562 阅读 · 3 评论 -
python 元类--使用type动态创建类
**1,元类**1,类也是对象(属于元类的对象)可使用元类创建类#打印字符串(字符串是对象)print(helloworld)#打印类名,类同样为一个对象print(Person)2,使用动态创建类type(类名,由父类名称组成的元组可为空,包含属性的字典(名称和值))type(类名, (父类), {属性,方法})type的另一个作用是:查看目标对象的数据类型需求:创建...原创 2019-07-11 19:48:45 · 147 阅读 · 0 评论 -
python 多进程 进程间通信 进程池创建的进程间通信 使用进程池实现多任务 回调函数 多线程 创建线程的方式 线程生命周期 死锁 同步和异步 多线程中的生产者消费者问题 协程 并发下载器
程序是一个指令的集合进程是指正在执行的程序,或者说当你运行了一个程序,你就启动了一个进程----编写完的代码,没有运行时成为程序,正在运行的代码称为进程----程序是死的(静态的),进程是活的(动态的)对列Queue 先入先出 放到队列中的第一个消息是被第一个取出来的...原创 2019-07-05 18:54:04 · 341 阅读 · 0 评论 -
python 正则表达式 re模块之match的基本使用 匹配字符 数量表示 原始字符串 正则表达式之表示边界 正则表达式之匹配分组 正则表达式之高级用法 正则表达式之贪婪模式和非贪婪模式
**1,re模块之match的基本使用**1,可使用re模块,通过正则表达式对字符串进行匹配2,re.match函数 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。3,函数语法为:re.match(pattern, string, flags=0)4,参数说明pattern 匹配的正则表达式string 要匹配的字符串。fla...原创 2019-07-05 15:05:58 · 3937 阅读 · 0 评论 -
python 迭代器
**1,什么是迭代器?**1,能被next()访问,并不断返回下一个值的对象2,可迭代性 Iterablefrom collections import Iterablenum = 100if isinstance(num,Iterable): for i in num: print(i)else: print("num不具备可迭代性")结果为:...原创 2019-06-29 14:43:57 · 189 阅读 · 0 评论 -
python 生成器 访问生成器元素的方式 创建生成器的方式
**1,生成器**1,什么是生成器? genterator,记录一个算法,可以一边循环一边计算的一种机制2,原创 2019-06-29 11:00:20 · 3219 阅读 · 2 评论 -
Python 网络通信 IP地址 子网掩码 端口号 网络基础--协议 socket套接字编程 udp编程发送接收信息 echo服务--聊天室功能实现 udp编程-发送广播数据
**1,IP地址**C类网络:在同一个局域网中,最多只能连254台设备。(2的8次方,去掉0和255)(前提条件必须是在同一个网段中)B类网络:在同一个局域网中,最多只能连2的16次方,去掉0和255后的结果A类网络,网段号的数量为2的7次方...原创 2019-07-09 15:50:39 · 723 阅读 · 0 评论 -
python dir函数 dict方法 isinstance 类对象 类属性 类方法 静态方法 call方法 str方法 MRO函数 super() 多态 特殊方法 运算符方法 运算符的重载 特殊属性
**1,dir()函数可以获得对象的 所有 属性和方法 包含自定义的属性和方法**class Person: def test1(self): print("来呀快活呀") def test2(self): print("一边玩去")n = object() # object基类创建的对象i = Person() ...原创 2019-06-25 16:14:15 · 282 阅读 · 0 评论 -
python 怎么用一行代码实现二维列表(矩阵)的转置
需求如下:[[1,2,3], [4,5,6], [7,8,9]]转置后的效果为:[[1,4,7], [2,5,8], [3,6,9]]代码如下:list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]print([[i[j] for i in list1] for j in range(len(list1[0]))])运行效果如下:[[1,...原创 2019-06-25 14:41:07 · 2975 阅读 · 1 评论 -
python eval函数 递归函数 嵌套函数 内部函数 数据隐藏 nonlocal和global LEGB规则
**1,eval()函数 将字符串str当成有效的表达式来求值,并返回计算结果**语法为:eval(source[,globals [,locals]]) —>valuesource :一个python表达式 或者 函数 compile()返回的代码对象globals:可选 必须是dictionarylocals:可选 任意映射对象s = "print('abc')"ev...原创 2019-06-19 14:36:20 · 425 阅读 · 0 评论 -
phthon基础 标识符 变量命名规范 关键字 以及变量的删除 垃圾回收制
**标识符**标识符是由字母数字和“_”下划线组成注意:不能由数字开头注意:区分大小写另外,不能与python的保留字符原创 2019-06-14 15:01:00 · 150 阅读 · 0 评论 -
python 引用的本质 身份运算符 is 与 == 的区别 大小整数池 intern机制 内存管理之引用计数机制 内存管理之隔代回收机制
变量是对对象的引用变量存储的就是对象的地址变量通过地址引用了对象变量位于 栈内存对象位于 堆内存根据变量引用的对象 python解释器会自动确定数据的类型每个对象都有数据类型, 只支持该类型支持的操作(比如针对整数类型可以操作的方法,针对字符串可以操作的方法)...原创 2019-06-27 14:09:54 · 179 阅读 · 1 评论 -
python lambda表达式和匿名函数
**lambda表达式可用来声明匿名函数**1,lambda表达式只允许包含一个表达式。2,不能包含复杂语句。3,表达式的计算结果就是函数的返回值基本语法为:lambda 参数1,参数2,参数3… : 表达式f = lambda a, b, c: a + b + cprint(f)print(f(1, 2, 3))g = [lambda a: a * 2, lambda ...原创 2019-06-18 21:08:35 · 247 阅读 · 0 评论 -
python 参数的传递 传递可变对象和不可变对象 深拷贝和浅拷贝的内存分析
**1,传递可变对象**b = [10, 20]print(id(b))def test(m): # b和m是同一个对象 m.append(30) # 由于m是可变对象 ,在函数中不创建新的对象拷贝。可直接调用append()方法修改这个对象 print(m, id(m))test(b)print(b, id(b))**2,传递不可变对象**...原创 2019-06-18 20:35:21 · 294 阅读 · 0 评论 -
python异常的捕获处理 try-except-else-finally return语句和异常处理问题 传递性主动抛出异常 自定义异常类 常见异常汇总 traceback模块 异常信息写入日志文件
**1,异常的捕获以及多个except的用法**except方法使用1 语法格式如下try:可能会出现问题的代码except:如果出现问题会执行except下方的代码示例代码如下:try: a = int(input("请输入一个被除数:")) b = int(input("输入一个除数")) c = a / b print("结果为%g"...原创 2019-06-13 19:35:52 · 811 阅读 · 0 评论 -
python基础 // 与 / % 的区别
“ // ” 表示整数除法,返回整数“ / ” 表示浮点数除法,返回浮点数 (即小数)“ %” 表示取余数示例代码如下:pycharm环境下可直接运行使用a = 321b = a//100c = a//10 % 10d = a % 10print("百位数是%d" % b)print("十位数是%d" % c)print("个位数是%d" % d)输出结果如下图:...原创 2019-06-13 17:02:09 · 36595 阅读 · 2 评论 -
python基础 多点坐标 绘制折线图 计算两点距离
1,导入turtle模块2,导入math模块3,调用math.sqrt()开平方的方法4,write()方法写入计算的距离示例代码如下,IDLE环境下可直接运行import turtleimport mathx1,y1 = 100,100x2,y2 = 100,-100x3,y3 = -100,-100x4,y4 = -100,100turtle.penup()turt...原创 2019-06-14 17:10:40 · 2842 阅读 · 0 评论 -
python 如何快速的将字典中的键与值互换
**可使用字典推导式**例如 n = {1: “a”, 2: “b”} 通过互换键和值使其输出结果改为 {‘a’: 1, ‘b’: 2}示例代码如下:n = {1: "a", 2: "b"}new = {v: k for k, v in n.items()}print(new)运行结果为:n = {1: "a", 2: "b"}new = {v: k for k, v in...原创 2019-06-19 18:45:19 · 9745 阅读 · 0 评论 -
python 编写一个银行卡类,具有账号,人名与余额属性。编写提款机类,接收一张银行卡,并且具有存款,提款,查询余额,转账功能
class BankCard: def __init__(self, account, name, balance): self.account = account self.name = name self.balance = balance def save_money(self, money): self.ba...原创 2019-06-24 20:06:58 · 8707 阅读 · 3 评论 -
python 设计单张扑克牌类Card 设计整副扑克牌类Cards
需求如下:编写程序,设计单张扑克牌类Card,具有花色,牌面与具体值。同时设计整副扑克牌类Cards,具有52张牌。红桃、黑桃、方片、草花 2345678910JQKA♥♠♦♣设计一个发牌的函数,可以任意发出三张牌。对任意三张牌断定牌的类型。类型包括:三条:三张牌value一样一对:两张value一样顺子:三张牌挨着同花:三张牌type一样同花顺:挨着,类型一样其余都是...原创 2019-06-24 22:09:54 · 3245 阅读 · 0 评论 -
python map函数 怎么自定义map函数再自己调用一下
**1,map函数的基本用法**1,map()函数是python的内置函数2,map() 函数语法:map(function, iterable, …) function:函数 。 iterable: 一个或多个序列3,第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。4,python3中map...原创 2019-06-25 14:18:31 · 3653 阅读 · 0 评论 -
python推导式创建序列 列表推导式 字典推导式 集合推导式 生成器推导式
1,列表推导式生成列表对象语法为:[表达式 for item in 可迭代对象]或者:[表达式 for item in 可迭代对象 if 条件判断]>>> [a for a in range(1,5)][1, 2, 3, 4]>>> [x*2 for x in range(1,5)][2, 4, 6, 8]>>&...原创 2019-06-17 20:40:29 · 353 阅读 · 0 评论