这两天看完了一些例子
感觉对这句话有了更深刻的理解
在python中,一切皆对象。数字、字符串、元组、列表、字典、函数、方法、类、模块等等都是对象,包括你的代码。
Python 中的一切都可以赋值给变量或者作为参数传递给函数。
Python 的所有对象都有三个特性:
- 身份:每个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数 id() 来得到,可以简单的认为这个值是该对象的内存地址。
>>> a = 1
>>> id(a)
>>> 26188904 # 身份由这样一串类似的数字表示
- 类型:对象的类型决定了对象可以保存什么类型的值,有哪些属性和方法,可以进行哪些操作,遵循怎样的规则。可以使用内建函数 type() 来查看对象的类型。
>>> type(a)
<type 'int'>
>>> type(type)
<type 'type'> #万物皆对象,type 也是一种特殊的对象 type
- 值:对象所表示的数据
>>> a
1
"身份"、"类型"和"值"在所有对象创建时被赋值。如果对象支持更新操作,则它的值是可变的,否则为只读(数字、字符串、元组等均不可变)。只要对象还存在,这三个特性就一直存在。
对象的属性:大部分 Python 对象有属性、值或方法,使用句点(.)标记法来访问属性。最常见的属性是函数和方法,一些 Python 对象也有数据属性,如:类、模块、文件等
所以在学习多线程多进程的时候,我们要想实现多线程的功能,只要在导入模块之后,直接创建一个相关的对象的就可以了。所有实现该功能的方法,都已经被封装好了。
比如
#启动多进程的方法
from multiprocessing import Process
import os
#子进程要执行的代码
def run_proc(name):
print("run child process %s(%s)"%(name,os.getpid()))
if __name__ == '__main__':
print("parent process %s"%(os.getpid()))
p = Process(target=run_proc,args=('test',))
print('child process will start')
#启动多进程
p.start()
#多进程间的同步
p.join()
print("child process is end")
其实建立多进程主要就是从
p = Process(target=run_proc,args=('test',))
开始的。就是从我们导入好的process模块,创建了一个新的对象,然后就可以通过.调用所有属于它的方法。
网友评论