摘要:代码: <!DOCTYPE html> <html> <head> <title>img</title> </head> <body> <img src="https://pics6.baidu.com/feed/34fae6cd7b899e517f7f8f3142112c34c9950d5b.jp
阅读全文
摘要:1.虚拟表,一条查询语句就可以生成一张视图,但毫无意义,一般通过联表查询生成视图,视图在数据库目录下其实只是一个表结构文件,不包含数据 单张表 mysql> create view v1 as select * from class; Query OK, 0 rows affected (0.01
阅读全文
摘要:1.赋值 两者完全一样 l1 = [1,2,[1,2,3]] l2 = l1 print(l1,l2) print(id(l1),id(l2)) print(id(l1[0]),id(l1[-1]),id(l1[-1][0])) print(id(l2[0]),id(l2[-1]),id(l2[-1
阅读全文
摘要:1.增量赋值 +=、-=、*=、%=、**=等等 2.链式赋值 a =1 b =a c =b 3.交替赋值 m = 10 n = 20 m,n = n,m m = 20 n =10 4.解压赋值 a,b,c = [1,2,3] print(a,b,c) #1 2 3 a,b,c,*_ = [1,2,
阅读全文
摘要:变量是存储在内存中的‘栈’内,变量名对应的是值的内存地址,而值是存储在内存中的‘堆’内。当值的引用为0(即该值不被任何变量引用到)时,就会被python内置的垃圾回收机制所回收。
阅读全文
摘要:is:判断两个变量的id是否相等 ==:判断两个变量的值是否相等 >>> s1 = 'ryan is my hero' >>> s2 = 'ryan is my hero' >>> print(s1==s2) True >>> print(id(s1),id(s2)) 1499122832304 1
阅读全文
摘要:Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收总结:1.范围 -5~2562.永远不会被GC回收,意味着每次
阅读全文
摘要:生成器就是迭代器,含有迭代器的一切特性(__nex__,__iter__) 生成器函数即含有yield关键字的函数,当执行生成器函数的时候,函数内的代码不会执行,执行生成器函数,并将其赋值给一个变量时,该变量即为一个生成器对象,对该生成器对象迭代取值,函数内的代码开始按照yield运行 def ta
阅读全文
摘要:GIL即CPython解释器内置的一种解释器级别的互斥锁 由于垃圾回收线程的存在,避免线程之间数据修改的紊乱而对线程加‘锁’,确保进程内同一时刻只有一个线程在运作。这样就导致了python的多进程不能同时运行。 虽然GIL是自带的‘互斥锁’,但对于线程内不同的数据改动,还需要加入不同的锁来控制线程对
阅读全文
摘要:互斥锁保证每个进程内的“任务”都会执行完,再执行其他进程,保证了数据的一致性,但降低了效率 from multiprocessing import Process,Lock import time def task(name,mutex): mutex.acquire() print('%s sta
阅读全文