Python--day27--复习】的更多相关文章

一.基本概念 程序: 指令集,静态, 进程: 当程序运行时,会创建进程,是操作系统资源分配的基本单位 线程: 进程的基本执行单元,每个进程至少包含一个线程,是任务调度和执行的基本单位 > 进程和线程之间的关系: ① 一个线程只属于一个进程② 一个进程可以包含多个线程,只有一个主线程 >  进程和线程资源对比 ① 进程具有独立的空间和系统资源 ② 线程不具有独立的空间和系统资源 ③ 同一个进程下的多个线程共享该进程的空间和系统资源 ④ 局部变量不共享 > 多线程中对于贡献资源修改的问题 -…
一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输出: 36 但是线上的程序,是不允许随便print的,这个时候,就需要用到logging模块 import logging logging.basicConfig(level=logging.DEBUG,filename = 'userinfo.log') b = 1 c = 2 d = 3 a =…
复习-基础 一.review-base 其他语言吗和python的对比 c vs Python c语言是python的底层实现,解释器就是由python编写的. c语言开发的程序执行效率高,开发现率低(内存的管理),python开发效率更高 java vs python 同一个级别,都需要解释器老解释代码. python简洁方便,java繁琐. python对于机器学习等强大的类库(模块). 解释型语言和编译型语言 解释型:边解释边执行(即时翻译). 代表:python,php,shell 编译…
一.多线程的调用 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而threading 模块通过对thread进行二次封装, 提供了更方便的api来处理线程. 多线程的调用有两种方式,函数式和继承式. import threading import time def sayhi(num): #定义每个线程要运行的函数 print("running on number:%s" %num) time.sleep() if __nam…
一.列表1.创建一个文件birthday.py,假设你要祝某人生日快乐!首先将年龄存储在变量age中,将姓名存储在变量name中,让程序输出类似“阿明,23岁生日快乐!” 例如:假设你要祝某人生日快乐,可能会编写类似于下面的代码 然而,会输出什么呢? 这是一个类型错误,Python发现你使用了一个值为整数(int)的变量,但是它不知道这个变量表示的是数值23,还是字符2和3.所以像这样在字符串中使用整数时,需要显示的指出你希望python将这个整数用作字符串.使用函数str(): 2.1 列表简…
一. 编译&&安装Python2.7     1.安装python第三方模块管理工具 easy_install --->> easy_install-2.7 pip Ipython #Python友好的交互界面 pip2.7 install ipython #通过pip安装Ipython   Pycharm 支持IDE图形界面编程 二.我们可以学到什么 python-基础语法 python-面向对象 python-多线程,socket,log,zmq python-web端-F…
修改全局变量,设立flag来避免线程间数据冲突,低效率版 from threading import Thread import time g_num=0 g_flag = 1 def test1(): global g_num global g_flag if g_flag ==1: for i in range(1000000): g_num += 1 g_flag = 0 print('----test1----g_num=%d'%g_num) def test2(): global g_…
<!doctype html> blockquote:first-child, #write > div:first-child, #write > figure:first-child, #write > ol:first-child, #write > p:first-child, #write > pre:first-child, #write > ul:first-child { margin-top: 30px; } #write li >…
Python标准库为我们提供了threading(多线程模块)和multiprocessing(多进程模块).从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了 ThreadPoolExecutor 和 ProcessPoolExecutor 两个类,实现了对threading和multiprocessing的更高级的抽象,对编写线程池/进程池提供了直接的支持. Executor是一个抽象类,它不能被直接使用.但是它提供的两个子类ThreadPoolE…
python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情.借助这个包,可以轻松完成从单进程到并发执行的转换.multiprocessing支持子进程.通信和共享数据.执行不同形式的同步,提供了Process.Queue.Pipe.Lock等组件. 一 .进程的调用 1.1  函数式调用 from multipro…
pickle是一个用来序列化的模块序列化是什么?指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上 反序列化?将硬盘上存储的中间格式数据在还原为内存中的数据结构 为什么要序列化?就是为了将数据持久存储之前学过的文件也能完成持久化存储 但是操作起来非常麻烦 pickle模块主要功能dumploaddumpsloadsdump是序列化load反序列化不带s的是帮你封装write read 更方便 load函数可以多次执行 每次load 都是往后在读一个对象 如果没有了就抛出异常Ran out…
import random # random 随机数模块 # print(random.random()) #----float 大于0且小于1之间的小数# print(random.choice([1,'2,3',[4,5]])) # 从一个大的中括号里面给出的数值里随机选一个# print(random.randint(2,5)) #[2,5] 2到5之间的整数,包括2和5# print(random.randrange(2,5)) #[2,5) 2到5之间的整数,包括2,不包括5# pri…
下面的代码主要使用SQLAlchemy的ORM思想实现查询单词的功能: 实现输入一个单词,查询出与输入单词接近的单词以及单词的意思. 主要有以下三步: 1.创建数据表 2.插入数据 3.查询数据 1.创建数据表 #!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2018/5/30 14:23 # @Author: yangjian # @File : createtable.py import codecs from sqlalchem…
简易版: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ # __auth__:Dahlhin import sys userinfo = r'userinfo.txt' userlock = r'userlock.txt' def user_exist_check(user): '''检查用户是否存在''' with open(userinfo) as fd: for info in fd: if user == info.strip().split(…
一个对象实例可以有自己的属性和方法,当我们调用实例方法时,我们用instance.method()来调用.能不能直接在实例本身上调用呢?在Python中,答案是肯定的. 任何类,只需要定义一个__call__()方法,就可以直接对实例进行调用.请看示例: class Student(object): def __init__(self, name): self.name = name def __call__(self): print('My name is %s.' % self.name)…
数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:float 复数型: 序列 字符串.列表.元组都属于序列 序列的两个主要特点是索引操作和切片操作 索引操作可以从序列中抓取一个特定的项目 切片操作可以从序列中获取一个切片,即序列的一部分 序列的基本操作 len() : 求序列的长度 : 连接两个序列 : 重复序列元素 in : 判断元素是否在序列中…
文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_compile py_complie.compile('***.py') .pyo python源码优化编译后后文件 python -O -m compile ***.py (无需要源码中使用 compile模块) -O 表示优化 -m 表示模块 python 变量 变量是计算机内存中的一个区域,可以存储…
1.简述cpu.内存.硬盘的作用 cpu (1)cpu:处理逻辑运算.算术运算 (2)cpu:接受指令传给电脑硬件,让其运行 内存: (1)内存:从硬盘中读取数据,供其cpu调取指令运行,短暂的存贮数据:运行速度快 硬盘: (1)硬盘:能长久的存贮数据 2.简述什么是操作系统以及它有何作用 什么是操作系统: 操作系统是位于计算机硬件和软件之间,用于 协调.控制.管理计算机硬件资源与软件资源的控制程序. 它的作用: 1.控制硬件 2.把对电脑硬件的复杂操作封装成简单的接口 3.python tes…
目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的思维方法,用对象来理解和分析问题空间,使开发软件的方法与过程尽可能接近人类认识世界丶解决问题的思维方法与过程. 面向对象方法的基本观点是一切系统都是由对象构成的,每个对象都可以接收并处理其他对象发送的消息,它们的相互作用丶相互影响丶实现了整个系统的运转 1.类与对象的概念 类和对象是面向对象程序设计…
目录 1.猴子补丁2. global和nonlocal关键字3.迭代器和生成器4.递归函数5.高阶函数和lamdba函数6.闭包7.装饰器 1.   猴子补丁 猴子补丁主要用于在不修改已有代码情况下修改其功能或增加新功能的支持. 例如: 在使用第三方模块时,模块中的某些方法可能无法满足我们的开发需求.此时,我们可以在不修改这些方法代码的情况下,通过猴子补丁用一些   自己编写的新方法进行替代,从而实现一些新的功能.   如很多代码用到 import json,后来发现ujson性能更高,如果觉得…
列表:列表元素需用逗号分隔,放在方括号里,如:list=['Q',15];元素类型可以是数字,单个字符,字符串,列表.字符串和字符需要用单引号引起来. 访问列表:print(列表名[0])访问第一个元素,print(列表名[-1])访问倒数第一个元素,切片访问 元素修改:利用索引的方法完成,list[0]=‘P’,新的list=['P',15]. 元素添删: 添—— append()——添加到末尾:变量名.append(‘text’),text被添加到列表的最后一位了:用法:list.appen…
import os import time ret = os.fork() # 创建子线程 if ret ==0: # 子进程中返回值为0,父进程>0 while True: print('......1......') time.sleep(1) else: while True: print('......2......') time.sleep(1) 多fork问题,以下代码会出现4个进程 import os import time ret = os.fork() if ret ==0:…
列表的切片 >>> name = list()>>> name.extend(range(100))>>> name[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,…
#----------模块关键-------------------------------# if __name__=='__main__': # if 这个文件中加入这行代码# func1() # 表示 当在这个文件右键运行的时候会运行这行代码下面的指令, # 如果被 当做模块 导入 别的文件时 不会 运行这行代码下面的指令,[通常用来调试程序] # import sys #此模块可以判断 当前 内存 中有哪些模块# print('模块二' in sys.modules) # 模块路径搜索优…
1. 什么时匿名函数def 定义 的是有名函数:特点是可以通过名字重复调用 def func(): #func = 函数的内存地址 pass匿名函数就是没有名字的函数:特点是只能在定义时使用一次 2.为何要以匿名函数 强调:匿名函数的定义就相当于只产生一个变量值,而没有绑定任何名字,所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次. 应用:当某一个功能仅仅使用一次就没有重复使用的必要时,就应该定义成匿名函数 3.如何使用匿名函数lambda x,y : x+y 例子:print((…
一.什么是迭代器#迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 举例: l=[1,2,3] count=0 while count < len(l): #迭代 print(l[count]) count+=1 #1.为何要有迭代器? 对于序列类型:字符串.列表.元组,我们可以使用索引的方式迭代取出其包含的元素.但对于字典.集合.文件等类型是没有索引的,若还想取出其内部包含的元素,则必须找出一种不依赖于索引的迭代方式,这就…
# 储备知识:# 函数的使用应该分为两个明确的阶段# 1. 定义阶段:只检测语法,不执行函数体代码def func(): print('from func')# 2. 调用阶段:会触发函数体代码的执行# func() #先定义后调用# 示范一# def foo():# print('from foo')# bar()# foo() # # 示范二:# def bar():# print('from bar')## def foo():# print('from foo')# bar()## fo…
操作系统 操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来. #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r #2. 通过句柄对文件进行操作 data=f.read() #3. 关闭文件 f.close() 1.f.close() #回收操作系统级打开的文件2.del f #回收…
一.基础知识: 1.文件操作有哪些模式?请简述各模式的作用. 'r' 读模式,相应的方法有 read(),readline(),readlines() 'w' 写模式,相应的方法有 write(),writelines() 'a' 追加模式 'rb' 以字节码的形式读 'wb' 以字节码的形式写 'ab' 以字节码的形式追加 'r+','w+','a+' 可读可写 第1题 2.s = ' **hello world!** ',请去除字符串两边的空格和*. s = ' **hello world!…
利用函数打印9*9乘法表 def cheng(num): for i in range(1,num+1): for j in range(1,i+1): print('{0} * {1} = {2}'.format(i,j,i*j),end=' ') print('\n',end='') cheng(9)…