摘要: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回收,意味着每次
阅读全文
摘要:python命名空间分为三类: 1.内置命名空间: python解释器启动时就可以使用的名字存储在内置命名空间中 内置的名字在启动解释器的时候被加载进内存里 2.全局命名空间: 在程序从上到下被执行的过程中依次被加载进内存里 放置了我们设置的所有变量名和函数名 3.局部命名空间: 就是函数内部定义的
阅读全文
摘要:迭代器取值空间随着每次取值而减少,可迭代对象则不变 迭代器还有__iter__和__next__方法,可迭代对象只有__iter__方法
阅读全文
摘要:#通过引用全局变量来控制账号登陆flag = False def login(func): def inner(*args,**kwargs): global flag if flag: ret = func(*args, **kwargs) return ret else: username =
阅读全文
摘要:def fib(n): a = 0 b = 1 num = 0 while num < n: yield(b) a,b = b,a+ b num += 1 fib = fib(20) print(list(fib)) #[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 1
阅读全文
摘要:全局变量: 对于函数来讲,可以被引用,也可以“增删”(可变变量,列表、字典、集合),但不能被重新赋值: name = {1,2,3,45} def test(): name.add(6) name.pop() print(globals()) print(locals()) print(name)
阅读全文
摘要:以列表为例 浅拷贝:拷贝后的列表是新生成的,列表id不一样,但列表内的元素(包含可变元素)id都是和拷贝前的元素一样的;拷贝后,对原始列表的修改,拷贝后的列表内第一层元素不变,深层次的元素会跟着改变 深拷贝:拷贝后的列表也是新生成的,列表id不一样,不可变元素id和拷贝前的元素一样,可变元素和拷贝前
阅读全文
摘要:filter返回满足条件的可迭代对象的元素, map返回经过函数调用后返回的所有元素
阅读全文
摘要:import os src = 'stock_data.txt' dst = 'bak' with open('stock_data.txt','r',encoding='utf-8') as file_1 , open('bak','w',encoding='utf-8') as file_2:
阅读全文
摘要:增: add a = {1,2,3} a.add(4) print(a) #{1, 2, 3, 4} 删: discard、remove、pop a = {1,2,3} a.remove(1) print(a) a.discard(1) print(a) a.discard(2) print(a)
阅读全文
摘要:特点: key必须为不可变元素,且唯一,查询速度快 修改: setdefault 如果字典中存在key,且有值会返回存在的值,不修改,即使该值为None dic = {'a':1,'b':2,'c':3} print(dic.setdefault('a',123)) #1 fromkeys快速生成字
阅读全文
摘要:字符串(string) 特性: 不可改变,对字符串的改变等于重新生成了一份新的数据 字符串过滤特殊字符: names='ryan\n\ttracy' print(names) names = r'ryan\n\ttracy' print(names) #ryan # tracy #ryan\n\tt
阅读全文
摘要:元组(tuple) 元组内元素不可被修改,如果元组内元素包含可变数据类型,那被包含的可变数据类型的元素可以被修改 names = ('a','b','c',[1,2,3]) names[-1][0] = 'a' print(names) #('a', 'b', 'c', ['a', 2, 3])
阅读全文
摘要:extend() 扩展列表,没有返回值 lis_1 = [1,2,3,4,5,'a'] lis_2 = ['b','c','d'] lis_1.extend(lis_2) print(lis_1) #[1, 2, 3, 4, 5, 'a', 'b', 'c', 'd'] 排序 列表元素不同数据类型不
阅读全文
摘要:python中的变量对应内存中唯一的数据,一旦变量和数据之间的关联关系被打破,比如重新赋值,python解释器会定期回收这些“无效”数据所占的内存空间 python文件有两种作用: 1.作为程序被运行 2.作为模块被导入
阅读全文
摘要:exit() 直接结束整个程序的运行 continue 结束本次循环,继续下一次循环 break 结束整个循环 while else 当while正常结束后才执行else内容 当while break ;else,时else内容不执行
阅读全文