Python
写进メ诗的结尾。
这个作者很懒,什么都没留下…
展开
-
知识点杂记
但是在类中,以双下划线开头的变量、函数会触发名称改编,以避免子类对基类中私有成员的直接访问,因此在外部调用时需使用。实例方法是最常用的方法类型,至少接受一个名为 self 的参数,代表类实例本身。以单下划线开头的变量、函数、类在名义上都属于私有,即建议我们不要在作用域外部去调用,但并没有强制规定,依然可以在作用域外部调用。,用于判断某个表达式的值是否为 True,如果为 True,则程序继续运行, 否则程序停止运行,并抛出。类方法可以在不创建类实例的情况下被调用,并且可以访问类属性和类方法。原创 2024-06-28 10:55:34 · 739 阅读 · 1 评论 -
*args 与 **kwargs
是一个特殊的语法,用于表示函数定义或调用时的可变参数列表(variable argument list)。这里的星号(*)表示 “任意数量”,而。是 “arguments”(参数)的缩写。在函数调用时,可以通过 * 操作符将序列(列表、元组、字符串等)中的元素解包为位置参数。时,它表示函数可以接受任意数量的关键字参数,并将它们作为字典接收。是一个常用的语法,用于表示函数调用时的关键字参数(keyword arguments)。时,它允许你传递任意数量的命名参数,这些参数在函数内部可以作为一个字典来访问。原创 2024-06-03 15:58:00 · 241 阅读 · 1 评论 -
数据的正态性检验
判断 pd.Series 数据是否符合正态分布,可以采用以下几种方法。原创 2024-04-25 11:38:11 · 244 阅读 · 0 评论 -
生成器、迭代器、装饰器
send() 可以和 next() 一样用来生成值(即调用 send() 时会从生成器对象中生成值),还可以往生成器内部传递数据,会把数据传递给 yield 前面的变量;装饰器本质上是一个函数,它可以接收一个函数作为参数,并返回一个新的函数。生成器是 Python 中一种特殊的迭代器,它不需要一次性将所有值都生成出来,而是可以在需要时逐个生成值,从而节省内存空间,生成器在处理大量数据或需要延迟生成的数据时非常有用。方法的类,它可以像函数一样被调用,并且可以接受一个函数作为参数,返回一个新的函数。原创 2024-04-15 16:17:30 · 732 阅读 · 0 评论 -
__init__.py 的作用
初始化包:__ init __.py 文件可以包含初始化代码,当包被导入时,这些代码会被执行。指示包含该文件的目录是一个 Python 包:当 Python 导入一个包时,会查找该包所在目录下是否包含 __ init __.py 文件,如果存在,则将该目录视为一个包。方便包的管理:__ init __.py 文件可以包含一些与包相关的元数据信息,或者提供一些方便包使用者的接口。控制包的导入行为:通过在 __ init __.py 文件中定义 __ all __ 变量,可以控制在使用。原创 2024-03-25 14:11:28 · 629 阅读 · 0 评论 -
批量更改文件名称
【代码】批量更改文件名称。原创 2023-11-15 16:30:37 · 66 阅读 · 0 评论 -
virtualenv虚拟环境
virtualenv是一个用于创建Python虚拟环境的工具,它可以在一台机器上同时运行多个互不干扰的Python环境,每个虚拟环境都有自己的Python解释器和包库,可以独立安装所需的Python包和依赖项。原创 2023-10-31 17:09:41 · 263 阅读 · 0 评论 -
Ubuntu离线安装Python第三方库
下载PyYAML-5.3.1.tar.gz安装包。这里以安装PyYAML为例。首先进入PyYAML。原创 2023-09-07 15:02:56 · 917 阅读 · 0 评论 -
Ubuntu离线或在线安装Python解释器
这里以安装Python3.5.7为例。原创 2023-09-07 14:50:55 · 1480 阅读 · 0 评论 -
杂记 —— pandas、pyplot
有时需要将数值转成int类型,但没法通过int()进行强制转换,此时可以尝试使用round()进行转换。原创 2023-08-25 10:30:19 · 90 阅读 · 0 评论 -
张量与数组的属性对比
【代码】张量与数组的属性对比。原创 2023-08-21 09:35:08 · 41 阅读 · 0 评论 -
使用Python与SQL Server进行连接和交互
CREATE TABLE student (id INT, name VARCHAR(20), age INT, sex VARCHAR(10)) # 创建一个名为student的表,包括id、name、age和sex四个字段。UPDATE student SET name=‘Lucy’ WHERE id=1 # 将student表中id为1的记录中的姓名改为Lucy。SELECT name, age FROM student # 从student表中检索name、age列。原创 2023-07-23 15:10:36 · 651 阅读 · 0 评论 -
Python读取文件的几种方法
Python的内置函数open()可以打开一个文件,并返回一个文件对象。通过read()、readline()、readlines()方法可以对文件对象进行内容的读取。原创 2023-04-20 00:25:20 · 1268 阅读 · 0 评论 -
Python第三方库——easydict
像上面这样去访问字典中的元素略显不便,现在我们希望可以使用类似访问属性的方式来访问字典里的元素,例如通过dct.foo这种调用形式来获取相应的值。通过EasyDict创建的字典,既属于EasyDict类,也属于dict类;而通过dict创建的字典只属于dict类,并不属于EasyDict。这表明dict > EasyDict。在Python中,当我们需要访问字典中的元素时,要使用类似dct[‘example’]的形式来取值。可以直接使用dict()将easydict转换成普通的dict。原创 2023-04-19 17:08:26 · 267 阅读 · 0 评论 -
hasattr、getattr、setattr、delattr
setattr()函数用于设置对象的属性值,如果属性已存在,则会重新赋值;如果属性不存在,则会创建属性并赋值。hasattr()函数用于判断对象是否包含对应的属性,如果有该属性返回True,否则返回False。getattr()函数用于返回一个对象的属性值。delattr()函数用于删除对象的属性。原创 2023-04-19 16:37:32 · 146 阅读 · 0 评论 -
importlib
并不是所有模块都可以成功导入,这时候可采用importlib.util.find_spec函数来判断查找的module是否存在。(当前测试过程中,如果父级目录不存在会报异常,若只有根目录不存在则返回None)当需要在a.py文件中调用c.py文件中的对象/方法时,可采用importlib.import_module函数。#相对导入,注意路径前面有一个“.”,(这时__name__就可以派上用场).绝对导入,name为完整路径str,package为None。.相对导入,package需指定对应包位置。转载 2023-04-19 11:39:48 · 135 阅读 · 0 评论 -
Python 标准模块之 argparse
Python 标准模块之 argparse原创 2022-09-07 12:48:58 · 138 阅读 · 0 评论 -
np.random
np.randomrd = np.random.random() # 生成一个0到1的随机浮点数,(0, 1)rdm = np.random.random(3) # 生成三个0到1的随机浮点数,并以numpy数组的形式返回rdom = np.random.random((2, 3)) # 生成两行三列0到1的随机浮点数,并以numpy数组的形式返回print(rd, type(rd))print(rdm, type(rdm))print(rdom, type(rdom))--------原创 2022-01-15 11:48:38 · 356 阅读 · 0 评论 -
Numpy
NumpyNumpy数组的属性arr = np.array([[1, 2, 3], [4, 5, 6]])print(arr)print('dim:', arr.ndim) # 查看arr数组的维度print('shape:', arr.shape) # 查看arr数组的形状,即几行几列print('size:', arr.size) # 查看arr数组共有多少个元素print('type:', arr.dtype) # 查看arr数组中的元素是什么类型原创 2022-01-14 14:01:11 · 954 阅读 · 0 评论 -
yaml -- 另一种标记语言(专门用来写配置文件的语言)
yaml简介1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式2.yaml基本语法规则:·大小写敏感·使用缩进表示层级关系·缩进时不允许使用Tab键,只允许使用空格。·缩进的空格数目不重要,只要相同层级的元素左侧对齐即可·#表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注转载 2021-09-13 11:47:21 · 414 阅读 · 0 评论 -
python中os库的一些基本操作
os.system()和os.popen()是Python与操作系统进行交互的两个方法,都可以执行shell命令。os.path.isfile(file) # 判断对象是否为一个文件;os.path.dirname(path):去掉当前文件名,返回目录;os.path.realpath(__ file __ ):指代当前文件的绝对路径。os.path.abspath(__ file __ ):指代当前文件的绝对路径。os.path.basename(__ file __ ):只获取当前文件的名字。原创 2021-09-13 10:11:27 · 242 阅读 · 2 评论 -
python中几个特殊的函数
filter()函数:过滤作用语法:filter(function, iterable)function – 判断函数iterable – 可迭代对象input = [2, 18, 9, 22, 17, 24, 8, 12, 27]# 过滤出所有input中能被3整除的数print(list(filter(lambda x: x % 3 == 0, input)))---------[18, 9, 24, 12, 27]map()函数:根据给定函数,对指定序列做映射语法:map(fun原创 2021-09-13 10:08:46 · 323 阅读 · 0 评论 -
random模块与np.random模块的对比
random.random() # 生成一个0到1的随机浮点数,[0, 1)np.random.random() # 生成一个0到1的随机浮点数,(0, 1)np.random.random(k) # 生成k个0到1的随机浮点数并作为列表返回,(0, 1)np.random.random((2, 3)) # 生成2行3列的随机浮点数,(0, 1)~ rand()生成的随机数服从0~1均匀分布np.random.rand() # 生成一个0到1的随机浮点数,[0, 1)np.random原创 2021-09-05 22:31:38 · 470 阅读 · 0 评论 -
python经典例题(三)
【程序21】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。分析:分子和分母的变化规律与斐波那契数列契合num = 2 # 分子den = 1 # 分母lst = []print('分数序列为:', end='')for i in range(1, 21): print(f'{num}/{den}', end=' ') lst.append(num / den) num, den = num + den, n原创 2021-09-05 15:22:11 · 931 阅读 · 0 评论 -
python经典例题(二)
【程序11】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数分析:依次判断每一个三位数,其个位数立方加上十位数立方加上百位数立方等于其本身获取个位数:i % 10获取十位数:i // 10 % 10获取百位数:i // 100 % 10print('水仙花数有:', end=' ')for i in range(100, 1000): if (i // 100) ** 3 + (i // 10 % 10) ** 3 + (i % 10) ** 3原创 2021-09-05 09:31:34 · 1188 阅读 · 0 评论 -
python经典例题(一)
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析1:从数字1开始,先固定数字1,然后从这四个数字中按从低到高的顺序选择两个数字与其组合,如果数字重复则跳过,依次进行sum = 0for i in range(1, 5): for j in range(1, 5): if i == j: continue for k in range(1, 5): if i == k原创 2021-09-02 11:48:44 · 347 阅读 · 0 评论 -
集合的若干方法
集合中可以存储任意类型的数据。集合具有互异性,即集合中的元素不可能重复。创建一个空集合必须用set()而不是{}。如果使用空的{}来创建一个对象,该对象是字典,并不是集合。用{}创建对象,{}中至少要有一个元素,此时才是集合。集合的底层是基于hash表实现的,因此集合中的元素必须是可哈希的,也就是说必须是不可变类型。集合的方法:set.add(x) # 增加一个元素。将元素x添加到集合set中,如果元素已存在,则不进行任何操作set.update(x) # 同时添加多个元素,以逗号隔开s原创 2021-07-24 15:59:00 · 99 阅读 · 2 评论 -
字典的若干方法
字典中的键不能出现重复,如果同一个键被赋值两次,后一个值会被记住。字典中的键只能是不可变对象,如数字、字符串、元组可以为键,但是列表不能。字典中的值可以是任何类型的对象。字典的方法:dict.get(key, default=None) # 返回指定键的值,如果键不在字典中则返回默认值None或者设置的默认值dict.setdefault(key, default=None) # 返回指定键的值,如果键不在字典中则返回默认值None或者设置的默认值,而且会将键添加到字典中并将值置为None或者原创 2021-07-24 12:19:32 · 111 阅读 · 0 评论 -
列表与元组的若干方法
列表的方法:list.append(elem) # 在列表末尾添加一个新的元素list.extend(seq) # 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表);该方法的参数得是一个可迭代对象,该方法会将可迭代对象的元素追加到列表末尾,如字符串lst = [1, 2, 3]lst.extend('book')print(lst)---------[1, 2, 3, 'b', 'o', 'o', 'k']list.insert(index, elem) # 将指原创 2021-07-22 10:39:11 · 223 阅读 · 0 评论 -
字符串的若干方法
str.index(substr[, start[, end]]) # 检测字符串str中是否包含子字符串substr;如果包含子字符串则返回开始的索引值,否则抛出异常str.find(substr[, start[, end]]) # 检测字符串str中是否包含子字符串substr;如果包含子字符串则返回开始的索引值,否则返回-1str.rfind(substr[, start[, end]]) # 检测字符串str中是否包含子字符串substr;如果包含子字符串则返回最后一次出现的索引值,否则原创 2021-07-21 13:44:58 · 64 阅读 · 0 评论 -
错误和异常
错误和异常1 语法错误在初学Python的时候最容易犯的错误就是Python的语法错误。在Python中,如果错误信息是以 “SyntaxError” 开头,表示这是一个语法错误;Python解释器会提示在哪个文件的第几行的什么位置出现错误;语法错误通常意味着书写格式或使用方式不正确。2 异常程序在运行时,如果Python解释器遇到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常。程序停止执行并且提示错误信息这个动作,通常称之为抛出异常(raise Exception)。简单的捕原创 2021-01-27 20:37:36 · 116 阅读 · 0 评论 -
面向对象
面向对象1 面向过程与面向对象1.1 面向过程面向过程的编程是面向流程的,就是一步一步的按照过程来进行,把完成某一个需求的所有步骤从头到尾逐步实现;根据开发需求,将某些功能独立的代码块封装成一个又一个函数。面向过程最重要的特点就是函数,即把执行一件事的过程拆分成一个又一个步骤,然后将这些步骤变为一个又一个的子函数,再通过主函数按照顺序来调用这些子函数以完成整个事件。这些子函数需要按照事件的发展顺序,或者程序中代码的编写顺序一步一步的执行下去。面向过程的特点:注重步骤与过程,不注重职责分工如原创 2021-01-21 00:01:51 · 683 阅读 · 7 评论 -
函数
函数1 函数的定义在编程中,我们经常要调用相同或者类似的操作,这些相同或者类似的操作是由同一段代码完成的,而函数的出现,可以帮助我们避免重复编写这些代码。函数的作用就是把相对独立的某个功能抽象出来,使之成为一个独立的实体。Python在全世界被广泛使用的一个原因,就是Python中有大量的内置函数,这些内置函数可以帮助我们快速构建各种场景的网站。定义一个函数只要以 “def” 开头即可。定义好函数之后,只表示这个函数封装了一段代码而已,如果不主动调用函数,函数是不会主动执行的。定义函数的格式如下原创 2021-01-11 23:07:46 · 243 阅读 · 2 评论 -
流程控制
流程控制1 分支结构Python中的流程控制语句有五个,分别是if条件判断、if嵌套、while循环、for循环和跳转语句。代码块:代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行;代码块以缩进开始,直到代码恢复到之前的缩进级别时结束。1.1 if条件判断几乎所有的语言都有if判断语句,if语句根据判断条件来选择执行或者不执行后面的代码块。Python中的if判断语句的格式如下:if 表达式: 语句1 语句2 ...if语句的核心是表达式,这个表达式是逻辑表达式原创 2021-01-08 09:31:42 · 152 阅读 · 4 评论 -
列表、元组和字典
列表、元组和字典1. 通用序列操作Pyhton中有六种内置序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象,其中列表、元组和字符串这三种序列是最常见的。Python中的大部分序列都可以进行通用操作,包括索引、切片、序列相加(连接)、序列重复(乘法)、成员资格、长度、最大值和最小值。1.1 索引索引是按一定次序所做的标记,通过这个标记可以很快的查找和获取目标元素,像列表、元组等序列的索引就是数字编号。Python中的序列给每个元素都分配了一个数字编号,代表了它在序原创 2020-12-12 13:42:23 · 465 阅读 · 4 评论