
Python
文章平均质量分 64
Python语言
笨蛋程序员
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在 python 中进行单元测试
单元测试(unit test)就是编写测试来验证某一模块的功能正确性。一般会指定输入,验证输出是否符合预期。单元测试进行单元测试,首先要导入 unittest 库。import unittest先写一个功能函数,这里以完成加法为例,完成两个数的加法。def add(a, b): return a + b为了验证加法函数的功能是否正确,首先创建一个 TestAdd 类,继承类 unittest.TestCase,然后在这个类中定义相应的测试函数 test_add(),测试函数要以 test原创 2022-03-05 21:36:12 · 8055 阅读 · 1 评论 -
python 上下文管理器 with 语句
上下文管理器 with 语句可以自动地分配和释放资源。读写文件这篇文章中介绍了文件读写的方法,每次读取文件时要使用 open() 函数打开文件,使用结束后要用 close() 函数关闭文件。有时,我们会忘记关闭文件,或者打开了许多文件占用太多资源。使用上下文管理器 with 语句可以方便地读取文件,它会自动地释放文件。with open('test.txt') as f: f.read()with 语句后可进行文件操作,它会自动关闭文件,而不用去调用 close() 函数。...原创 2022-03-04 12:45:11 · 1630 阅读 · 1 评论 -
python seaborn学习笔记
Matplotlib 是 python 的绘图工具,这篇笔记记录了 Matplotlib 库的使用。Seaborn 库是以 Matplotlib 库为基础的更高阶库,绘出的图也更加美观。原创 2022-02-10 22:03:46 · 961 阅读 · 0 评论 -
python matplotlib学习笔记
matplotlib 可以完成各种绘图,使用该库首先要导入 pyplot 库。import matplotlib.pyplot as pltfrom matplotlib import pyplot as plt # 两种方法等效目录代码风格二维绘图图形折线图柱形图散点图饼状图等高线图量场图样式线性颜色线性样式标记点颜色、标记点、线透明度线宽规范绘图绘制子图图形位置三维绘图代码风格有两种风格完成图的绘制,一种是对象导向(OO)风格。这种风格适合于复杂绘图,代码可以被重用。fig, ax =原创 2021-12-22 21:47:36 · 2552 阅读 · 0 评论 -
python pandas学习笔记
pandas 适用于数据分析,功能上类似于 excel,但前者便于复现。使用 pandas 首先要导入库。import pandas目录数据结构序列创建属性和方法数据框创建属性和方法读写文件csv文件Excel文件行列操作提取列增加列删除列提取行同时操作行和列bool值索引处理缺失值统计缺失值填充缺失值数据对齐和计算增加行或列增加行数据拼接逐行拼接列拼接展示数据结构序列Series 是一维数组,可以包含任意数据类型,每个数组都有一个索引标签。创建Series() 函数可以创建序列对象,它的参原创 2021-12-18 21:20:51 · 1836 阅读 · 0 评论 -
python numpy学习笔记
numpy的主要数据对象是多维数组,其中包含相同类型的元素,通常是数字类型,每个元素都有一个索引。使用numpy前通常要导入包。import numpy as np目录类型维度创建运算索引和切片类型numpy的数组被称为ndarray。numpy.array只处理一维数组,而ndarray对象才提供更多功能。a = np.array([[1, 2, 3], [4, 5, 6]])type(a) # <class 'numpy.ndarray'>dtype属性可以获得元素的数原创 2021-12-03 16:35:16 · 1864 阅读 · 0 评论 -
python os.path路径名操作模块
文件有两个重要组成部分,分别是路径和文件名。在书写路径时,Windows系统用反斜杠\作为文件夹分隔符;而在Linux上则用正斜杠/。为了进行统一处理这两种情况,可用os.path.join()函数来处理,如import osos.path.join('user', 'bin')# 'user\\bin'os.path模块提供了关于路径名的操作,所有的方法都可以接受字节或者字符串对象作为参数。在使用该模块前需要导入import os模块下的使用方法都是一样的os.path.basenam原创 2021-10-10 09:49:01 · 334 阅读 · 0 评论 -
python字符串格式化
目录f-字符串format()方法%形式文本介绍三种字符串输出方式:f字符串;format()方法;%的形式。f-字符串f-字符串需要在字符串前加上f或者F的前缀。f-字符串允许在字符串内的大括号{}中写表达式进行替换,并可在冒号后写入格式说明符来控制输出格式。print(f'The value of pi is approximately {math.pi:6.3f}.')冒号:后的整数表示表示字符宽度(可以省略),点.后的数字表示小数位数,f表示浮点数。另外的修饰器可以把值进行转化。!r表原创 2021-09-17 09:08:30 · 292 阅读 · 0 评论 -
Python 浅拷贝与深拷贝
python赋值语句不会复制对象,只会指向目标对象。当一个值改变时,另一个值会跟着改变。copy模块提供了浅拷贝和深拷贝,可以解决这一问题。浅拷贝浅拷贝构造一个新的对象,把原对象的引用插入其中。copy.copy(x)修改浅拷贝对象中引用的内容时,原对象也会跟着修改。深拷贝深拷贝构造一个新的对象,并把原对象中的拷贝插入其中。copy.deepcopy(x[, memo])修改深拷贝对象中引用的内容时,原对象不会跟着修改。memo参数可以防止递归拷贝。可以通过定义类的__cop原创 2021-08-19 12:05:39 · 352 阅读 · 0 评论 -
Python pprint模块
pprint模块可以漂亮地打印列表和字典。目录PrettyPrinter()对象pformat()方法pprint()方法isreadable()方法isrecursive()方法format()方法pprint()pformat()pp()isreadable()isrecursive()saferepr()PrettyPrinter()对象用于构造示例。stream关键字参数用于设置输出流,流对象上使用的唯一方法是对象的write(),如果没有输入该参数,则表示标准输出。indent表示缩进数,默原创 2021-08-19 11:51:19 · 839 阅读 · 0 评论 -
python 剪切板pyperclip模块
pyperclip模块可以读取计算机剪切板里的内容。目录安装使用安装使用下面的命令安装模块。pip install pyperclipMac系统需要配合pbcopy和pbpaste命令。Linux系统需要使用xlip和xsel命令。使用使用时首先导入模块。import pyperclip向剪切板发送文本使用copy()函数。pyperclip.copy('Hello World!')从剪切板读取文本使用paste()函数。pyperclip.paste() # 'Hello原创 2021-08-19 10:30:22 · 800 阅读 · 0 评论 -
python数值类型
python数值类型分为整型、浮点型和复数型,布尔型数据是整型的一种。目录整型浮点型复数型运算数据类型转化整型整型数据没有精度限制,当把一个整数赋值给变量时,就得到了整型数据。i = 123type(i) # <class 'int'>type()可以查看变量的类型。浮点型浮点型数据是由C语言中的double类型实现,它的精度由机器决定,可以通过sys.float_info查看。import sysprint(sys.float_info)''' 输出信息sys原创 2021-07-11 21:40:19 · 1101 阅读 · 0 评论 -
python读取写入excel文件
Excel文件包含多个表,当前查看的表为活动表。每个表有多列,从A开始编号;也有多个行,从1开始计数。目录读取文件写入文件读取文件打开文件python打开excel文件需要导入openpyxl模块,使用openpyxl.load_workbook()函数,该函数接受一个文件名,获得Workbook()对象。import openpyxlwb = openpyxl.load_workbook('table.xlsx')读取表格get_sheet_names()可以取得文件中所有表名,原创 2021-07-04 21:32:33 · 751 阅读 · 5 评论 -
python日志logging模块
使用日志必须导入logging模块,并做好配置。import logginglogging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s - %(message)s'在打印日志时使用logging.debug()函数调用basciConfig()打印信息。例如def factorial(n): logging.debug('Start of factorial(%s)' % (n)) to原创 2021-07-04 12:55:02 · 350 阅读 · 1 评论 -
python读取和压缩ZIP文件
ZIP文件即压缩包,python的zipfile模块可以很容易地实现ZIP文件的读取、解压和创建。目录读取解压创建使用前需要导入zipfile模块。import zipfile读取首先,通过zipfile.ZipFile()函数,创建ZipFile对象。f = zipfile.ZipFile('filename.zip')接下来,可以通过namelist()方法获取压缩包中的所有文件和文件夹名称列表。f.namelist()压缩包中的文件可以通过getinfo()方法传递给特定文件的原创 2021-07-03 23:56:00 · 10140 阅读 · 8 评论 -
python 集合set和fronzeset的使用
python中捅过set()函数或尖括号创建集合。常用方法如下表函数语法说明a.add(x)将元素x添加到集合aa.clear()将集合清空a.remove(x)将元素x从集合a中除去a.pop()从集合a去除任意元素,如果集合为空,则抛出异常a.union(b)a | b集合a和b取并集a.update(b)a |= b集合a更新为a和b的并集a.intersection(b)a & b集合a和b取交集a原创 2021-03-02 13:42:33 · 362 阅读 · 0 评论 -
解决pip安装包到全局环境的问题
在 conda 虚拟环境中,可使用conda install命令安装包,然而该命令并不能安装所有的包,有些包依旧需要使用pip命令进行安装。但是,pip install命令将包安装到了全局环境中,无论你是否已经激活了虚拟环境。我发现网上有许多人推荐使用python -m pip install的形式进行安装,但是该方法亲测无效!!。我的解决方案是:创建虚拟环境并激活conda create -n envconda activate env在虚拟环境中用安装pipconda insta原创 2021-02-10 23:13:04 · 7697 阅读 · 0 评论 -
python读写CSV文件
CSV文件是以逗号分隔的表格文件。在CSV文件中只有1个工作表,值没有类型,都是字符串。CSV文件有自己的转移字符,不适用split()通过逗号分隔,因为值内可能自带逗号。可以通过csv模块来处理CSV文件。目录ReaderWriter分隔符和终止符Reader读取数据需要创建一个Reader对象,它可遍历文件中的每一行,如import csvfile = open('test.csv')reader = csv.reader(file)data = list(reader)首先导入csv原创 2021-01-28 10:54:50 · 562 阅读 · 0 评论 -
python异常和断言
异常在写程序时可能会遇到错误,整个程序就会崩溃,但我们希望程序能检测错误并继续执行。这可以使用try-except语句来处理,把可能出错的语句放在try子句中,如果发生错误,则转到except子句。如try: print(2 / 0)except ZeroDivisionError: print('Error: Invalid argument.')这个代码处理了除数为0的异常。在代码except语句中提到了ZeroDivisionError异常,此外还有其它异常,如下表异常描述原创 2021-01-27 11:15:53 · 389 阅读 · 0 评论 -
python文件和变量读写
目录文件与`os`模块文件读写打开文件读取内容写入内容关闭文件上下文管理器变量读写文件与os模块文件有两个重要组成部分,分别是路径和文件名。在书写路径时,Windows系统用反斜杠\作为文件夹分隔符;而在Linux上则用正斜杠/。为了进行统一处理这两种情况,可用os.path.join()函数来处理,如import osos.path.join('user', 'bin')# 'user\\bin'其中有两个反斜杠是因为需要用到转义字符。此外,os模块还有其它一些实用函数,如下表所示原创 2021-01-26 12:49:35 · 6315 阅读 · 0 评论 -
python正则表达式
正则表达式(Regex)用于文本匹配,可以大量减少代码编写量。目录基本步骤例子括号分组管道分组`findall()`方法匹配换行大小写替换空白基本步骤python运用正则表达式首先要导入re模块。import re再向re.compile()传入字符串表示正则表达式,返回Regex对象,如phoneNum = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')字符串前加r表示原始字符串,以免\d被识别为转移字符。Regex对象search()方法查找传入的字符原创 2021-01-24 19:26:00 · 343 阅读 · 0 评论 -
python函数装饰器
装饰器在调用函数时,可以对一些重复的功能进行包装。例如,当计算一个函数的运行时间时,需要记录开始调用的时刻和返回的时刻,并进行相减得到时间。如果重复进行多次,则需要做多个这种操作。为了简化这一过程,可使用装饰器。如def timmer(func): def wrapper(): start_time = time.time() func() stop_time = time.time() print("运行时间是 %s 秒 " %原创 2021-01-23 12:35:36 · 396 阅读 · 0 评论 -
python函数闭包
闭包闭包实现了函数的嵌套,也就是说在函数内定义函数,如加法函数:def sum(a): def add(b): return a + b # 内部函数add()引用了外部函数sum()的变量a return add # 外部函数返回的是函数名在调用时fun = sum(2) # sum()返回的是函数,因此fun可做函数使用print(fun(4)) # 输出6对于上面加法的例子来说,实际上比写成普通的函数更麻烦。但是闭包却很有价值。再比如,对于一个y=ax+b的式子原创 2021-01-23 12:02:54 · 967 阅读 · 4 评论 -
python的lambda匿名函数
python 中函数一般可以写成下面这种形式def fun(x, y): return x + y在这种简单的计算情况下,无需定义函数名和返回值,可以写成更简单的 lambda 表达式的形式,如f = lambda x, y: x + yf(2, 3) # 调用返回5g = lambda : 2g() # 调用返回2...原创 2020-12-29 10:05:03 · 159 阅读 · 0 评论 -
python函数变长参数
在函数定义时只需要在参数前加上星号*,如def fun(first, *other): print(first) print(other)fun()函数必须至少传递一个参数给first,否则会报错。这样可以对函数进行调用,如fun(1, 2, 3)# 输出# 1# (2, 3)fun(100)# 输出# 100# ()...原创 2020-12-28 13:44:24 · 385 阅读 · 0 评论 -
Python字典dict的使用
目录字典`keys()`、`values()`和`items()`方法`in`和`not in``get()`方法`setdefault()`方法字典和字符串嵌套字典像列表一样,字典也是许多值的集合。字典的索引被称为键,不只是整数,可以是其它类型。键及其关联的值称为键-值对。例如:cat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}字典由大括号{和}开头和结束,冒号:前表示键,冒号后表示值,多个键-值对用逗号分隔。可用键作为索引原创 2020-12-23 11:38:34 · 999 阅读 · 0 评论 -
Python列表list的使用
目录列表类型下标切片长度修改元素中的值连接和复制删除列表中的值列表类型列表是由多个值组成的序列。通常说的列表值指的是列表本身,而不是列表中的元素。列表以左方括号[开始,以右方括号]结束。列表中的值也称为表项,用逗号分隔。如l1 = [1, 2, 3]l2 = ['cat', 'bat', 'rat']l3 = [] # 空列表列表中也可以包含列表。如l = [['cat', 'bat', 'rat'], [1, 2, 3]]下标列表中的第1个值下标是0,第2个值下标是2,以此类推。如原创 2020-12-18 13:25:13 · 661 阅读 · 0 评论 -
Python字符串string的使用
目录字符串连接和复制下标和切片`in`和`not in`大小写字符串在python中,字符串以单引号'或双引号"开头或结束,如str1 = 'python'str2 = "python"但是,如果字符串内包含了单引号或者双引号呢?可有如下几种方法。单双引号混用如果字符串中有单引号',那么字符串用双引号"开头或结尾;如果字符串中有双引号",则以单引号'开头或结尾,如str1 = 'hello " world'str2 = "hello ' world"转义字符字符串中可以使用原创 2020-12-16 22:34:56 · 1634 阅读 · 0 评论 -
如何进入和使用Python交互式环境
Python交互式环境进入原创 2020-07-06 17:46:07 · 10373 阅读 · 0 评论 -
Python的下载安装与环境变量配置
Python语言发展Python下载 安装 环境变量配置原创 2020-03-30 12:33:46 · 628 阅读 · 0 评论