工厂模式,类似实际的制造车间中,根据订单的需求来生成/创建某个实例。1.应用场景:需要创建的实例不确定,由输入的数据决定;2.实现方法:实现一个独立的类,接收传入的需要创建实例的名称,在该类中实现创建某个具体实例。3.代码:#coding:utf-8classPerson(object):def__init__(self):self.name=Noneself.gender=NonedefgetName(self):returnself.namedefge
系统 2019-09-27 17:52:30 1838
一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python中,无序此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。#变量未声明>>>xTraceback(mostrecentcalll
系统 2019-09-27 17:52:14 1838
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中;字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的;但键不行,如果同一个键被赋值两次,后一个值会被记住。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组(列表这样的可变类型不能作为键)。一、字典的创建、访问:dict={'Name':'Zara',
系统 2019-09-27 17:50:44 1838
1.函数名的运用你们说一下,按照你们的理解,函数名是什么?函数名的定义和变量的定义几乎一致,在变量的角度,函数名其实就是一个变量,具有变量的功能:可以赋值;但是作为函数名他也有特殊的功能就是加上()就会执行对应的函数,所以我们可以把函数名当做一个特殊的变量,那么接下来,我们就来研究一下这个特殊的变量。1.1函数的内存地址deffunc():print("呵呵")print(func)结果:通过上面代码可以我们知道,函数名指向的是这个函数的内存地址,其
系统 2019-09-27 17:50:42 1838
本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序)。Docker通过封装依赖项,大大减少了开发环境和正式产品的差距。大多数Python开发人员在开发中使用virtualenv。它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(
系统 2019-09-27 17:50:28 1838
[TOC]一、锁线程中的锁机制和进程中一样。都是通过锁来控制资源访问虽然,线程中的资源是共享的,但也可以通过锁来进行控制。达到线程同步的目的。虽然牺牲了效率但是保证了安全。x=0mutex=Lock()deftask():globalxmutex.acquire()#上锁foriinrange(200000):x=x+1mutex.release()#解锁if__name__=='__main__':th_list=[]foriinrange(10):t1
系统 2019-09-27 17:49:53 1838
test_list=[{'data':1,'no':301},{'data':2,'no':401},{'data':4,'no':201},{'data':6,'no':101},{'data':5,'no':303}]new_list=list(test_list)#print(new_list)formatchintest_list:ifmatch['no']>300:match['no']='BF'else:match['no']='BR'#pri
系统 2019-09-27 17:49:17 1838
目录一、数据类型内置方法1.1数字类型内置方法1.1.1整形1.1.2浮点型1.2字符串类型内置方法1.3列表类型内置方法1.4元组类型内置方法1.5字典类型内置方法1.6集合类型内置方法二、数据类型分类三、深浅拷贝3.1拷贝3.2浅拷贝3.3深拷贝四、异常处理4.1语法错误4.2逻辑错误一、数据类型内置方法1.1数字类型内置方法1.1.1整形作用:定义年龄/身高/体重/id号定义方式:age=18age=int('18')方法:+-*/%//**多个值o
系统 2019-09-27 17:49:10 1838
废话不多说,直接上代码Python2.7#!/usr/bin/envpython2.7#-*-coding=utf-8-*-importsmtplibfromemail.mime.textimportMIMEText_user="648613081@qq.com"_pwd="这里改成你的授权码"_to="648613081@qq.com"msg=MIMEText("thisisaemailfrompython,hahaha...")msg["Subject
系统 2019-09-27 17:48:28 1838
详解Python序列化Serialize和反序列化Deserialize序列化(serialization)序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。序列化和反序列化的目的1、以某种存储形式使自定义对象持久化;2、将对象从一个地方传递到另一个地方。3、使程序更具维护性序列化由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象
系统 2019-09-27 17:48:16 1838