![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 84
HT . WANG
Think Twice , Code Once
展开
-
Python(十四)测试、调试和异常
1.测试stdout输出写个测试来证明标准输出,会将文本打印到屏幕上面使用unitest框架进行测试# mymodule.pydef urlprint(protocol, host, domain): url = '{}://{}.{}'.format(protocol, host, domain) print(url)from io import StringIOfrom unittest import TestCasefrom unittest.mock imp原创 2022-05-26 11:40:38 · 493 阅读 · 1 评论 -
Python(十二)并发编程
1.启动与停止线程import timedef countdown(n): while n > 0: print('T-minus', n) n -= 1 time.sleep(5)from threading import Threadt = Thread(target=countdown, args=(10,)) #创建一个线程t.start() #线程启动if t.is_alive(): #查询一个线程对象的状态,看它是原创 2022-05-20 10:49:55 · 459 阅读 · 0 评论 -
Python(十三)脚本编程与系统管理
1.通过重定向/管道/文件接受输入Python内置的 fileinput 模块将命令行的输出通过管道传递给该脚本、 重定向文件到该脚本,或在命令行中传递一个文件名或文件名列表给该脚本#!/usr/bin/env python3#-----------------#filein.py#-----------------import fileinputwith fileinput.input() as f_input: for line in f_input: pr原创 2022-05-16 17:44:09 · 1135 阅读 · 0 评论 -
Python(十一)网络与web编程
1.作为客户端与HTTP服务交互(1)发送一个简单的HTTP GET请求到远程的服务上from urllib import request, parse#url的get请求 请求信息连同url一起发送url = 'http://httpbin.org/get'#需要请求获取的信息parms = { 'name1' : 'value1', 'name2' : 'value2'}# Encode the query stringquerystring = parse.u原创 2022-05-15 18:14:48 · 871 阅读 · 0 评论 -
Python(十)模块与包
1.构建一个模块的层级包在文件系统上组织你的代码,并确保每个目录都定义了一个__init__.py文件graphics/ __init__.py primitive/ __init__.py line.py fill.py text.py formats/ __init__.py png.py jpg.py以下三种导入包形式:import graphic原创 2022-05-04 18:02:42 · 1244 阅读 · 0 评论 -
Python(九)元编程
1.在函数上添加包装器想使用额外的代码包装一个函数,可以定义一个装饰器函数import timefrom functools import wrapsdef timethis(func): #定时器装饰函数 ''' Decorator that reports the execution time. ''' @wraps(func) # @wraps 装饰器来注解底层包装函数,确保被包装后的函数保留它的元信息 def wrapper(*args, **原创 2022-05-04 16:33:14 · 1978 阅读 · 0 评论 -
Python(八)类与对象
1.改变对象的字符串显示要改变一个实例的字符串表示,可重新定义它的 __str__() 和 __repr__() 方法class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'Pair({0.x!r}, {0.y!r})'.format(self) def __str__(self): re原创 2022-05-03 17:03:08 · 881 阅读 · 0 评论 -
Python(七)函数
1.可接受任意数量参数的函数(1)接受任意数量的位置参数,可以使用一个*参数def avg(first, *rest): return (first + sum(rest)) / (1 + len(rest))# Sample useavg(1, 2) # 1.5avg(1, 2, 3, 4) # 2.5(2)接受任意数量的关键字参数,使用一个以**开头的参数import htmldef make_element(name, value, **attrs):原创 2022-04-30 17:51:48 · 1120 阅读 · 0 评论 -
Python(六)数据编码与处理
1.读写CSV数据CSV数据:Symbol,Price,Date,Time,Change,Volume"AA",39.48,"6/11/2007","9:36am",-0.18,181800"AIG",71.38,"6/11/2007","9:36am",-0.15,195500"AXP",62.58,"6/11/2007","9:36am",-0.46,935000"BA",98.31,"6/11/2007","9:36am",+0.12,104800"C",53.08,"6/11/2原创 2022-04-29 10:59:41 · 1215 阅读 · 0 评论 -
Python(五)文件与IO
1.读写文本数据文件读取f = open('somefile.txt', 'rt')data = f.read()f.close()文件读取之后必须记得手动关闭文件为了避免上述操作失误,使用with语句with语句给被使用到的文件创建了一个上下文环境, 但 with 控制块结束时,文件会自动关闭# Read the entire file as a single stringwith open('somefile.txt', 'rt') as f: data = f原创 2022-04-28 11:11:44 · 820 阅读 · 0 评论 -
Python(四)迭代器与生成器
1.手动遍历迭代器遍历一个可迭代对象中的所有元素,但是却不想使用for循环为了手动的遍历可迭代对象,使用 next() 函数并在代码中捕获 StopIteration 异常。 比如,下面的例子手动读取一个文件中的所有行:def manual_iter(): with open('/etc/passwd') as f: try: while True: line = next(f) p原创 2022-04-19 20:48:30 · 1337 阅读 · 0 评论 -
Python(三)数字日期和时间
1.数字的四舍五入对浮点数执行指定精度的舍入运算类似与输出格式控制,但不同与输出格式控制,输出格式控制仅控制输出精度不会做近似处理使用内置的round(value,ndigits)函数,当一个值刚好在两个边界的中间的时候,round函数返回离它最近的偶数。 也就是说,对1.5或者2.5的舍入运算都会得到2#format格式控制>>> x = 1.23456>>> format(x, '0.2f')'1.23'>>> ...原创 2022-04-19 17:43:19 · 1187 阅读 · 0 评论 -
Python(二)字符串和文本
1.使用多个界定符分割字符串string对象的 str.split()方法只适应于非常简单的单个字符串分割情形, 它并不允许有多个分隔符或者是分隔符周围不确定的空格。当你需要更加灵活的切割字符串的时候,最好使用 re.split() 方法:line = 'asdf fjdk; afed, fjek,asdf, foo'import reresult=re.split(r'[;,\s]\s*', line)#以‘;’‘,’或空格,连续多个空格print(result)'''#结..原创 2022-04-18 18:58:13 · 1450 阅读 · 0 评论 -
Python(一)数据结构和算法
1.将序列分解为单独的变量任何的序列(或者是可迭代对象)可以通过一个简单的赋值操作来分解为单独的变量。 唯一的要求就是变量的总数和结构必须与序列相吻合。如果元素的数量不匹配,会得到一个错误提示示例如下:>>> p = (4, 5)>>> x, y = p>>> x4>>> y5>>>>>> data = [ 'CSDN', 50, 91.1, (2022, 4, 14)原创 2022-04-14 22:27:32 · 1007 阅读 · 0 评论