![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
慕之歌
这个作者很懒,什么都没留下…
展开
-
错误报告二
dir 和 dictdir 不区分对象,会打印所有内容。dict当是类调用时会打印所有内容,但当是对象调用时,不会打印其他同类型都有的属性,只会打印自己特有的属性。def newAtr(classname, parclasss, attrdict): newdict = {} c = classname.lower()[0] for k, v in attrdic...原创 2019-04-03 19:58:21 · 254 阅读 · 0 评论 -
logging
# 1 导入模块import logging# 2 创建日志模块loginLogger = logging.getLogger("main")# 2.1 设置等级loginLogger.setLevel(logging.DEBUG)# 3 创建日志输出类型fileHandler = logging.FileHandler('loginregist.txt',encoding='ut...原创 2019-04-08 21:23:15 · 67 阅读 · 0 评论 -
linux-多进程
"""linux下使用os.fork() 方法结合getpid() getppid()方法编码验证父子进程"""# import os# print('main-----------------')# pid = os.fork()# # after using the method whose name is fork , every line after the line wh...原创 2019-04-08 21:14:39 · 94 阅读 · 0 评论 -
入口参数与继承类
from multiprocessing import Processdef profun(): print('子类没有重写时运行指定的入口函数')# 穿件封装类继承processclass MyP(Process): pass # # # 重写run方法 # def run(self): # """ # 该对象...原创 2019-04-08 21:06:20 · 129 阅读 · 0 评论 -
进程之间可以传递参数
进程之间可以传递参数,但数据独立并不共享即一个进程修改了数据,另一个进程中该数据并没有被修改from multiprocessing import Processdef cProFun(para1, para2, **kwargs): """ :param para1:由元组传来的第一个参数 :param para2:由元组传来的第二个参数 :para...原创 2019-04-08 21:05:06 · 1442 阅读 · 0 评论 -
进程操作
import os,timefrom multiprocessing import Processdef c_p_f(): print('子进程运行。。。') while True: print('2-pid', os.getpid()) time.sleep(1) # print('子进程调用os.name', os.name)...原创 2019-04-08 21:04:02 · 80 阅读 · 0 评论 -
进程池基础
手动添加进程比较繁琐,可以使用进程池。创建进程池:构造方法进程数,与参数--建进程构造方法指定入口函数,与参数--取进程进程池方法: close:关闭进程池,关闭后无法取进程。报错:ValueError: Pool not running。此时进程池中的进程仍在运行。 terminate:关闭进程池中所有进程 join:使主进程等待子进程执行完后再运行以后代码。...原创 2019-04-10 08:55:28 · 99 阅读 · 0 评论 -
队列通信
from multiprocessing import Process, Queueimport time,osdef w_fun(qunue_p): print('写进程号', os.getpid()) time.sleep(2) for i in range(11): if qunue_p.full(): print(...原创 2019-04-10 08:57:21 · 143 阅读 · 0 评论 -
线程基础
import threadingdef t_fun(**kwargs): print('------------子线程内容----------') t = threading.current_thread() # print(t, type(t))#<Thread(mytheading, started 6576)> <class 'threadin...原创 2019-04-10 09:00:16 · 82 阅读 · 0 评论 -
线程进程比较
"""主进程结束后,子进程会结束不再执行,可以调用join穿件线程和进程差不多线程需要开启,可以阻塞"""import threading,timedef t_fun(): """子线程入口函数""" print('++++++++++++++++++++++') time.sleep(1)def time_check(fun_p): """...原创 2019-04-10 09:01:12 · 257 阅读 · 0 评论 -
数据枷锁安全
"""线程共享资源也就是说共享全局资源,线程又是并发运行,因此当多个线程对同一个内存进行更改(写)操作时,会发生混乱 num = 0 线程1 获取num =0 线程2 获取num =0 线程1 num+=1 num = 1 线程1 num+=1 num = 2 线程1 num+=1 num = 3 线程2 num+=1 ...原创 2019-04-10 09:02:01 · 130 阅读 · 0 评论 -
垃圾回收机制
垃圾回收机制指的是删除程序中不再使用的对象,防止占用大量不必要的内存,引起内存泄漏。 这里的对象,万物皆对象。组合数据类型、对象等都在被回收的对象范围之中。 这里的不再使用指的是程序中没有指向该对象的变量或者没有容器(组合数据类型、对象)包含该对象,此时该对象就应该被回收;如何判断对象是否应该被回收? 使用引用计数原则和标记-清理、分代收集机制。前者为主,后者为辅;...原创 2019-04-10 09:28:12 · 108 阅读 · 0 评论 -
PhantomJS安装与测试
一个基亍 Webkit 的“无界面”(headless)浏览器非 Python 库,它会把网站加载到内存并执行页面上的 JavaScript,丌会展示图形界面。安装:安装在c盘下:1、解压放到:C:\phantomjs-2.1.1-windows2、需设置环境变量,Path 添加 C:\phantomjs-2.1.1-windows\bin测试from selenium impor...原创 2019-05-20 16:14:54 · 526 阅读 · 0 评论 -
正则表达式
正则表达式意在灵活使用的过程中获取想要的内容。使用正则表达式返回结果的种类:1.match对象,想要获取它的值,调取group()方法,获取下标调取span方法。2.迭代器子类对象,迭代器内是match对象。注意此时迭代器是没有长度的,无法调取len方法。3.列表,大概所有列表都是匹配到的所有对象。4.None,没有找到时返回,所以要加类型判断,防止方法报错。5.字符串,切...原创 2019-05-24 09:33:28 · 138 阅读 · 0 评论 -
进程基础
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位每个进程都有独立的代码和数据空间、同一类线程共享代码和数据空间在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源包...原创 2019-04-08 21:02:32 · 357 阅读 · 0 评论 -
pygame
引言:可以用python写一写简单的小游戏!而这些小游戏归根结底是一些图片的加载、变化、移动。对图片的坐标进行修改,用背景图覆盖在原来的背景上遮盖住原来的效果,就可以实现图片的移动。比如,在一块木板上铺上一张白纸,此时,木板就是游戏窗口,而白纸就是游戏背景图片。在背景上继续加载其他的图片,相当于在白纸上作画,完成一个场景。pygame 是一个资源包,包含各种各样的资源,方便游戏的开发。py...原创 2019-02-26 17:14:37 · 231 阅读 · 1 评论 -
错误报告
循环(while和for)1.beake和continue控制:前者跳出循环,后者继续下次循环;2.变量的重置:涉及变量重置(如开关变量)的代码位置要灵活运用。3.循环嵌套:跳出(继续下一次循环1)内层循环--break(continue);跳出外层循环:1.依赖内层情况--内层循环设置开关变量,外层循环据开关变量break;2.不依赖内层循环--break;4.注意循环变量...原创 2019-02-21 19:09:11 · 297 阅读 · 0 评论 -
变量的作用域
'''全局变量1.一个文件中没有函数,该文件中的变量时全局变量吗!若是,他能被修改,若不是,它不在函数内?!是全局变量,全局变量不是不能更改,可以更改。而是在函数内改时要么在外部局部变量失效,要么需要glable引入全局变量。2.函数1中有一个函数2,一个变量l,在函数2中能够使用l吗?不能,因为次变量不存在函数2内'''# # 函数内,执行过不允许修改,要加global# 1....原创 2019-01-24 14:18:46 · 97 阅读 · 0 评论 -
程序结构
def expressage_send(people): if people=="tom": print("您的快递到了!请查收!")expressage_send('tom')for i in {1,2,3}: print(i)#123# for循环根据元素遍历,不然{1,2,3}无法遍历,因为集合石没有序列的i=0# while i<3:#...原创 2019-01-25 18:42:05 · 80 阅读 · 0 评论 -
组合数据类型
组合数据类型属于引用型数据,可储存一组即多个数据。这一组数据可以类型不一致(不涉及分类等涉及类型的操作)。区别于基本数据类型,只能存储一个数据。 组合数据类型包含列表list、元组tuple、集合set、字典dirc。特点:list:可以存储多个数据、可重复、有顺序;基于它的这些特点,可以直接查询、添加、修改、删除(有序),tuple:不能修改的listset:无序,不能重复,存储多...原创 2019-01-25 20:41:40 · 868 阅读 · 1 评论 -
io
io指的是数据从文件中读取或存入文件的操作,input output以程序代码为核心,读文件中数据道程序中称为input,反之,为output执行这些操作可以进行数据的存储,导入,完成数据存储,解决程序运行结束后数据消失的问题1.filefile类有方法open()\read()\write()等方法可以执行open(para1,para2,para3): ...原创 2019-01-26 21:15:39 · 617 阅读 · 1 评论 -
练习题(部分习题来源网络)
'''b.实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次'''i=0while i<4: uaername=input("请输入您的用户名!") pswd=input("请输入您的密码!") if uaername=="seven" and pswd=="123": prin...转载 2019-01-27 10:50:40 · 255 阅读 · 0 评论 -
函数
函数的规范:def rat(param,param1) '''''' param? res? return res其中,def是定义函数的关键字。黄色rat是函数名称,调用时,根据名称来调用。()内是参数,参数由变量来显示;调用时需要提供数据交给变量。若函数不需要变量,可不写。任何类型的数据都可以赋值给变量,因此,python中的函数应该不需要重载...原创 2019-01-24 17:58:24 · 246 阅读 · 0 评论 -
面向对象封装
## _警告# __不运行'A' object has no attribute '__money'# 1.对数据进行破坏性访问:class Data: def __init__(self,name,age): self.name = name self.age = aged=Data('d',12)d.age=1000print(d.a...原创 2019-02-15 09:26:31 · 78 阅读 · 0 评论 -
pycham与pygame
pycham 中自动配置的python环境指的是,虚拟出一个和内存中一样的python解释器,因此在黑窗口中安装pygame的话,pycham中并没有pygame。解决方案:1.修改配置的环境为系统中存在的环境2.在pycham 下的terminal中安装pygame:pip install pygame...原创 2019-02-21 19:08:43 · 288 阅读 · 0 评论 -
str
https://download.csdn.net/my>>> 'helhelhel'[1:6:2]'ehl'>>> 'helhelhel'[2:8:3]'ll'>>> 'helhelhel'[-2:-7:-2]'elh'>>> 'helhelhel'[-2:-7:-1]'ehleh'>>&原创 2019-02-12 21:33:33 · 91 阅读 · 0 评论 -
面向对象
面向对象-----声明、属性、方法 1.概述定义 1.2三大特征:封装--数据保护、继承--代码复用与功能扩展、多态--不同环境下代码的多样性 类: 数据类型,是一类事物的抽象描述, 意义:自定义数据类型,可以创建多个类,使用时就可以确定对象的类型; 另外,定义一个类,他会随之定义类的属性,当对象创建后存储...原创 2019-02-13 20:54:01 · 168 阅读 · 2 评论 -
面向对象的函数与方法
方法本质是一种函数,但方法负责实现一个功能,而函数负责运行的流程。方法内部对象之间调用方法是为了用一些小功能组成功能小模块,是一种协作。...原创 2019-02-14 14:08:19 · 303 阅读 · 0 评论 -
面向对象的封装
一个类属性的声明方法由self.来实现。因此,在初始化类时,需要赋值的属性在__init__(self)的self后有形参,不需要的话可不用class User: '''定义用户类型''' def __init__(self,username,password): '''初始化数据''' self.username = username...原创 2019-02-21 19:09:44 · 88 阅读 · 0 评论 -
修改linux下的python环境
ubantu下安装了linux系统后,一般都有自带的python环境,但却是版本2,3都有的!若要使用3,则需要我们自行配置...配置过程如下:1.查看python的版本:python -V2.若版本为不想要的那个版本: 2.1:查看位置:which python 2.2:进入查询到的python上级目录 cd /usr/bin...原创 2019-03-02 10:21:33 · 453 阅读 · 0 评论 -
异常
语法:try : 可能出现错误的代码except (出现时被触发的异常/Exception/不写): 异常处理代码finally: 无论是否有异常都要运行的代码自定义异常:class (Exception):#继承异常 def __init__(self,info): super().__init__(info)异常...原创 2019-02-20 22:13:36 · 72 阅读 · 0 评论 -
变量
''''''# 变量是用来接收数据的,那么变量的数据类型有哪些呢?#数据类型:基本数值类型:整数:浮点数:复数:布尔:字符串:空值 # 组合数据类型:列表:元组集合字典# 声明:i=12f=12.0s="12.0"b=Truen=Noneprint(type(i),type(f),type(s),type(b),type(n))#<class ...原创 2019-01-24 09:16:37 · 99 阅读 · 0 评论