![](https://img-blog.csdnimg.cn/20191005161407984.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python高级
托尼stark
你能从现在开始改变,也可以一成不变。
展开
-
Python调用百度API语音识别实现一个简单的语音识别程序
之前在网上看到一个题目使用语音控制你的浏览器,感觉挺有意思的,就想着实现一个简单的语音识别程序,这里我选择的是百度语音识别,还有好多不错的如科大讯飞等都可以使用。语音识别过程分为三个部分:1)录音2)获取参数access token,有效期为一个月(开发文档)3)上传录音文件1.首先你需要一个注册一个百度账号,进行登录,可以直接使用注册过的百度网盘账号进行登录,登录的网址在...原创 2019-10-06 18:22:55 · 3289 阅读 · 0 评论 -
从简单的案例搞懂python中的yield
你应该知道带有yield关键字的函数不再是一个简单的函数,而是一个生成器generator,那啥叫生成器呢?生成器简单说生成器就是迭代器,相应的它也是可以迭代的对象,但是它实现了一边循环,一边进行计算的这种机制。案例1.列表推导式:li=[i for i in range(10)]上述列表推导式实现了一个[0,1,2,3,4,5,6,7,8,9]这样一个列表,但是这个列表是...原创 2019-07-06 11:08:10 · 334 阅读 · 0 评论 -
一个通用装饰器及实际应用中的问题
先看一个一般的通用装饰器:def user(func): def wrapper(*args,**kwargs): return func(*args,**kwargs) return wrapper@userdef A(): print("A")@userdef B(): print("B")if __name__ == '...原创 2019-06-28 12:57:13 · 137 阅读 · 0 评论 -
Python中的copy()和deepcopy()由浅入深彻底解决深拷贝、浅拷贝
浅拷贝(copy.copy())是对一个对象的顶层(外层)拷贝,只是拷贝了引用,并没有拷贝内容。深拷贝(copy.deepcopy())是对一个对象深层的拷贝,不仅外层拷贝,内层也拷贝,保证了数据的独立性,有备份的效果。变量的赋值:事实上是地址的引用,它并不像C语言中为一个变量赋值就会该变量重新开辟一块新的内存空间,在python中变量的赋值实际上两者指向了同一块内存地址:变量的赋...原创 2019-04-20 11:03:47 · 323 阅读 · 0 评论 -
Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
先看一道GIL面试题:描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。GIL:又叫全局解释器锁,每个线程在执行的过程中都需要先获取GIL,保证同一时刻只有一个线程在运行,目的是解决多线程同时竞争程序中的全局变量而出现的线程安全问题。它并不是python语言的特性,仅仅是由于历史的原因在CP...原创 2019-04-19 18:19:17 · 15139 阅读 · 4 评论 -
线程及多任务详解(一)
多任务,简单来说就是操作系统可以同时运行多个任务,比如你一边用浏览器浏览着网页,一边使用音乐播放器听歌,还一边修改着word文档,除此之外,还有许多应用程序同时在后台运行着,只是桌面没有显示。对于现在的电脑,多核CPU已比较常见了,即使之前的单核CPU也可以实现多任务,只不过单核CPU中操作系统让各个任务交替执行,事实上比如让任务一执行0.001秒,然后再让任务二执行0.001秒,接...原创 2019-04-18 23:33:09 · 330 阅读 · 0 评论 -
python中with与上下文管理器
上下文管理器:任何实现了__enter__()和__exit__()方法的对象都可以称之为上下文管理器上下文管理器对象可以使用with关键字,显然文件(file)对象也实现了上下文管理器。# with与上下文管理器:# 正确关闭一个文件 1.普通版def m1(): f = open("output.txt", "w") f.write("python 蟒蛇") ...原创 2019-04-22 23:12:20 · 226 阅读 · 0 评论 -
Python正则表达式案例
案例一:匹配用户输入的邮箱地址是否正确邮箱地址要求:6-18个字符,可使用字母、数字、下划线,但需要以字母开头。import redef check_Email(): # gdsg@qq.com,@mi.com,@t.tt,@tyywqeyu.com.cn email = input("请输入邮箱的地址:") #如果在正则表达式中用到了某些字符如 . 或者 ...原创 2019-04-15 14:09:53 · 616 阅读 · 0 评论 -
python中魔法属性(魔术方法)与property属性
1 __doc__:表示类的描述信息class Foo: """描述类的信息""" def fun(self): passprint(Foo.__doc__)2 __module__:表示当前操作的对象在那个模块,__class__:表示当前操作的对象的类是什么#test.py#coding=utf-8class Person(objec...原创 2019-04-22 23:12:58 · 458 阅读 · 0 评论 -
使用互斥锁解决线程资源竞争问题
使用互斥锁解决线程资源竞争: 什么是线程? 可以简单理解为同一进程中有多个计数器,每个线程的执行时间不确定,而每个进程的时间片相等,线程是操作系统调度执行的最小单位.线程的创建步骤:import threading# 创建一个线程对象t1 = threading.Thread(target=func_name, args=(num,), name=”子线程名字”)...原创 2019-04-13 22:47:00 · 355 阅读 · 0 评论 -
python协程多任务爬取虎牙美女主播图片
使用正则、协程多任务爬取虎牙海量美女图片,斗鱼也一样,只需将正则表达式中的内容换一下即可,由于斗鱼网站的变化,之前的正则已用不了,现贴出新的:re.findall(r"https://[^(\s|\"|})]*?\.jpg",url_content)1.首先打开百度搜索虎牙,进入虎牙官网:点击颜值选项进入都是妹子的界面:2.鼠标单击右键,选择查看网页源码,如下:...原创 2019-04-13 21:30:53 · 1096 阅读 · 0 评论 -
AttributeError: 'tuple' object has no attribute 'decode'
python udpAttributeError: 'tuple' object has no attribute 'decode' 报错如图:元组没有属性'decode'我仔细检查了代码之后发现,在我的代码中:# udp发送消息send_msg = input("请输入要发送的消息:")udp_socket.sendto(send_msg.encode('utf-8'), (...原创 2019-04-09 19:32:16 · 23350 阅读 · 4 评论 -
python socket OSError: [Errno 9] Bad file descriptor
python socket OSError: [Errno 9] Bad file descriptor的解决办法:错误的原因是你执行了这句代码:udp_socket.close()即关闭了套接字对象之后,又调用了套接字对象,此时程序就会报OSError: [Errno 9] Bad file descriptor这种错误。仔细检查下你的代码,修改即可。...原创 2019-04-09 17:45:55 · 12378 阅读 · 4 评论 -
Python中http客户端从服务器获取指定的页面
import socketimport redef service_client(new_socket): """为这个客户端返回数据""" request = new_socket.recv(1024).decode("utf-8") # splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表 req...原创 2019-04-15 21:17:46 · 582 阅读 · 1 评论 -
python实现tcp客户端从服务端下载文件
通过在pycharm中创建两个.py文件,一个作为服务端,另一个作为客户端,实现客户端从服务端下载文件。客户端:文件下载器client.pyimport socketdef main(): # 1.创建套接字 tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.获...原创 2019-04-08 12:41:36 · 858 阅读 · 0 评论 -
网络TCP
为什么应该使用TCP协议? 1)可靠的:网络传输中丢失的数据包会被检测,并被重新发送。 2)有序传送:数据按发送者写入的顺序被读取。相反,使用 socket.SOCK_DGRAM 创建的 用户数据报协议 (UDP) Socket 是 不可靠 的,而且数据的读取写发送可以是无序的TCP协议,传输控制协议(英语:Transmission Control Protocol...原创 2019-04-08 11:38:10 · 294 阅读 · 0 评论 -
网络udp通信
网络udp概述:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议。一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。类似于日常生活中写信的场景,不需要建立链接,不关心发送结果。背景知识:Socket 有一段很长的历史,最初是在 1971 年被用于 ARPANET,随后就成了 1983 年发布的 Berkeley Software Dis...原创 2019-04-06 22:21:02 · 449 阅读 · 0 评论 -
python实现多任务udp聊天器
import socketimport threading# 接收消息def recv_msg(udp_socket): while True: recv_data = udp_socket.recvfrom(1024) print(recv_data[0].decode('utf-8'))# 发送消息def send_msg(ud...原创 2019-04-10 19:42:08 · 265 阅读 · 2 评论