私有属性 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,就变成了一个私有属性,只有内部可以访问,外部不能直接访问或修改. 这样就确保了外部代码不能随意修改对象内部的状态,这样通过访问限制的保护,代码更加健壮 那如果想让外部代码获取私有属性该怎么办? 修改内部代码:可以给类增加访问方法(return self.__name)和修改方法(self.__score=score) >>>class Student(object): def get_name(self): r…
多线程糗事百科案例 案例要求参考上一个糗事百科单进程案例:http://www.cnblogs.com/miqi1992/p/8081929.html Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用:队列时线程间最常用的交互数据的形式. python下多线程的思考 对于资源,加锁是个重要的环节.因为python原生的list,dict等,都是not thread safe的.而Queue,是线程安全的,因此在满足使用条件下,建议使用队列 初始化:…
try-except语句 try: 被检测代码 except Exception [as reason]: 出现异常后的处理代码 例: try: sum = 1+' f=open('未定义文件.txt') print(f.read()) f.close except OSError as reason: print('文件出错啦!错误原因:' + str(reason)) except TypeError as reason: print('类型错误' + str(reason)) 运行结果:类…
pickle模块:将所有的Python对象转换成二进制文件存放 应用场景:编程时最好将大对象(列表.字典.集合等)用pickle写成永久数据包供程序调用,而不是直接写入程序 写入过程:将list转换为二进制写入my_pickle文件中 import pickle list=[1,2,3] pickle_file = open('my_pickle.pkl','wb') pickle.dump(list,pickle_file) pickle_file.close() 读出过程:将二进制文件my_…
# -*- coding: UTF-8 -*- """ 多线程同时读队列 使用 join(), task_done() 逻辑: 3个子线程并发 从有6个数据的队列中取数据,并且打印出来. 主线程等待队列空了才结束 总结: 1.主线程 调用 q.join()等待队列为空时,应该不是根据 q.qsize()判断的 也就是在Queue设计上,q.qsize()操作的内部队列大小变量 和 task_done()操作的内部队列大小变量 不是同一个 使用: 1.正常创建队列,往队列中读写…
继承 继承可以把父类的所有功能都直接拿过来,这样就不必从零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写 多重继承 通过多重继承,一个子类就可以同时获得多个父类的所有功能 >>>class A(): def __init__(self): print("进入A…") print("离开A…") >>>class C(A): def __init__(self): print("进入C…")…
文件的打开模式 'r':以只读的方式打开文件(默认) 'w':以写入的方式打开文件,会覆盖已存在的文件 'x':用写入的方式打开文件,如果文件已存在,会抛出异常 'a':用写入的方式打开文件,如果文件已存在,则在末尾追加写入 'b':以二进制模式打开文件 't':以文本模式打开文件 文件对象方法 打开文件对象 1.在单独写程序时,代码中需要打开文件,将程序与文件位置放在一块即可 f=open(file_name) 2.在交互环境中打开文件,需写出文件的位置 f=open('E:/data/tes…
什么是对象和类 https://www.cnblogs.com/poloyy/p/15178423.html 什么是 Python 类.类对象.实例对象 https://www.cnblogs.com/poloyy/p/15178456.html 类变量.实例变量/类属性.实例属性 前言 只是叫法不一样 实例属性 = 实例变量 类属性 = 类变量 个人认为叫属性更恰当 类属性和实例属性区别 类属性,所有实例对象共享该属性 实例属性,属于某一个实例对象的属性,用于描述具体的对象 从实际栗子了解类属…
类属性.实例属性和私有属性 Python中类的属性主要包括类属性,实例属性和私有属性,下面是对三种属性的简单介绍 类属性 / Class Property 类属性在__init__()之外初始化,在外部可以通过类,类实例进行调用, 在内部可以通过类进行调用. 在定义属性的过程中,尽量将各个实例共有的属性定义为类属性,因为定义为实例属性则在每一次实例化时都会初始化一次,为此定义为类属性可以减少内存加快运行速度. 实例属性 / Instance Property 实例属性一般在__init__()内…
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www.jetbrains.com/pycharm/download/ PyCharm首页.文档和下载 - Python集成开发环境 - 开源中国社区http://www.oschina.net/p/pycharm=============================================修改…