Python知识点
阿Q咚咚咚
生活不易,唯有努力
展开
-
Python协程--实现斐波那契数列(Fibonacci)的几种方式
1.使用for遍历list数组# 使用for遍历list数组nums = list()a = 0 b = 1i = 0while i < 10: nums.append(a) a, b = b, a+b i += 1for num in nums: print(num)2.使用迭代器完成class Fibonacci(object)...原创 2019-11-09 15:51:31 · 235 阅读 · 0 评论 -
Python面试题总结(8)--操作类
1. 请写一个 Python 逻辑,计算一个文件中的大写字母数量答:读取‘A.txt’中的大写字母数量with open('A.txt') as f: """计算一个文件中的大写字母数量 """ count = 0 for i in f.read(): if i.isupper(): count += 1print(c...原创 2019-11-27 13:09:42 · 358 阅读 · 0 评论 -
python面试题总结(7)--操作类
1. Python 交换两个变量的值答:在 Python 中交换两个对象的值通过下面的方式即可a , b = b ,a但是需要强调的是这并不是元组解包,通过 dis 模块可以发现,这是交换操作的字节码是 ROT_TWO,意思是在栈的顶端做两个值的互换操作。2. 在读文件操作的时候会使用 read、readline 或者 readlines,简述它们各自的作用答:.read() 每次读取整...原创 2019-11-18 14:55:48 · 374 阅读 · 0 评论 -
Python--协程(gevent模块)
一:前言协程又称为微线程,纤程。英文名Coroutine:协程是一种用户态的轻量级线程协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复之前保存的寄存器上下文和栈。因此:协程能够保留上次一调用时的状态,能够进入上一次离开时所处的逻辑流的位置协程的好处无需线程上下文切换的开销无需原子操作(不会被线程调度机制打断的操作)锁定以及同步的开...原创 2019-11-09 20:34:13 · 192 阅读 · 0 评论 -
Python--进程、线程、协程对比
原创 2019-11-09 20:19:30 · 111 阅读 · 0 评论 -
Python协程--使用gevent实现图片下载器
import urllib.requestimport geventfrom gevent import monkeymonkey.patch_all()def downloader(img_name, img_url): req = urllib.request.urlopen(img_url) img_content = req.read() with open(img...原创 2019-11-09 20:15:24 · 206 阅读 · 0 评论 -
Python协程--生成器(实现多任务)
0.生成器1.使用yield完成多任务import timedef task_1(): while True: print("---1----") time.sleep(0.1) yielddef task_2(): while True: print("---2----") tim...原创 2019-11-09 20:10:39 · 147 阅读 · 0 评论 -
Python协程--生成器(通过异常来判断生成器已经结束)
以实现斐波那契数列为例:def create_num(all_num): a, b = 0, 1 current_num = 0 while current_num < all_num: yield a # 如果一个函数中有yield语句,那么这个就不在是函数,而是一个生成器的模板 a, b = b, a+b cu...原创 2019-11-09 16:10:03 · 825 阅读 · 0 评论 -
Python协程--迭代器
0. 实现一个可以迭代的对象要想使一个对象实现迭代的功能,须实现__iter__和__next__方法。import time# from collections import Iterable# from collections import Iteratorclass Classmate(object): def __init__(self): self....原创 2019-11-09 14:29:00 · 148 阅读 · 0 评论 -
Python多进程
1.使用Process完成多进程import threadingimport timeimport multiprocessingdef test1(): while True: print("1--------") time.sleep(1)def test2(): while True: print("2----...原创 2019-11-06 22:53:26 · 105 阅读 · 0 评论 -
Python多线程--UDP聊天器
import socketimport threadingdef recv_msg(udp_socket): """接收数据并显示""" # 接收数据 while True: recv_data = udp_socket.recvfrom(1024) print(recv_data)def send_msg(udp_socke...原创 2019-11-06 20:28:45 · 156 阅读 · 0 评论 -
Python多线程--互斥锁、死锁
1、互斥锁为解决资源抢夺问题,使用mutex = Threading.Lock()创建锁,使用mutex.acquire()锁定,使用mutex.release()释放锁。代码一:2.死锁原创 2019-11-06 19:37:39 · 492 阅读 · 0 评论 -
python 多线程--重点知识
1.全局变量global的用法2.多线程共享全局变量-args参数注意args参数类型为元组,逗号不能少!原创 2019-11-05 22:29:05 · 101 阅读 · 0 评论 -
Python中“if __name__=='__main__':”理解与总结
具体详解参考文献:https://www.cnblogs.com/chenhuabin/p/10118199.html原创 2019-10-04 11:55:45 · 90 阅读 · 0 评论 -
python形参中的:*args和**kwargs区别
详细参考文章:https://blog.csdn.net/u014513323/article/details/89450573感谢楼主分享原创 2019-10-08 12:32:10 · 109 阅读 · 0 评论 -
python中itsdangerous模块
使用itsdangerous生成临时身份令牌准备工作:安装pip install itsdangerousimport itsdangeroussalt='sdaf'#加盐,指定一个盐值,别让别人知道哦,否则就可以解密出来了t=itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=600)#过期时间600秒# ==...原创 2019-10-08 14:52:27 · 335 阅读 · 0 评论 -
Python字符串格式化
1、%方式a=(‘I do %s like %s’) % (‘not’,‘football’);Print(a);执行结果: I do not like football%s 表示格式化的是字符串 %d 表示整形 %f 表示浮点 %3f 表示将格式设置成3位小数的浮点数2、使用类Template例如:from string import Template; #必须要引入此模块a=T...原创 2019-10-15 13:53:06 · 137 阅读 · 0 评论 -
python 数组和列表的区别
Python没有数组:只有元组(tuple)和列表(list);元组一旦创建不可改变,例如:aa=tuple(1,2,3);元组不能追加(append)元素,弹出(pop)元素等;只能对元组中的元素进行索引aa[0],不能对其中的元组进行赋值aa[0]=8;使用元组的好处在于对元组进行操作更为高效,适合存放一组常量;而上述的众多不可以,使用列表list是可以的。...原创 2019-10-17 21:45:31 · 4276 阅读 · 0 评论 -
python中__init__函数以及参数self
1.class类包含:类的属性:类中所涉及的变量类的方法:类中函数2. _init_函数(方法)首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。init函数(方法)支持带参数的类的初始化,也可为声明该类的属性init函数(方法)的第一个参数必须是 self(self为习惯用法,也可以用别的名字),后续参数则可以自由指定,和定义函数没有任何区别。...原创 2019-10-18 12:39:55 · 1075 阅读 · 0 评论