python Web程序 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. Python的WEB框架分为两类: 自己写socket,自己处理请求 基于wsgi(Web Server Gateway Interface WEB服务网关接口,实现socket功能),自己处理请 如图示:…
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 1.创建django程序 通过命令行 django-admin startproject mysite 创建project 一个工程可以包含多个app,app共用一个project的配置文件 cd mysite python manage.py startapp app01 创建app01 pyt…
unittest 单元测试的一个框架什么框架 一堆工具的集合. TestCase TestSuite 测试套件,多个用例在一起 TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中, 包括运行了多少测试用例,成功了多少,失败了多少等信息 用例必须以test开头 import unittest import HTMLTestRunner from BeautifulReport import B…
#-*- coding: utf-8 -*- import datetime #给定日期向后N天的日期 def dateadd_day(days): d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(days) return d3 #昨天 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday =…
money = input('输入多少钱:') months = input('还几个月:') try: res = calc(int(money),int(months)) except ZeroDivisionError as e: #try里面的代码如果出错了,走except里面的代码 traceback.print_exc()#只是输出报错的详细信息而已 print('还款的月数不能小于1',e) #months输入0时 except ValueError as e: print('输入…
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签",东西都是一样的.改变或者添加,复制出来的变量也会改变 样例: >>> a=[1,2,3] >>> b=a >>> a [1, 2, 3] >>> b [1, 2, 3] >>> a[1]=0 >>>…
Python学习笔记(五): 文件操作 另一种文件打开方式-with 作业-三级菜单高大上版 1. 知识点 能调用方法的一定是对象 涉及文件的三个过程:打开-操作-关闭 python3中一个汉字就是一个字符 2. 文件操作 模式: 读 r(光标默认在开始) 写 w(先清空) 追加a(光标默认在最后) 读写r+(光标默认在开始) 写读w+(先清空) 追加读a+(光标默认在最后) 读文件 file = open('1.txt','r',encoding='utf8') #打开为文件 data = f…
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),print(string,end='') Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串split()方法语法:str.split(str="", num=string.count(str)).参数str -- 分隔符,默认为空格…
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sinat_14849739/article/details/79101529 转载请注明出处:http://blog.csdn.net/sinat_14849739/article/details/79101529 本文出自Shawpoo的专栏 我的简书:简书 […
循环对象 所谓的循环对象,包含有一个next()方法(python3中为__next__() ),这个方法的目的就是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误 当一个循环结构(例如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现为止,for循环接收到,就知道循环已经结束,停止调用next() 假设我们有一个文件data.txt My English is not good. My English isn't v…
### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 16. 循环方式笔记: 1)range(0, 8, 2)   #(上限,下限,步长)  可以实现对元素或者下标的循环控制 2)enumerate() 每次返回包含两个元素的定值表tuple,分别被赋予index, char 可以实现对元素和下标的同时控制,for (index,char) in enumerate(s): 3)zip()  聚合列表 如果有多个等长的序列,然后每次循环可以从各个序列分别取一个元…
一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的“存储器”.FB的参数和静态变量安排在它的背景数据块中.背景数据块…
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1.file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象. 使用 close() 方法关闭文件是一个好的习惯. 举例: #!/usr/bin/python # -*- coding: UTF-…
十五. 构造数据类型 ● 构造数据类型概念 Structured data types 构造数据类型 结构体(structure), 联合体/共用体 (union), 枚举类型(enumeration type), 要有意识这三者是数据类型 Union is also like structure, i.e. collection of different data types which are grouped together. Each element in a structure or…
我们都知道类名是不能够直接调用类方法的.在C++中,把成员方法声明为 static 静态方法后可以通过类名调用.同样的在python中也可以通过定义静态方法的方式让类名直接调用. 静态方法 使用 @staticmethod 后紧跟着的方法为静态方法. class test: var = 10 @staticmethod def func(): print("var = ",test.var) ts=test() #实例化 ts.func() #使用对象调用静态方法 test.func(…
8.5 私有属性: 在python中,如果想将私有数据封装到类的实例上,有两种方法:1 单下划线.2 双下划线 1 单下划线一般认为是内部实现,但是如果想从外部访问的话也是可以的 2 双下划线是则无法通过外部访问且不能被继承覆盖 来看下面的这个例子: class B: def __init__(self): self.__private=0 def __private_method(self): print("__private method") def public_method(s…
类的基本思想 类:把一类事物的相同的特征和动作整合到一起就是类类是一个抽象的概念 对象:就是基于类而创建的一个具体的事物(具体存在的)也是特征和动作整合到一块 对象写法 # 对象写法 def school(name, addr, type): # 对象 def __init__(name, addr, type): # 初始化 sch = { 'name': name, 'addr': addr, 'type': type, 'kaoshi': kao_shi, 'zhaosheng': zha…
import random import urllib from urllib import request import os ######################################################### # 参数设置 wsp = 'DouziOOXX' # 打开连接 def url_open(url): req = urllib.request.Request(url) req.add_header('User-Agent', 'Mozilla/5.0…
目录 一.基础概念 1.模块定义 2.包的定义 3.导入包的本质 4.导入模块的本质 5.导入方法 6.import的本质 7.导入优化 8.模块分类 9.标准库介绍 1.time与datetime 2.random模块 3.os模块 4.sys模块 5.shutil模块 6.shelve模块 7.XML模块 8.Pyyaml模块 9.configParser模块 10.hashlib模块 11.re模块 12.collections模块 13.subprocess模块 14.logging模块…
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), #精确匹配 url(r'^articles/([0-9]{4})/$', views.year_archive), #动态路由 url(r'^articles/([0-9]{4})/([0-9]{2…
第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python python的程序由包(package).模块(module)和函数组成.模块是处理某一类问题的集合,模块由函数和类组成.包是由一系列模块组成的集合.如图所示: 包就是一个完成特定任务的工具箱,python提供了许多有用的工具包,如字符串处理.图形用户接口.Web应用.图形图像处理等.使用自带的这些工具包,可以提高程…
django  Pagination(分页) django 自带的分页功能非常强大,我们来看一个简单的练习示例: #导入Paginator>>> from django.core.paginator import Paginator#处理的对象 >>> objects = [) #查看总数据条数 >>> p.count 4#查看总页数 >>> p.num_pages >>> type(p.page_range) #…
27. 属性的__dict__系统 1)对象的属性可能来自: 其类的定义,叫做类属性 继承父类的定义 该对象实例定义(初始化对象时赋值),叫做对象属性 2)对象的属性存储在对象的 __dict__ 属性中: __dict__ 为字典,键为属性名,值是属性本身. 例子: class bird(object): feather = True # 父类 class chicken(bird): fly = False def __init__(self, age): self.age = age #…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 集合中存储的元素必须是引用类型数据 集合继承关系图 ArrayList的继承关系: 查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口.Collec…
一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出,那么第一个结束的位置添加一个逗号(,).注意只有脚本中有效,交互式对话框是看不到效果的. 1.2.想把某件事做另一件事导入. 从模块中导入函数的时候: import somemodule  或者 from somemodule import somefunction, anotherfunctio…
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则对应命名空间中的属性. Python已经导入的模块保存在一个内置的sys.modules字典中,以便记录哪些模块已经记录了. 一,模块搜索路径 导入过程首先需要定位导入文件的位置,也就是,告诉Python到何处去找到要导入的文件,因此,需要设置模块的搜索路径.在大多数情况下,Python会自动到默认…
学习Python类时,我们明白了类的本质,以及所谓的面向对象编程思想强调的对事物本身的属性,我们对某一类事物进行描述——采用了很多方法,这些方法描述了类的属性(比如猫科动物的眼睛,四肢,是否哺乳类等等)老虎属于猫科动物,因此我们可以用猫科动物的类描述来描述老虎.但除了这些共性之外,老虎自身也具有一定的差异性,这就引出了继承这一概念: 即我们在描述老虎这一对象时,可以保留猫科动物这个类的属性,同时为老虎描述新的 属性,当然,我们也是创建老虎类来描述老虎(毕竟还有东北虎,华南虎之分).下面请见一段代…
总结内容: 1.list的定义 2.list的取值 3.list数据的增加 4.list数据的删除 5.list数据的修改 6.list数据的查询 7.list方法的介绍 8.list的合并 9.多维数组 10.list的循环操作 11.list练习 1.list的定义 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 ,这个数字即元素在列表中它的位置,或者叫索引 .下标.序列中第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元…
我们常用的‘’int,str,dict,input,print,type,len‘’都属于内置函数 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十进制转二进制 print(chr(10))#打印数字对应的ascii print(ord('b'))#打印字符串对应的ascii码 print(dict(a=1,b=2))#转换字典 print(di…