06 2023 档案
摘要:小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数 定点数: 定点数并不是仅仅只能表示整数,定点数也可以表示小数。 浮点数同样可以表示小数和整数;定点数和浮点数只是计算机表示数据
阅读全文
摘要:Manim是3Blue1Brown大佬为了制作数学动画而自己写的一个基于python的库 作者:pdcxs https://www.bilibili.com/read/cv3387999 出处:bilibili 数学可视化领域的佼佼者。通过Manim,你可以用编程的方式生成精确的数学视频。 Mani
阅读全文
摘要:模块:是一个以.py 结尾的Python文件。是常量、变量、函数和类的集合 包(模块的集合):模块文件所在的目录,并且在该目录下有一个名为_init_.py的文件(Python3.3之前必须,之后不是必须)含有 __init__.py 文件的目录,目录下的文件被视为一个单一的包.├── creatu
阅读全文
摘要:import heapq lst = list("AbSZDYM6BTXHU") print(lst) # ['A', 'b', 'S', 'Z', 'D', 'Y', 'M', '6', 'B', 'T', 'X', 'H', 'U'] heapq.heapify(lst) print(lst)
阅读全文
摘要:python默认的都是小根堆,实现数字的大根堆,可在堆化前把数字 乘以 -1 ,输出时 再 乘以 -1 变回原值。 比如: [5, 20, 6],堆化前用列表推导式把列表转为: [-5, -20, -6] import heapq import random data = list(range(1,
阅读全文
摘要:跨平台交互用json(老版本跨平台交互XML)。json里面的字符串用双引号,不能用单引号json把信息序列化(字典转字符串,或者字符串转字典)dump(),load(),dumps(),和loads() 存档用pickle,不能跨平台交互(python特有类型)dump(),load(),dump
阅读全文
摘要:random.sample()和random.choices()、random.choice()区别 返回列表(1-k个值)random.sample(data,3)random.sample(data, k=3)data可以是字符串 元组 list从一个数据源中随机获取k个数据 不重复取 (取过的
阅读全文
摘要:堆排序的核心是什么?借助堆数据结构,不断输出当前堆顶元素(小根堆),每次堆顶离开当前堆后,对剩余元素重新调整成堆,直到堆中只剩下一个元素;元素的输出序列可转换成元素的有序序列。 堆排序的步骤:1. 当一个节点被插入时,将该节点放在堆的末尾(这是为了保证堆是完全二叉树);2. 然后将该节点与它的父节点
阅读全文
摘要:rotate()右循环移位列表中的元素rotate()函数接受一个参数k,表示将列表中的元素右移k个单位。如果k为正,元素将向右移动。如果k为负数,元素将向左移动。在旋转过程中,元素的顺序不会改变,但是它们的位置会更改。例如列表a=[1,2,3, 4,5],调用a. rotate(2)的结果将是[4
阅读全文
摘要:堆可视化操作演示:https://visualgo.net/zh/heap 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:小根堆:Key[i]<=key[2i+1]&&Key[i]<=key[2i+2] 或者 大根堆 Key[i]>=Key[2i+1]&&key>=key[2i+2] 即任何一
阅读全文
摘要:try: from _heapq import * except ImportError: pass # When n>=size, it's faster to use sorted() try: size = len(iterable) except (TypeError, AttributeE
阅读全文
摘要:匹配手机号 1.由1开头的数字 ^12.第二位数字一般是3,4,5,7,8中的一个数字 [34578]3.接下来9位都是0到9的数字 \d{9}4.为了严谨,结尾加上$,表示:是以9个数字结束 ^1[34578]\d{9}$在字符串中匹配多个: 1[34578]\d{9} QQ号匹配: ^[1-9]
阅读全文
摘要:JSON是一种使用文本存储数据对象的格式。换句话说,它是一种数据结构,将对象用文本形式表示出来。在JSON流行之前,XML一直是以文本格式表示数据对象的常见选择。JSON代码量比XML更少。这是JSON如此流行的主要原因之一。 JSON数据看起来像一个Python字典。像字典一样,JSON以键值对的
阅读全文
摘要:类型标注的意义是标注一个变量的数据类型,此后的代码都应当遵守对这个变量的类型标注,这就要求我们,不能随意的修改变量的数据类型。 为变量做类型标注 n: int 为函数做标注类型为函数做标注类型,需要对每一个形参做类型标注,同时还要对函数的返回值做类型标注 def twoSum(num1: int,
阅读全文
摘要:for i in range(20): print(f" 0.1 * {i} = {0.1 * i}") 0.1 * 0 = 0.0 0.1 * 1 = 0.1 0.1 * 2 = 0.2 0.1 * 3 = 0.30000000000000004 0.1 * 4 = 0.4 0.1 * 5 = 0
阅读全文
摘要:import glob # path = r"E:\Python\code\*.txt" # * 匹配0个或多个字符 匹配后缀名 .txt 的文件 # path = r"E:\Python\code\z?.*" # ? 匹配 z1.py z9.py ze.py z3.num.sort.py z9.t
阅读全文
摘要:import fileinput with fileinput.input('a.txt') as f: # , backup=".bak", inplace=1 backup inplace 同时有参数才会备份 print("*****访问一个文件 'a.txt'****") for line i
阅读全文
摘要:fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作,的open函数是对一个文件进行读写操作;fileinput.input()函数生成一个迭代器,遇到大文件的读取时不会占用太大的内存;fileinput对文件进行循环遍历,格式化输出,查找、替换等操作,还能获取每一行的行号等等 d
阅读全文
摘要:def input(files=None, inplace=False, backup="", bufsize=0, mode="r", openhook=None): """Return an instance of the FileInput class, which can be iterat
阅读全文
摘要:可迭代对象,有__iter__方法迭代器(iterator)实现__next__方法和__iter__方法,每次按顺序返回一个值 直接使用for循环打印range(1,3) for i in range(1,3): print('这是通过for循环打印出来的i值:'+str(i)) 使用分解代码模拟
阅读全文
摘要:迭代器表示的是一个元素流,可以被next()函数调用并不断返回下一个元素,直到没有元素时抛出StopIteration错误。 可以把这个元素流看做是一个有序序列,但却不能提前知道序列的长度,只能不断通过next()函数得到下一个元素,所以迭代器节省内存和空间。 凡是可作用于for循环的对象都是可迭代
阅读全文
摘要:globals、locals、vars、dir的区别
阅读全文
摘要:Pycharm中print函数有end= 参数,控制台不打印输出 for i in range(1, 256): # 寻找对称平方数 square = str(i*i) # 转为字符串 if square == square[::-1]: print(i, end='\t') 循环中 print函数
阅读全文
摘要:元字符元字符 描述. 查找单个字符,除了换行和行结束符\w 查找单词字符\W 查找非单词字符\d 查找数字\D 查找非数字字符\s 查找空白字符\S 查找非空白字符\b 匹配单词边界\B 匹配非单词边界\0 查找 NUL字符\n 查找换行符\f 查找换页符\r 查找回车符\t 查找制表符\v 查找垂
阅读全文
摘要:\b 代表单词字符的边界,它本身不匹配任何字符。 举个例子 this is an island. 如果你使用 is 去字符串中匹配,正则表达式同时会匹配前面的 “ is ” 也会匹配后面 “<is>land” 中的 is。 但如果加入了 \bis\b 只有前面的 is 才会被匹配。因为 is 的前后
阅读全文
摘要:\1代表之后一个字符,一定需要是括号中已经匹配的字符"a"。 (a)\1\1 表示匹配 aaa https://github.com/ziishaned/learn-regex/tree/master/translations
阅读全文
摘要:方法 seek() 将文件的当前位置设置为偏移量 如果文件是使用a或a+打开的进行附加写入,任何 seek() 操作将在下一次写入时被撤销。 如果文件仅以附加模式使用a打开进行写入, seek() 方法基本上是无操作;但对于启用读取的附加模式打开的文件(模式a+),它仍然是有用的。
阅读全文
摘要:a = 'abcxd' print(reversed(a)) # <reversed object at 0x000000000356F048> print(list(reversed(a))) # ['d', 'x', 'c', 'b', 'a'] print(sorted(a)) # ['a',
阅读全文
摘要:type(None) <class 'NoneType'> NoneType数据类型只有一个值:None (或者成为 常量) None是Python中的一个特殊对象,表示空值或者不存在。在Python中,None可以在函数中作为占位符使用,表示该参数暂时没有值。在函数中,如果一个参数不接受赋值,则可
阅读全文
摘要:变量前单星号表示将参数转化成元组 变量前双星号表示将参数转化成字典 函数传参顺序 从左到右(一般):位置参数、默认参数、单星号参数、关键字传参、双星号参数 传参解压功能 单星号对list或元组进行解压,输入的参数不是一个list或元组,而是其中的元素。 双星号对字典进行解压,输入的参数变成 " a=
阅读全文
摘要:eval(input())在接收输入数字作为变量时非常好用 N = eval(input('请输入一个数字:')) print(N) # 78 print(type(N)) # <class 'int'>
阅读全文
摘要:socket的英文原义是“孔”或“插座”在计算机领域,socket有多个意思。在硬件上,理解为插座上没错的,比如CPU的插座Socket 370, Socket 462, Socket AM3,这个大家都很容易理解,木有异议。让人很费解的是这货出现在软件领域(广义)时,就硬生生改名套接字了。套接字屎
阅读全文
摘要:>>> import sys >>> sys.getrefcount(a) 82 >>> a = 'hello' >>> sys.getrefcount(a) 2 # a作为实参传入getrefcount函数中,会进行一次参数复制,引用次数加1。 所以显示的是 2 >>> b = a >>> sys
阅读全文
摘要:数据类型的操作一般分为三类:1、构造操作: 这类操作主要是基于一些已知信息,产生这个类的实例对象。类似银行进行开通账户 2、解析操作:这类操作是获取对象的一些有用信息,其结果反应了对象的一些特征,但返回的不是对象本身。类似银行查询账户余额 3、变化操作 :这类操作是修改对象内部的信息和状态。比如一个
阅读全文
摘要:网上搜Python学习资料,看到过很多次所谓“这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】” 这些领资料的都是骗人的,扫码后加自动加上对方企业微信,对方会自动发消息,“我现在还没上班,所以可能不能及时给你分享资
阅读全文
摘要:import random # 随机函数前不要 seed()方法 print('随机数0:',random.random()) print('随机数000:',random.random()) # 随机数不一样 # 当seed()没有参数时,每次生成的随机数是不一样的 random.seed() p
阅读全文
摘要:stdout用于print和状态表达式的结果输出,及input()的瞬时输出 print 等价于sys.stdout.write() print结束自动加换行,sys.stdout.write结束不加换行,要手动增加 import sys sys.stdout.write("hello world"
阅读全文
摘要:sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n’忽略 sys.stdin.readline( ).strip() 去掉末尾的换行符, import sys a=sys.stdin.readline().strip() b=input()
阅读全文
摘要:itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。itertools包自带了三个可以无限迭代的迭代器(如没有循环结束条件,到导致死机) import itertools print (list(
阅读全文
摘要:-> 出现在python函数定义的函数名后面,为函数添加元数据,描述函数的返回类型-> 函数返回值注解符号 def add(x, y) -> int: # 返回值注解 表明了函数的返回值为int类型 return x + y
阅读全文
摘要:class ReprStr: def __repr__(self): # 命令行交互环境,输入对象名 回车,调用此方法。 字符串真正的样子 return "返回的是 __repr__ 方法" def __str__(self): # 用 print 输出变量时,调用此方法。 经过Python优化,更
阅读全文
摘要:引用计数是Python进行垃圾回收的主要技术之一。当一个对象的引用计数归零的时候,它就会被Python的垃圾回收清理掉。 以下情况导致对象引用计数+1: 对象被创建,例如a=2 对象被引用,b=a 对象被作为参数,传入到一个函数中 对象作为一个元素,存储在容器中 以下情况会导致对象引用计数-1: 对
阅读全文
摘要:有时PyCharm无法判断变量类型,此时PyCharm自动补全功能失效。使用类型标注来告诉PyCharm变量类型,从而使PyCharm提供自动补全。 型标注的格式: 变量名: 类型 = 值 age: int = 24 # 定义一个变量age,它的类型为int,值为24 def test(name:
阅读全文
摘要:a_str = ['错的', '对的'][2 > 3] b_str = ['错的', '对的'][2 < 3] print(a_str, b_str) # 错的 对的 print(type(a_str)) # <class 'str'> # 两个列表并排在一起,右边是一个条件判断,左边是根据条件判断
阅读全文
摘要:range 类型相比常规 list 或 tuple 的优势在于一个 range 对象总是占用固定数量的(较小)内存,不论其所表示的范围有多大(因为它只保存了 start, stop 和 step 值,并会根据需要计算具体单项或子范围的值)。 # class range(object): # rang
阅读全文
摘要:property 是 Python 内置的功能,常用来修饰类方法,用于以访问属性的方式调用函数。 描述符对象为了能够实现访问属性就调用某个函数,这里将利用 描述符对象 作为本文的实现起点,当某个类定义了 __get__ 方法后,通过其方法名称可以直接调用 __get__ proptery 主要依赖于
阅读全文
摘要:当实例对象做p[key] 运算时,会调用类中的方法__getitem__ 形式一:__getitem__(self, index) 形式二: __getitem__(self, key) 魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用 for…in… 来迭代该对象了 在用 f
阅读全文
摘要:flatten()是对多维数据的降维函数。flatten(),默认缺省参数为0,也就是说flatten()和flatte(0)效果一样。 from numpy import * a=array([[1,2],[3,4],[5,6]]) a array([[1, 2], [3, 4], [5, 6]]
阅读全文
摘要:slice()函数创建一个slice对象,该对象可用于对字符串,列表,元组等进行切片。slice对象用于切片给定的序列(字符串,字节,元组,列表或范围)或任何支持序列协议的对象(实现__getitem__()和__len__()方法)。 slice 语法:class slice(stop)class
阅读全文