#单元测试import unittestdef get_formatted_name(first,laster):a = first" "laster-
return a classNamesTestCase(unittest.TestCase):#继承测试类-
'''测试name_function.py''' -
def setUp(self): -
'''这里填写公用的调用类,后面直接进行测试即可''' -
def test_first_last_name(self):#test打头自动运行 -
'''能否处理''' formatted_name = get_formatted_name('zhang','san')self.assertEqual(formatted_name,'zhang san')#断言方法,进行输出值比对unittest.main()assertEqual(a, b)核实a == bassertNotEqual(a, b)核实a != bassertTrue(x)核实x为TrueassertFalse(x)核实x为FalseassertIn(item, list)核实item在list中assertNotIn(item, list)核实item不在list中#虚拟环境mkdir learing_logpython3 -m venv ll_env #建立source ll_env/bin/activate #启用环境deactivate #关闭环境#Djangopip install Django#安装django-admin.py startproject learning_log .#创建新项目ls learning_log #查看项目文件settings.py #指定Django如何与你的系统交互以及如何管理项目urls.py #django应该创建哪些网页响应请求wsgi.py #帮助Django提供它创建的文件python3 manage.py migrate #安装sqlite3python3 manage.py runserver 0.0.0.0:8000#启动程序python3 manage.py startapp learning_logs #创建一个应用models.py #定义套在应用程序中管理的数据admin.py #views.py ##修改数据库安装版本vim ll_env/lib/python3.6/site-packages/django/db/backends/sqlite3/base.pyclassTopic(models.Model):text = models.CharField(max_length=200)#最多存储200字符date_added = models.DateTimeField(auto_now_add=True)#记录日期和时间-
def __str__(self): -
return self.text #默认用哪个来返回信息 #应用,INSTALLED_PASS,新的要加最后面learning_log/settings.pypython3 manage.py makemigrations learning_logs #和app建立数据关系,写出一个修改脚本python3 manage.py migrate #执行这个修改脚本python3 manage.py createsuperuser #创建超级用户,输入用户名,邮箱,2次密码#模块from random import choicechoice(name)#随机返回name这个列表中的一个内容from collections importCounter#计数器name =['xx','a','xx']number =Counter(name)#返回字典,键值还有重复次数number.most_commont()#降序排列number.most_commont()#该数字前一个元素name one #将2个计数器合起来name - one #第一有的,而第二个没有的name & one #交集name | one #并集,类似合并,但数值不叠加,只选取较大值from collections importOrderedDict#有序字典quotes =OrderedDict([-
('Moe','A wise guy, huh?'), -
('Larry','Ow!'), -
('Curly','Nyuk nyuk!'), -
]) def palindrome(word):#双端队列,两边要一致,例子是回文-
from collections import deque dq = deque(word)-
while len(dq)>1: -
if dq.popleft()!= dq.pop(): -
returnFalse -
returnTrue palindrome('aba')#return word == word[::-1] #迅速判断回文import itertoolsfor i in itertools.chain([1,2],['a','b'])#只迭代单个for i in itertools.cycle([1,2])#循环迭代,一致重复for i in itertools.accumulate([1,2,3])#输出挨个的叠加值def multiply(a, b):-
return a * b for item in itertools.accumulate([1,2,3,4], multiply):#可以调入函数,做乘机#模块位置import sysfor i in sys.path:-
print(i) #二进制读写bdata = bytes(range(0,256))fout = open('bfile','wb')fout.write(bdata)fout.close()#自动关闭with open('relativity','wt')as fout:fout.write(poem)#fin.tell()#文件目前读取位置到开头距离fin.seek(255)#跳转到某个位置xx = fin.read()#然后继续读后面的seek(offset,origin)如果origin等于0(默认为0),从开头偏移offset个字节如果origin等于1,从当前位置处偏移offset个字节如果origin等于2,距离最后结尾处偏移offset个字节fin.seek(-1,2)#文件结尾前一个字节fin.seek(254,0)#返回最后2个字节fin.seek(1,1)#前进一个字节python -m http.server #最简单web服务器os.getpid()#当前脚本的进程号os.getuid()#当前用户idos.getgid()#当前用户组idimport subprocessret = subprocess.getoutput('date')#获取命令的输出ret = subprocess.check_output(['date','-u'])#接受一个命令和参数列表,返回字节类型标准输出ret = subprocess.getstatusoutput('date')#获取退出状态,返回元祖ret = subprocess.call('date')#只要退出状态ret = subprocess.call('date -u', shell=True)#执行shell命令ret = subprocess.call(['date','-u'])#传入参数列表,不调用shell#简单打印import multiprocessingimport osdef do_this(what):whoami(what)def whoami(what):-
print("Process %s says: %s"%(os.getpid(), what)) if __name__ =="__main__":whoami("I'm the main program")-
for n in range(4): p = multiprocessing.Process(target=do_this,args=("I'm function %s"% n,))p.start()#终止进程模拟import multiprocessingimport timeimport osdef whoami(name):-
print("I'm %s, in process %s"%(name, os.getpid())) def loopy(name):whoami(name)start =1stop =1000000-
for num in range(start, stop): -
print("tNumber %s of %s. Honk!"%(num, stop)) time.sleep(1)if __name__ =="__main__":whoami("main")p = multiprocessing.Process(target=loopy, args=("loopy",))p.start()time.sleep(5)p.terminate()import calendarcalendar.isleap(1900)#检测是否是闰年from datetime import datehalloween = date(2014,10,31)halloweenhalloween.dayhalloween.monthhalloween.yearhalloween.isoformat()#打印时间from datetime import datenow = date.today()#显示进日期,返回元祖from datetime import timedeltaone_day = timedelta(days=1)tomorrow = now one_daytomorrownow17*one_dayyesterday = now - one_dayyesterdayfrom datetime import time #一天中的时间noon = time(12,0,0)noondatetime.time(12,0)noon.hournoon.minutenoon.secondnoon.microseconddef washer(dishes, output):-
for dish in dishes: -
print('Washing', dish,'dish') output.put(dish)def dryer(input):-
whileTrue: dish = input.get()-
print('Drying', dish,'dish') input.task_done()dish_queue = mp.JoinableQueue()dryer_proc = mp.Process(target=dryer, args=(dish_queue,))dryer_proc.daemon =Truedryer_proc.start()dishes =['salad','bread','entree','dessert']washer(dishes, dish_queue)dish_queue.join()
Python单元测试
2021-06-21 14:16:42
浏览数 (5)


