自定义IO异步基础知识: --所有的请求都基于socket实现,一个请求就是一个socket socket.setblocking(False) 不需要阻塞,一个请求完了发送另外一个,会报错,需解决 --IO多路复用[是同步的请求] IO多路复用有epoll, poll, select,知道epoll性能比其他几者要好[epoll先找到门牌号然后找人]。 IO多路复用本质上是在同一个线程或进程中,通过拨动开关的方式来执行多个IO操作。注意实际上每个I...
1、判断字符串,内容是否为数字我们用python;xlrd读Excel内容时,本来只是输入的整数字,经常读出来的是float类型我们需要自动转成整型,意思就是说,读出来的和我们输入的一样,但是,我们不能直接用int转换,原因呢,我们无法确定读的每个单元格的值都是数字那么我们自己,定认一个函数如下:def isNumeric(value):try:tv = float(value)return int(tv)except ValueError:return value 2、获取当前系统时间import time#获取当前...
1.自定义的日志模块如下:import logging from logging.handlers import TimedRotatingFileHandler import datetime from common import dir_config # 存放日志的路径# 配置日志的显示内容格式 fmt = "%(asctime)s %(levelname)s %(filename)s %(funcName)s [ line:%(lineno)d ] %(message)s" datefmt = "%Y-%m-%d %H:%M:%S"# 获取当前时间 now_time = datetime.datetime.now().strftime(‘%Y-%m-%d‘) # 把当前时间转换成str n...
在开始本节之前,首先介绍下偏函数partial。首先借助help来看下partial的定义首先来说下第一行解释的意思:partial 一共有三个部分:(1)第一部分也就是第一个参数,是一个函数,这个函数可以是你定义的,也可以是Python内置函数(2)第二部分是一个可变参数,*args,比如内置函数max的参数就是一个可变参数,max(1,2,3,4,5)=5(3)第三部分是一个关键字参数,比如内置函数int的第二个参数就是命名关键字参数,默认base=10,表示...
python自定义元类,约束子类""" 对象的类型称为类,类的类就称为元类。Python 中对元类实例化的结果就是“普通类”,这个过程是动态的。 在定义类时可以指定元类来改变类的创建过程。你想创建某一批类全部必须实现某种方法属性,则可通过 metaclass = ModelBase 来实现。 若在继承了type的类如:ModelBase(type),并重写 new() 方法,使用 metaclass 可以在创建类时动态修改类定义。new(cls,) 用来创建一个(未初始化)实例;init(s...
Python中自带的堆heapq,不支持自定义的比较函数。 这导致,heapq中的元素,如果是结构体的话,不太方便。实现了一个支持自定义比较函数的Heap类。 ?123456789101112131415161718192021222324252627282930313233343536importheapqimportrandom classMyHeap(object): def__init__(self, initial=None, key=lambdax:x): self.k =20 # the Size of this Heap self.key =key self._data =[] defpus...
class PricePolicyInvalid(Exception):def__init__(self, msg):self.msg = msg 原文:https://www.cnblogs.com/wt7018/p/11620654.html
#!/usr/bin/env python#-*- coding:utf-8 -*-import osimport jsondef login(): #用户注册 account_file =‘d:\login.txt‘ locked_file =‘d:\lock.txt‘ print("-----------------------用户注册------------------") login_name = input("请输入用户名:") login_passwd=input("请输入密码:") file = open(account_file,‘a‘) file.write(‘{‘+"‘user‘:"+"‘"+logi...
自定义函数语法结构:def fun1([x],[y],....): 语句1 语句2使用def语句来定义函数,在def后依次写出函数名、小括号、参数(可无)、冒号,然后缩进写函数体 1、无参函数:def test(): print ‘这是不带参数的函数‘test() 2、带参数的函数def test1(x,y): #x,y为形参(提供给使用者的接入) print x * ytest1(2,3) #调用时称为实参 3、带参数有返回值的函数def test2(a,b): print a ...
上网查了下资料和自己实验了下,有几个方法:1.如果导入的模块和主程序在同个目录下,直接import就行了2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:(1)通过”import sys,sys.path.append(...
一、系统异常 """ 捕获异常 """def test_div(num1, num2):"""除法:param num1::param num2:"""return num1/num2if__name__ == ‘__main__‘:# except后面无异常类型,则默认捕获Exception,则是捕获所有的异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisionError: division by zeroexcept:print("报错啦") # 输出:报错啦,除数不能为0# 捕获指定异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisi...
if__name__ == ‘__main__‘:# schedule 定时模块用于周以下的定时比较方便,如果涉及月等多个自定义定时则力所不及# #schedule方法是串行的,也就是说,如果各个任务之间时间不冲突,那是没问题的;如果时间有冲突的话,会串行的执行命令#每隔十分钟执行一次任务# schedule.every(10).minutes.do(main)#每隔一小时执行一次任务# schedule.every().hour.do(main)#每天的10:30执行一次任务# schedule.every().day.at("10:30").do(ma...
注意自定义函数:统一文件内函数名称不能相同。单返回值语法结构: def function_name([para1,para2...]) code... code... ... return value--------------可以返回一个值eg:def test_c(n1,n2):-------------函数定义 n=n1+n2 return nsum1=test_c(100,102)----------函数调用----最好不要用sum,因为sum为关键字print ‘sum1=‘,sum1sun1用于接受函数的返回值。自定义函数有返回值,在调用的...
自定义异常自定义一个继承自Exception的类,在类中定义__str__(self)返回自定义的异常信息,然后便可以通过raise抛出这种自定义异常,捕获处理和普通的异常完全一样class SelfException(Exception):def __init__(self,msg):self.msg = msgdef __str__(self):return self.msgdef throwException():i = 0if i == 0:raise SelfException("自定义错误")try:throwException() except SelfException as e:print(e)断言通过assert(断言)...
一,自定义函数Python有自带的函数,而自己定义新的函数也是可以的。函数定义要指定这个新函数的名字,还需要一系列语句放到这个函数里面,当调用这个函数的时候,就会运行这些语句了。>>> def print_new():... print(‘I am ok‘)... print(‘I am very fine‘)... #交互模式必须要多敲一行空格,Python才知道赋值结束。>>>这里的def就是一个关键词,意思是这是在定义一个函数。函...