自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

python学习者的博客

人生苦短,我用python

  • 博客(46)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

转载 Python3 函数式编程自带函数

一 map函数引子需求1:num1=[1,2,3,4],我的需求是把num1中的每个元素平方后组成新列表。ret = []num1 = [1,2,3,4]for i in num1: ret.append(i**2) print(ret) # 输出结果:>>>[1, 4, 9, 16]需求2:如果有1万个列表呢,怎么办?思路:如果用for循环,当然功能上是没问题的,但是需要写很多重复代码,重复代码?? 顿时想到函数的特性就是避免重复代码,哈哈哈,天才也…

2021-02-28 15:11:11 39

转载 Python3 解压序列

一 普遍情况:x,y,z = 1,2,3 print("x:",x)# x:1print("y:",y)# y:2print("z:",z)# z:3二 针对元祖:name = ("qiaobushi","wanglihong","leibushi")x,y,z = name print(name)print("x:",x)print("y:",y)print("z:",z)'''运行结果('qiaobushi', 'wanglihong', 'leibushi')

2021-02-28 15:07:03 37

转载 整理了31道python3基础练习题

1、 执行 Python 脚本的两种方式1)/usr/bin/python3 xx.py2)python3 xx.py #注xx.py需要在内容里面调用由什么解释器执行2、 简述位、字节的关系1Byte = 8bit1bit 表示某个二进制 0 13、 简述 ascii、unicode、utf-8、gbk 的关系最初计算机是由美国发明的,计算机需要一套相应的字符编码集ascii,来表示英文字符后来中国也表示也用来计算机,也需要一套字符编码集来表示汉字字符,也就是gbk由于各国需要用计算机

2021-02-28 14:59:49 140

转载 Python基础教程:keys()、values()和 items()方法

有3个字典方法,它们将返回类似的列表值,分别对应于字典的键、值和键-值对:keys()、values()和 items()。这些方法返回的值不是真正的列表,它们不能被修改,没有append()方法。但这些数据类型可以用于for循环。1、values()方法,示例代码:spam = {'color': 'red', 'age': 42}for v in spam.values(): print(v)运行结果:red42这里,for循环迭代了spam字典中的每个值。2、keys()

2021-02-27 16:11:59 82

转载 Python教程:shelve模块保存变量

1、shelve模块,shelve.open()方法,示例代码:import shelve,os#使用shelve.open(),打开一个文本文件shelfFile = shelve.open('mydata')#定义初始化数据列表cats = ['Zophie', 'Pooka', 'Simon']#把初始化列表赋给shelfFileshelfFile['cats'] = cats#关闭shelfFileshelfFile.close()#打开shelfFileshelfFile =

2021-02-27 15:24:25 42

转载 Python教程:zipfile模块压缩文件

1、读取zip文件要读取 ZIP 文件的内容,首先必须创建一个 ZipFile 对象(请注意大写首字母 Z和 F)。ZipFile 对象在概念上与 File 对象相似,你可能已经知道open()函数返回 File 对象:它们是一些值,程序通过它们与文件打交道。要创建一个 ZipFile对象,就调用 zipfile.ZipFile()函数,向它传入一个字符串,表示.zip文件的文件名。请注意,zipfile 是 Python 模块的名称,ZipFile()是函数的名称。ZipFile()函数,读取文件,示

2021-02-27 15:18:54 66

转载 Python字符串:各种奇葩的内置方法

一、字符串的秘密学习了列表和元组,我们知道了分片的概念,事实上也可以应用于字符串上:>>> str1 = "I love zww">>> str1[:6]'I love'在python中没有字符这个类型,在Python看来,所谓字符,就是长度为1的字符串。当要访问字符串的其中一个字符的时候,只需要索引列表或元组的方法来索引字符串即可:>>> str1[5]'e'字符串和元组一样,都是属于"一言既出、驷马难追"的家伙。所以一旦定下来就不

2021-02-27 15:14:38 37

转载 Python函数的几个要点

函数可接受任意数量参数的函数位置参数 和 关键字参数为了能让一个函数接受任意数量的位置参数,可以使用一个*参数.def avg(first, *r): return (first + sum(r)) / (1 + len(r))print(avg(1,2,3,4,5,6)) #3.5为了接受任意数量的关键字参数,使用一个以**开头的参数。比如:def make_element(x, **a): key = ['%s = "%s" ' % item for item

2021-02-27 15:09:38 23

转载 Python列表的增删改查

列表的增:li = ['libai','sushi','dufu','sushi',"白居易"]第一种:append():向列表末尾追加元素li.append('diaochan')print(li)# 不能直接打印print(li.append('diaochan'))第二种:insert():指定插入位置# 将'诗人'这个元素插入第三个位置li.insert(2,'诗人')第三种:extend():迭代追加li.extend('abcd') #将组成字符串abcd的每个

2021-02-26 15:53:44 23

转载 Python教程:__iter__和__next__

__iter__(self)和__next__(self)Python中for循环的原理就是调用可迭代对象的__iter__方法得到迭代器对象,然后调用__next__方法进行取值,直到对象抛出StopIteration异常。某些语言例如go,即支持迭代循环,也支持索引循环。自定义一个可迭代对象模拟range:class Range: def __init__(self,start,stop,step=1): self.start = start self.st

2021-02-26 15:46:47 31

转载 Python教程:hashlib和hmac模块

hashlib模块这个模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口。该算法接收传入的内容,经过运算得到一串hash值此模块中总是可用的哈希算法构造器有md5, sha1(), sha224(), sha256(), sha384(), sha512(), blake2b() 和 blake2s()。hash值的特点1、只要传入的内容一样,得到的hash值必然一样=========>>文件传输完整性校验。2、不能由hash值反解成内容==========>> 把密

2021-02-26 15:44:20 34

转载 Python教程:zipfile和tarfile模块

zipfile压缩解压缩形参 mode 应当为 ‘r’ 来读取一个存在的文件,‘w’ 来截断并写入新的文件, ‘a’ 来添加到一个存在的文件。ZipFile 也是一个上下文管理器,也支持with语句。解压时可指定密码,密码必须是bytes类型。import zipfile# 压缩z = zipfile.ZipFile('t.zip', 'w') # t.zip表示压缩后的文件名z.write('a.log') # 要打包压缩的文件z.write('data.data')z.close()

2021-02-26 15:33:03 45

转载 python 删除特定字符所在行

查询文件中含有特殊字符串的行#!/usr/bin/python# -*- coding:utf-8 -*-import refile1 = open('test.txt','r+')istxt = re.compile(r'.*if.*',re.I)for line in file1.readlines(): line = line.strip() ifstr = re.findall(istxt,line) if ifstr: print ifstr删除特定行(创

2021-02-25 15:13:05 215

转载 python 把函数的值赋给变量

一个是模块的调用和一个自定义函数返回值赋值给变量编写一个简单的函数模块:def run(name): list1 = 'hello ' + name return list1编写一个调用的脚本:'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''import sysimport osreload(sys)sys.setdefaultencodi

2021-02-25 14:57:17 139

转载 python的三个函数map、filter、reduce详解

map 和 filter 函数属于内置函数,reduce函数在python2 中是内置函数,从python3开始移动到了functools模块中,使用时需要先导入模块课1.遍历函数(map)针对每个元素进行操作,最终获取新的序列>>> li=[11,22,33] >>> map(lambda a:a+100,li)[111, 122, 133]2.筛选函数(filter)对序列中的元素进行筛选,最终获取符合条件的序列'''遇到问题没人解答?小编创建

2021-02-25 14:55:11 34

转载 python中2个字典比较

用到的两个函数:set() 函数:创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。cmp(x,y) 函数:用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 11.列出不同的键值import os, sysimport rereload(sys)sys.setdefaultencoding("utf8")dct0 = {"name":"zhang","age":"23"}dct1

2021-02-25 14:53:25 81

转载 python 两种排序方法 sort() sorted()

python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法区别为:sort()方法对list排序会修改list本身,不会返回新list。sort()只能对list进行排序。sorted()方法会返回新的list,保留原来的list。sorted 可以对所有可迭代的对象进行排序操作。sort语法:list.sort(cmp=None, key=None, reverse=False) cmp – 可选参数, 如果指定了该参数会使用该参数的方法进

2021-02-25 14:35:31 56

转载 Python教程:抽象类与归一化

继承的两种用途:1.继承基类的方法,并且做出自己的改变或者扩展(代码复用)2.声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能。一、什么是抽象类与java一样,python也有抽象类的概念,但是需要借助模块实现。抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化。抽象类与普通类的不同之处在于:抽象类中只能有抽象方法(没有实现功能),该类不能被实例化,只能被继承,且子类必须实

2021-02-24 15:52:15 18

转载 Python教程:绑定方法与非绑定方法

一、绑定方法1.对象的绑定方法首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑定方法的应用。class People: def __init__(self,name,age): self.name = name self.age = age def talk(self): pass p = People('xiaohua',18)print(p.talk)'''

2021-02-24 15:50:03 26

转载 Python中的del用法

python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。python的del不同于C的free和C++的delete。由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。if __name__ == '__main__': a = 1 # 对象 1 被 变量a引用,对象1的引用计数器为1 b = a # 对象1 被变量b引用,对象1的引用计数器加

2021-02-24 15:45:53 82

转载 Python教程:optparse—命令行选项解析器

先观察以下一段代码:# 先导入类并实例化from optparse import OptionParseroptParser = OptionParser()optParser.add_option('-f','--file',action = 'store',type = "string" ,dest = 'filename')optParser.add_option("-v","--vison", action="store_false", dest="verbose",

2021-02-24 15:40:44 18

转载 Python 的类其实是一个特殊的对象

Python 中的类是一个特殊的对象。Python 中一切皆对象:class AAA:定义的类属于类对象。obj1 = AAA(): 属于实例对象。在程序运行时,类同样会被加载到内存,类是一个特殊的对象——类对象。类对象在内存中只有一份,使用一个类可以创建出很多个对象实例。除了封装实例的属性和方法外,类对象还可以拥有自己的属性和方法。通过 ‘类名.’ 的方式可以访问类的属性或者调用类的方法。一、类属性类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征,类属性不会用于记录具体

2021-02-23 15:17:20 23

转载 Python 中多线程共享全局变量的问题

在之前,我们讲过了,Python 中多个线程之间是可以共享全局变量的数据的。但是,多线程共享全局变量是会出问题的。假设两个线程 t1 和 t2 都要对全局变量g_num (默认是0)进行加1运算,t1 和 t2 都各对g_num 加10次,g_num 的最终的结果应该为20。但是由于多线程是同时操作,有可能出现下面情况:在g_num=0时,t1 取得g_num=0。此时系统把 t1 调度为”sleeping”状态,把t2转换为”running”状态,t2 也获得 g_num=0。然后 t2 对得到

2021-02-23 15:09:22 53

转载 Python 中进程和线程的用法基本一样

一、进程的创建我们先来回忆下之前多线程的实现。import threadingimport timedef test1(): while True: print("1------") time.sleep(1)def test2(): while True: print("2------") time.sleep(1)def main(): t1 = threading.Thread(target=te

2021-02-23 15:03:58 21 1

转载 python基础教程:五种常用数据类型

一、什么是数据类型其实可以明白数据类型指的就是变量值的不同类型,姓名可能是一种数据类型、年龄可能是一种数据类型、爱好可能又是另一种数据类型二、为何对数据分类变量的是用来反映状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识。三、不同数据类型[数字类型][字符串类型][列表类型][字典类型][布尔类型]数字类型整型(int)1.1 作用表示人的年龄、各种号码、级别1.2 定义age = 18 # age=int(18)print(

2021-02-23 14:48:30 46

转载 Python对文件的操作

在Windows中,我们可以很容易地创建、修改和删除文件。我们熟悉的文件类型也有很多:txt、mkv、mp3、docx…在Python中,我们依旧可以执行创建、修改和删除文件的操作。下面一起来看:1、示例我们可以先在python.exe所在目录,我的目录是C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32,新建一个txt文档,写入一些内容。file=open("sample111.txt",'r')lines=file.

2021-02-23 14:20:55 30

转载 Python __new__类方法和 __init__实例方法以及单例模式的简单讨论

“Python 中的类都是单例模式?” 一天,一同事问我这样一个问题。这是一个奇怪的问题,可能你也这么认为。这里先不做解释,我们先来看看__new__ 和 __init__ 方法。__new__ 与 __init____new__ 方法属于新式类,即属于 object 类。它是一个静态方法,但是其第一个参数必须是一个类(cls),这有点像一个 classmethod,其实将其看成是一个类方法也可以。该特殊方法被调用时,会创建类(cls)的一个新实例并返回,实例被创建后解释器会将该实例以及其它的参数传

2021-02-22 15:09:09 26

转载 Python 快速统计数据的去重数和去重数据

之前用 Python 写过一个脚本,用来处理上千万用户的一些数据,其中有一个需求是统计用户的某一数据的去重数量。为了加快程序的速度,我启用了多进程。但不幸的是,程序跑了近一个星期,还没处理完。这时,我感觉到了不对,于是开始查看程序的性能瓶颈。对于统计去重数,我是将用户的数据放到一个列表中,然后用 len(set(data)) 去统计去重数量。刚开始我以为这的数据量并不大,每个用户的数据不会过百,我并没有注意到有的用户会有上万条的数据,因此消耗了大量的时间(其实我的脚本消耗时间最大的地方是因为从远程 red

2021-02-22 15:01:03 138

转载 Python 面向对象编程的一些知识点总结

类与实例类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息。类、属性和方法命名规范类名通常由大写字母打头。这是标准惯例,可以帮助你识别类,特别是在实例化过程中(有时看起来像函数调用)。还有,数据属性(变量或常量)听起来应当是数据值的名字,方法名应当指出对应对象或值的行为。另一种表达方式是:数据值应该使用名词作为名字,方法使用谓词(动词加对象)。数据项是操作的对象、方法应当表明程序员想要在对象进行什么操作。在定义的类中,大致遵循这样的方针,数据值像 “name”, “phon

2021-02-22 14:59:42 37

转载 谈谈 Python 中的连接符(+、+=)

假设有下面一段代码:a = [1, 2, 3, 4]b = [5, 6, 7, 8, 9]c = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]for item in (a, b, c): item += [0] * (10 - len(item))print aprint bprint c这段代码的意思是,有三个列表,需要在长度不为 10 的列表尾部填充 0,让其长度变为10。输出如下:[1, 2, 3, 4, 0, 0, 0, 0, 0,

2021-02-22 14:43:31 99

转载 Python 操作 MySQL 的5种方式

不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实际开发过程中根据实际情况合理选择。1、MySQLdbMySQLdb又叫MySQL-python ,是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常

2021-02-21 15:12:00 33

转载 python实现可以被with上下文管理的类或函数

开始之前先明确一下with机制1.类包函数__enter__()和__exit__()函数,即是可以被上下文管理的类__enter__用来执行with时的方法,__exit__返回对象给with的as 对象2.通过函数实现要用到contextmanager装饰器与yield关键字一、通过类来实现支持whith上下文管理功能class fp(object): def __init__(self, fileobj, mode): self.fileobj = open(fileobj, m

2021-02-21 15:07:28 16

转载 python集合set,交集,并集,差集,对称差集,子集和超集

python集合set,交集,并集,差集,对称差集,子集和超集x = {1, 2, 3, 4}y = {2, 4, 5, 6}# 交集(取x中与y中相同部分)print(x.intersection(y))print(x & y)# 并集(去重合并)print(x.union(y))print(x | y)# 差集(x在y中不同部分,相反)print(x.difference(y)) # {1, 3}print(y.difference(x)) # {5,6}print

2021-02-21 15:05:28 139

转载 Python 内置函数sorted()在高级用法

1.对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的。2.主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表。而内建函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作.再来,让我们用Python自带的帮助函数help()看看对于sorted()是怎么定义的: >>>help

2021-02-21 14:52:23 26

转载 python对象之间的交互

先看看一般的类定义如下:class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 def 方法名(self):pass def 方法名2(self):pass对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西 #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法

2021-02-20 15:50:53 46

转载 python raise异常处理

一般最简单的异常处理是try except:try: f = open('test.txt')except Exception as e: print(e)finally: f.close()自己也可以用raise自定义异常:class CustomError(Exception): def __init__(self, ErrorInfo): self.errorinfo = ErrorInfo def __str__(

2021-02-20 15:48:00 29

转载 python __del__() 清空对象

python垃圾回收机制:当一个对象的引用被完全清空之后,就会调用__del__()方法来清空这个对象当对象的引用没有被完全清空时,代码如下:class C(): def __init__(self): print('调用构造器创建对象') def __del__(self): print('销毁创建的对象')c1 = C()c2 = c1c3 = c1print('====================================='

2021-02-20 15:45:10 32

转载 Python比较2个json数据是否相等

1、json数据转换成字典dict1 = json.load(load_f1)dict2 = json.load(load_f2)2、将两个字典按key排好序,然后使用zip()函数将两个字典对应的key打包成元组。比较对应的key的value是否相等。for src_list, dst_list in zip(sorted(dict1), sorted(dict2)): if str(dict1[src_list]) != str(dict2[dst_list]): pr

2021-02-19 16:40:15 186

转载 Python:lambda表达式的两种应用场景

01.lambda表达式python书写简单,功能强大, 迅速发展成为 AI ,深度学习的主要语言。介绍Python中的lambda表达式,注意到,它只是一个表达式,不是语句啊。lambda的语法规则: 一个或多个参数以冒号终止输入参数,这些参数可以理解为有名函数原型的输入参数,以后是一个表达式,相当于有名函数的函数体部分。lambda的函数体部分,是作为返回值输出部分。02.场景1:map 和 reducePython 中的 map 和 reduce,再结合 lambda表达式的话,使用起来会更加

2021-02-19 16:28:21 31

转载 Python 字典删除元素clear、pop、popitem

同其它python内建数据类型一样,字典dict也是有一些实用的操作方法。这里我们要说的是字典删除方法:clear()、pop()和popitem(),这三种方法的作用不同,操作方法及返回值都不相同。接下来就来查看下这些字典特定方法的具体用法是什么。字典clear()方法clear()方法是用来清除字典中的所有数据,因为是原地操作,所以返回None(也可以理解为没有返回值)>>> x['name'] = 'lili'>>> x['age'] = 20>&g

2021-02-19 16:23:01 30

Python制作超级玛丽源码

本代码是用Python制作超级玛丽小游戏的代码,仅供学习参考

2032-12-26

Python制作的推箱子小游戏.zip

用Python制作的推箱子游戏,内附源码,解压后就可以用,没有打包,仅供学习参考! 人生苦短,我用Python!

2020-03-31

MHyourh的留言板

发表于 2020-01-02 最后回复 2020-03-25

空空如也

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

TA关注的人 TA的粉丝

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