8-19-猴子补丁、内置函数、垃圾回收、并发编程

今日内容:
    1、猴子补丁
    2、内置函数
    3、垃圾回收机制

    4、并发编程(******)
        进程起源操作系统=>操作系统的发展史
        多道技术

 
 ====================> 1 猴子补丁 <======================
	
注意: 补丁要在入口去写(即  用之前就已经写好了)


		import json
		import ujson  # pip3 install ujson


		def monkey_patch():
		
	替换名字
	    	json.__name__ = ujson.__name__
	    
	替换功能
		    json.dumps = ujson.dumps
		    json.loads = ujson.loads



 ====================> 2 内置函数 <======================
	
	class Foo:
	    pass
	print(callable(Foo))
	print(chr(67))
	print(ord("C"))

	print(divmod(10,3))
	l=['aaa','bb','ccc']
	l={'k1':111,'k2':2222}
	for i,item in enumerate(l):
	    print(i,item)

	s1=set({1,2,3})
	s1=frozenset({1,2,3})
	s1.add(4)
	print(s1)

	def func():
	    x=111
	    print(globals())
	    print(locals())

	func()

	print(pow(10,2,3))  # 10 ** 2 % 3

	l1 = [1, 2, 3, 4, 5, 6]
	l2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
	s = slice(0, 4, 2)
	print(l1[s])
	print(l2[s])


	x = "hello"
	y = [111, 222, 333]
	res=zip(x,y)
	print(list(res))


	m=__import__("time")
	m.sleep(10)


 ====================> 3 垃圾回收机制 <======================

引用计数:一个变量值的引用计数为0时,才会被当作垃圾回收

    问题1:循环引用=》内存泄漏
        标记-清除

    问题2:效率问题
        分代回收


补充: 在python中, 变量名  与   变量值  分开存放:

	变量名字   都是存放在  	栈区

	变量值     都是存放在    	堆区

		堆区中的列表 中 存放的是值的内存地址

		栈区的中的名字中  绑定的是 堆区中列表的地址



直接引用 与 间接引用:
	直接引用: 直接从栈区引出去的

	间接引用: 直接从堆区引出去的




循环引用: 堆区中的值 相互引用

解决循环引用  引起的垃圾问题: 必须要留一个 直接引用,这样存在循环引用 也无所谓

有根则活, 无根则死



		l2 = [20, 30]  # 列表本身被变量名l2直接引用,包含的元素被列表间接引用
		x = 10  # 值10被变量名x直接引用
		l1 = [x, l2]  # 列表本身被变量名l1直接引用,包含的元素被列表间接引用



 =======================> 4 进程 <========================

1、程序
    程序就是一堆代码文件
2、进程
    进程一个抽象的概念
    进程指的是程序的运行过程

    进程是操作系统最核心的概念

3、操作系统

    1、操作系统的作用
        1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口
        2:管理、调度进程,并且将多个进程对硬件的竞争变得有序
    2、多道技术


ps:
    串行:一个运行完毕再运行下一个
    并行:多个进程是真正意义上一起运行
    并发:看起来是同时运行的,本质还是一个个的运行


    进程彼此之间的内存空间隔离,而且是物理隔离




补充:

	虽然操作系统留出 各种接口,但是还是很复杂,对于程序员不友好

	所以为了使用的简便性, 需要在用户  与  操作系统 之间  继续封装一层
	解释器就是这继续封装的一层

	python解释器  就是调用操作系统的各种接口

	python解释器  就是将python的语句, 通过调用各种操作系统的接口  实现相应的功能



	有python解释器时:程序员 打交道的是 python解释器(得照着python的规则[即语法],才能调到操作系统的功能)   
		由 python 解释器  和 操作系统打交道


	没有python解释器时:程序员和  shell解释器打交道(和 python解释器一样作用)

		shell解释器 和 操作系统打交道




	并发的核心就是  :来回切进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值