建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会
系统 2019-09-27 17:52:26 1921
目录一、执行Python程序的两种方式1.1交互式1.2命令行式二、变量2.1什么是变量2.2如何定义变量2.3变量的组成2.4变量名的规范2.5变量名的两种命名风格三、常量四、Python变量内存管理4.1引用计数4.2垃圾回收机制4.3小整数池五、花式赋值5.1链式赋值5.2交叉赋值六、注释6.1单行注释6.2多行注释七、数据类型基础7.1为什么要有数据类型八、解压缩九、Python与用户交互十、Python格式化输出的三种方式10.1占位符%10.2
系统 2019-09-27 17:51:57 1921
美国队长的锅emmmmmmmm.......没错就是他的锅#所需依赖:python3pycharm#print打印print('helloworld!')#注释符号#井号后面灰色的内容是注释,相当于笔记,会被机器忽略#变量和值#n是变量,100是值,等号的作用是赋值#n相当于高中数学的xyz,只不过xyz的值只能是数字,变量的功能要更强大n=100m='hello'print(n)print(m)#数据类型,这里只讲两个,剩下的需要同学自己去系统地学习了#
系统 2019-09-27 17:50:55 1921
本文实例为大家分享了python监控nginx端口和进程状态的具体代码,供大家参考,具体内容如下#!/usr/local/bin/python#coding:utf-8importpsutilimportsysimportos#获取主机名称defhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.
系统 2019-09-27 17:50:28 1921
python程序运行中,可由程序抛出异常。异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。classPoint:def__init__(self,x,y):self.x=xself.y=y#DefineaclasstoraiseLineerrorsclassLineError(Exception):#继承自基类Exceptiondef__init__(self,ErrorInfo)
系统 2019-09-27 17:50:11 1921
*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中。函数中的args仍然是元组,*args就
系统 2019-09-27 17:48:57 1921
python基础学习笔记(二)2013-02-2416:25虫师阅读(...)评论(...)编辑收藏继续第一篇的内容,讲解,python的一些基本的东西。注释为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样。>>>#获得用户名:>>>user_name=raw_input("whatisyourname?")在python中用井号(#)表示注释。井号(#)右边的内存将不被程序执行。即使没有注释,也应该让代码本身易于理解。
系统 2019-09-27 17:48:56 1921
文章目录获取当前决定路径os.getcwd()获取路径下的所有文件名和路径名os.listdir()创建文件夹os.makedirs()删除文件夹os.remove()获取文件的绝对路径os.path.abspath("init.py")判断指定路径或者文件是否存在os.path.exists()将文件路径和文件组成一个完成的路径os.ptah.join()获取当前决定路径os.getcwd()paths=os.getcwd()print(paths)#D
系统 2019-09-27 17:48:26 1921
创建Deque序列:fromcollectionsimportdequed=deque()Deque提供了类似list的操作方法:d=deque()d.append('1')d.append('2')d.append('3')len(d)d[0]d[-1]输出结果:3'1''3'两端都使用pop:d=deque('12345')len(d)d.popleft()d.pop()d输出结果:5'1''5'deque(['2','3','4'])我们还可以限制d
系统 2019-09-27 17:47:59 1921
本文实例为大家分享了python多线程下信号处理程序示例的具体代码,供大家参考,具体内容如下下面是一个网上转载的实现思路,经过验证,发现是可行的,就记录下来。思路python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:1.把所有子线程设为Daemon;2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。源码#!/u
系统 2019-09-27 17:46:56 1921