Python
爱跑步的george
北京邮电大学
展开
-
python16:面向对象
面向对象编程 类 class 和 对象 object什么是对象(物体,实例) 一切皆对象(世界万物是由对象组成的)什么是面向对象 把一切看成对象(实例), 用程序建立对象和对象的关联关系什么是类: 类是用来描述对象的工具,用类可以创建一个或多个同类对象车(类) —–> BYD F6(京A 88888) 实例(物体,对象) \ ...原创 2018-06-20 15:49:31 · 680 阅读 · 0 评论 -
快速创建dict()
(一)直接赋值创建:dic1={'a':1,'b':2,'c':3,'d':4,'e':5}print(dic1)(二)通过关键字dict和关键字参数创建dic = dict(a = 1, b = 2, c =3)(三)通过二元组列表创建list = [('a', 1), ('b', 2), ('c', 3)]但是,我感觉在编程过程中最常用的方法是:dict和zip结合创建...原创 2018-12-29 23:53:46 · 664 阅读 · 0 评论 -
python if是如何判断true或False的呢? is和== 有什么区别呢?
Python中的is和的区别,is判断值是否相等,id判断地址是否一致Python中的is和的区别Python中的对象包含三要素:id、type、value。其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值。is判断的是a对象是否就是b对象,是通过id来判断的。==判断的是a对象的值是否和b对象的值相等,是通过value来判断的。那么问题来了[]作为 一个空...转载 2019-01-04 20:44:36 · 32554 阅读 · 0 评论 -
Python官方文档——内置函数解释
Python官方文档——内置函数链接原创 2019-01-04 20:46:48 · 697 阅读 · 0 评论 -
你有没有在Python里见到过有序的字典呢
很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类OrderedDict,实现了对字典对象中元素的排序。请看下面的实例:import collectionsprint "Regular dictionary"d={}d['a']='A'd['b']='B'd['c']='C'...原创 2018-12-31 21:30:53 · 133 阅读 · 0 评论 -
来做个python小实验,比较list和dque的效率
list.pop(0) deque.popleft()import timeimport collectionsl = [i for i in range(100)]l1 = [i for i in range(10000)]l2 = [i for i in range(100000)]d = collections.deque(l)d1 = collections.deque(...原创 2019-01-02 10:36:35 · 328 阅读 · 0 评论 -
python的地板除和除有什么区别吗? // 和 /
非常小的细节100/2Out[3]: 50.0100//2Out[4]: 50原创 2019-01-07 15:56:43 · 14405 阅读 · 1 评论 -
python 集合set为什么不能添加list,dict,set,但是可以添加tuple,constant
由于set中的元素必须是唯一(即hashable类型),因此必须是不可变类型的,不可变类型:tuple ,constant可变类型:list dict set同理字典的key也不能为不可变类型。所以归根结底,还是可变与不可变类型的问题。...原创 2019-01-16 19:24:50 · 8536 阅读 · 1 评论 -
python insert函数可以插入不存在的index
>>> a = []>>> a.insert(3,1)>>> a>>>[1]406. Queue Reconstruction by Height可以做一下上边的题来练习一下原创 2019-01-16 20:58:56 · 1146 阅读 · 0 评论 -
python 列表函数传参——复制方法data和data[:]
data[:]相当于重新拷贝一个列表,列表是可变对象如果直接引用传参给函数,则会导致修改其中任意一个变量,其余变量相应改变。但是,通过这种方式可以避免这种情况。>>> b[1, 3]>>> b[1, 3]>>> c=b>>> c[1, 3]>>> b.append(2)>原创 2019-02-05 18:06:15 · 12975 阅读 · 0 评论 -
python的leetcode效率细节
279. 完全平方数下面两端代码,第一个通过,第二个不通过以下两个问题待解决,问题1:dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,问题2:为什么要加,号,为什么self.dp和在函数中直接命名dp效率差别这么大呢?class Solution(object): _dp = [0] def...原创 2019-04-16 21:36:37 · 228 阅读 · 0 评论 -
python2和python3的 leetcoed刷题效率对比
474. 一和零下面这段代码在python2中可以通过,但是在python3中没有通过,所以python2和python3的效率差别在哪里呢?class Solution(object): def findMaxForm(self, strs, m, n): """ :type strs: List[str] :type m: int ...原创 2019-04-17 11:02:37 · 1733 阅读 · 0 评论 -
pygame快速入门
pygame 快速入门目标项目准备使用 pygame 创建图形窗口理解 图像 并实现图像绘制理解 游戏循环 和 游戏时钟理解 精灵 和 精灵组项目准备新建 飞机大战 项目新建一个 hm_01_pygame入门.py导入 游戏素材图片游戏的第一印象把一些 静止的图像 绘制到 游戏窗口 中根据 用户的交互 或其他情况,移动 这些图像,产生动画效果根据 图像之间 是...原创 2019-05-29 11:15:10 · 493 阅读 · 0 评论 -
我们一起学python——Tutorial学习法
1、The Python Language Reference¶这个文档主要讲python的主要语法和核心语义2、The Python Standard Library这个文档是承接1中的内容,主要讲python其他标准库的3、The Python Tutorial这个是简短但是非正式的教程。4、Extending and Embedding the Python Interprete...原创 2019-01-03 21:21:15 · 331 阅读 · 0 评论 -
for I in [] or [1,2,3] 这种用法你肯定没见过吧
1. [] or [1,2,3] for i in [] or [1,2,3]: print(i)将会输出1,2,32.[1,2,3] or [] for i in [1,2,3] or [] print(i)将会输出1,2,33.[1,2,3] and []for i in [1,2,3] and []: print(i)将会输出空值4.[4,5,...原创 2019-01-03 17:21:32 · 12904 阅读 · 2 评论 -
deep_Thinking_python 由函数对象和类对象引发的思考
如果下面函数第三行注释掉,则运行报错,如果不注释掉,则正常运行。原因是用函数名创建的全局变量与函数对象def TestVariableScope(): TestVariableScope.a=13TestVariableScope()print(TestVariableScope.a)实例化之后,还可以修改def TestVariableScope(): TestVa...原创 2018-12-27 22:49:15 · 127 阅读 · 0 评论 -
python3 yield实现斐波那契数列
def fab(max): n,a,b = 0,0,1 while n < max: yield a+b a,b = b,a+b n += 1for i in fab(5): print(i)原创 2018-06-20 17:24:55 · 1180 阅读 · 0 评论 -
python3 同时读取两个文件
with open('a.txt') as f1: with open('b.txt') as f2: for line1 in f1: for line2 in f2: print(line1+line2)原创 2018-06-20 17:25:44 · 9016 阅读 · 2 评论 -
python 父子进程分别拷贝文件上下两部分
import ossize = os.path.getsize('fork.py')pid = os.fork()if pid < 0: print('不想动')#子进程拷贝前半部分elif pid == 0: n = size // 2 fw = open('child','w') with open('fork.py','r') as f: ...原创 2018-08-19 21:14:18 · 512 阅读 · 0 评论 -
Python 项目一 FTP服务器
server端from socket import *import osimport timeFILE_PATH = 'usr/bin'class FtpServer(object): def __init__(self, connfd): self.connfd = connfd def do_list(self): filelist = os.listdir(F...原创 2018-08-17 10:24:58 · 199 阅读 · 0 评论 -
python之yield
python之yieldhttp://www.runoob.com/w3cnote/python-yield-used-analysis.html转载 2018-09-27 15:23:22 · 103 阅读 · 0 评论 -
正则表达式
正则表达式http://deerchao.net/tutorials/regex/regex.htm#negativelookaround转载 2018-09-27 15:45:02 · 81 阅读 · 0 评论 -
python强大的format格式占位符
https://www.cnblogs.com/wongbingming/p/6848701.html转载 2018-10-23 14:49:25 · 2956 阅读 · 0 评论 -
python3 copy和deepcopy
copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。 首先直接上结论: —–我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。 —–而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打...原创 2018-11-20 22:04:06 · 3997 阅读 · 0 评论 -
python3 re模块findall和finditer
import reS = "abcdddeeeeaabbbcd"pattern = re.compile(r'(\w)\1')res = pattern.findall(S)result = [[r.start(), r.end() - 1] for r in re.finditer(r'(\w)\1{2,}', S)]test = re.finditer(r'(\w)\1{1,}',S...原创 2018-11-21 10:13:17 · 1309 阅读 · 0 评论 -
python类属性 实例属性 一般属性
import timeclass Solution: c = 99 ##类属性 # print('find',self.c) def exist(self): """ :type board: List[List[str]] :type word: str :rtype: bool...原创 2018-12-11 09:16:35 · 185 阅读 · 0 评论 -
一种有坑的列表初始化方式
a = [0*10]*10b =[ [0 for i in range(10)] for j in range(10)]看起来a,b没有什么太大的差别,实际呢,a中的每一列都同时变化,也就是a中的每一列元素只是用了一个元素的内存地址而b中的而每一个元素都有自己的存储空间,所以进行如下两个操作之后结果迥异a[1][1]=3 a[1]=[3,3,3,3,3,3,3,3,3,3]b[1][...原创 2018-12-11 09:20:45 · 98 阅读 · 0 评论 -
python LEGB变量作用域规则
先看下面这段代码,显然无法work. 因为代码试图在TestVariableScope()中引用一个没有被定义的变量a.所以必须报错,如下图-1.不过如果你将第2行代码注释掉。代码就能跑通了,如图-2。问题1来了:TestVariableScope.a 不是也没有被定义吗,为什么可以work呢?解释如下:先看代码第8行,TestVariableScope.a在SetVariable方法中被定义...原创 2018-12-27 22:15:09 · 420 阅读 · 0 评论 -
python 与或非 位运算与或非
and or这是用于找逻辑关系的 比如1 and 2 4 and 5 结果分别为2,5& ^ ~这是用于位运算的 1 &2=0 1^2=3原创 2019-06-04 10:28:02 · 37077 阅读 · 0 评论