python的一些知识

1,数据集合:

set:

class set([iterable])   特点:不允许数据重复,会删除重复数据,不对数据排序

list:

class list([iterable])   特点:允许数据重复

tuple:

如a=(1,2,3) 允许数据重复,但是元组初始化后,不可做增加,改值等操作,里面的数据将无法改变

Dictionary:

如 a={"1":"one"}   key不应该重复,否则,key只会指向最后一个value

2,数据的序列化:

首先通过open(),打开输入/输出流,并得到一个流对象f

Input:

Pickle(data,f)  //对象序列化

Output:

Pickle(f)  //对象的反序列化

3,多进程:

在Linux系统中,python可以通过os模块很方便的创建子进程,

pid=os.fork()就在原进程的基础上创建了子进程,此后的代码有父进程和子进程执行。

fork()调用一次返回两次,在父进程中返回子进程的id,子进程中将返回0,子进程可通过getppid()获取父进程id,通过getpid()获取自己的id,

windows系统中,通过封装multiprocessing模块,通过提供process类来创建子进程,

def fun(name):

print(name)

form  multiprocessing import process

p=process(target=fun,args=(‘bob‘,))

p.start()

p.join()

对于join()有必要解释一番  join([timeout]),有默认的参数,单位为秒,调用join()后,父进程将会等待子进程完成任务锁定才执行,如果对join()设置参数,子进程将在到达指定时间后锁定,然后父进程执行。否则,父进程将等待python锁定子进程,才能继续执行。

进程池Pool():

class multiprocessing.pool.Pool([processes[, initializer[, initargs[, maxtasksperchild[, context]]]]])

主要是第一个参数processes:指的是同时执行的进程数,如果不指定参数,python将默认为电脑的核心数

进程间通信,通过Queue,Pipes来完成,只需参考

4,多次线程:

多线程有两种实现方案,一种是常见的继承threading类,然后复写run()方法,即可第二种则是调用threading.thread()构造方法,将要执行的函数当做参数传入进去

class threading.Thread(group=None, target=None,
name=None, args=(), kwargs={},*,daemon=None)再调用start()方法即可,线程中依然有join()方法,其用法跟进程类似,当子线程调用join()时,主线程将停止执行下面的代码,等待子线程完成任务锁定再执行。如果没有调用,则子线程与主线程并行执行。

多进程与多线程之间的差别:多进程中,一个变量,每个进程都会自己拷贝一份,互不影响,而多线程中,每个线程则公用一个变量,所以,这个时候,需要格外注意,线程的并发。必要的时候,同一时刻只能允许一个线程对变量进行操作


目前大概记得这么些基本知识,有错误欢迎指出,现在已经饿昏了头。。


时间: 2024-08-25 17:30:07

python的一些知识的相关文章

【汇总】Python 编程核心知识体系

[汇总]Python 编程核心知识体系 大神著作,源自:https://woaielf.github.io/2017/06/13/python3-all/ 本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库,后续会发布相应专题的文章). 首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程: 接着,结合这些思维导图主要参考的资料,分享一下我的学习体验,一方面

Python入门基础知识实例,值得收藏!

7月的编程语言指数榜已经发布,Python 在今年5月首次超越 Java 拿下榜首位置后,仍保持上涨趋势,正逐渐与 Java 拉开差距.(图为与去年 7 月数据对比) 上周为大家简单介绍了如何安装Python和配置环境?相信大家都将Python安装成功了吧~今天小白就为大家分享一些Python的基础知识,希望大家都能快速入门Python~ 1.在Python 语言中,对象是通过引用传递的. 在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量. 如:x=

VII python(1)基础知识

VII Python(1)基础知识 1989年诞生(同LinuxOS),google推崇,06年后才开始在中国流行,08年运维开始使用python www.python.org(主流OS默认配的python为2.6或2.7,最好在Ubuntu12.10上使用python,对于开发很方便,否则会浪费很多时间在装某一软件包) https://www.python.org/ftp/python/ Python(简单.容易上手.语法非常简明,任何功能都可实现:胶水语言,粘合剂,能与任何语言结合起来(如j

python基础-基础知识考试_day5 (包括:函数_递归等知识)

老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0 2.写函数:根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和如: def func(start,end): 3.函数的默认返回值是什么?None 4.简述break/continue/return的区别Break:用于退出所有循环continue:跳出本次循环,继续执行下次循环return:程序返回,不再执行下面的代码 5.函数传递参数时,是引用还

Python爬虫预备知识

1.http编程知识 http中client 和server的工作模式 client和server建立可靠的tcp链接(在HTTP1.1中这个链接是长时间的,超时断开策略) client通过socket与server通信,发送request并接受response http协议是无状态的,是指每一条的请求是相互独立的,client和server都不会记录客户的行为. client通过在HTTP请求中添加headers告诉server 他请求的内容,可以接受的格式 常用的请求方式有get和post

Python 面向对象基础知识

面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass # obj是对象,实例化的过程 obj = 类() obj.函数1() ========== 面向对象不好 ============ ========== 函数编程好 ============== - 有时候,函数编程能实现?比较麻烦. - 面向对象非常的简单就能实现. 3.什么时候适用面向对象?

Python基础入门知识

Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新

Python爬虫基础知识及前期准备

学习爬虫有一小段时间了,于是决定把自己学爬虫时所学的,写过的代码以及看过的文档记录下来,权当小结.第一次写这些,如果有错误,请多指教. 首先我们需要了解一下什么是爬虫. 根据百度百科上给出的定义," 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本."简单来说,爬虫类似手动下载网页信息,比如小说.歌曲.说到这,或许会有疑问,既然这样,干嘛还去敲代码,直接人工处理不好吗?话是这么说,但如果下载的

Python学习---django知识补充之CBV

Django知识补充之CBV Django: url    -->  def函数      FBV[function based view]  用函数和URL进行匹配 url    -->  类           CBV[function based view]  用类和URL进行匹配 POSTMAN插件 http://blog.csdn.net/zzy1078689276/article/details/77528249 基于CBV的登录实例: settings.py INSTALLED_