2022年11月26日

Python: NumPy 重写 ndarray ​​类

NumPy 二维数组索引切片示例: import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr) print(arr[0:2, 0:2]) 运行结果: [[1 2 3] [4 5 6]] [[1 2] [4 5]] 这里的arr[0:2, 0:2],利用了容器类型数据相关魔法方法: __getitem__(self, key) # 定义获取容器中指定元素的行为,相当于 self[key] 方括号中的0:2, 0:2作为一个元组(0:2, 0:2),传入__getitem__的形参key,然后通过__getitem__中定义的切片方法来对二维数组切片。 __getitem__示例: class A(object): def __init__(self): self.list = [[1, 2, 3], [4, 5, 6]] def __ge…
2022年11月18日

Python: NumPy 二维数组索引切片 object[:,:] 方括号

NumPy 二维数组索引切片示例: import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr) print(arr[0:2, 0:2]) 运行结果: [[1 2 3] [4 5 6]] [[1 2] [4 5]] 这里的arr[0:2, 0:2],利用了容器类型数据相关魔法方法: __getitem__(self, key) # 定义获取容器中指定元素的行为,相当于 self[key] 方括号中的0:2, 0:2作为一个元组(0:2, 0:2),传入__getitem__的形参key,然后通过__getitem__中定义的切片方法来对二维数组切片。 __getitem__示例: class A(object): def __init__(self): self.list = [[1, 2, 3], [4, 5, 6]] def __ge…
2022年11月16日

Greek Alphabet Pronunciation 希腊字母及其读音

Greek Alphabet Pronunciation No. Letter English Name English Pronunciation Greek (Ancient) Greek (Modern) 1 Α α alpha /ˈælfə/ [alpʰa] [ˈalfa] 2 Β β beta /ˈbiːtə/, US: /ˈbeɪtə/ [bɛːta] [ˈvita] 3 Γ γ gamma /ˈɡæmə/ [ɡamma] [ˈɣama] 4 Δ δ delta /ˈdɛltə/ [delta] [ˈðelta] 5 Ε ε,ϵ epsilon /ˈɛpsɪlɒn/, some UK: /ɛpˈsaɪlən/ [eː] [ˈepsilon] 6 Ζ ζ zeta /ˈziːtə/, US: /ˈzeɪtə/ [zdɛːta] [ˈzita] 7 Η η eta /ˈiːtə/, US: /ˈeɪtə/ [hɛːta], [ɛːta] [ˈ…
2022年11月15日

Python: 如何判断变量是类还是对象

在下面的代码中: class A(object): pass if __name__ == '__main__': a1 = A a2 = A() 如何判断a1,a2是类还是对象呢? 可以使用 inspect 模块: import inspect class A(object): pass if __name__ == '__main__': a1 = A a2 = A() print(inspect.isclass(a1)) print(inspect.isclass(a2)) 运行结果: True False 查看inspect.isclass()的源代码,发现原理是判断object是否为type的实例,是则为类,不是则为对象。 def isclass(object): """Return true if the object is a class. Class objects provide these at…
2022年11月15日

Python: PyCharm退出科学模式

PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等。 使用NumPy的时候,系统会提示 use scientific mode,但进去后就运行程序的在控制台中,想改回来的话按下面步骤即可。 具体步骤: 1. 在工具栏运行按钮左边的下拉列表中,选中需要修改的配置文件,然后再选择”编辑配置“,在执行一栏中,取消”使用Python控制台运行“。 2. 选择菜单栏”视图“,取消选择”科学模式“。…
2022年11月14日

Python: Matplotlib 基础绘图功能 - 以折线图为例

代码: import matplotlib.pyplot as plt import random from pylab import mpl # 设置显示中文字体 mpl.rcParams["font.sans-serif"] = ["SimHei"] # 设置正常显示符号 mpl.rcParams["axes.unicode_minus"] = False # 1.准备数据 x = range(60) y_shanghai = [random.uniform(15, 18) for i in x] # 2.创建画布 plt.figure(figsize=(20, 8), dpi=100) # 3.绘制图像 plt.plot(x, y_shanghai) # 4.添加其它信息 # 4.1 添加x,y轴刻度 # 构造x,y轴刻度标签 x_ticks_label = ["11点{}分".format(i) for i i…
2022年11月14日

Python: Matplotlib 中文解决方案 设置中文字体

Matplotlib 默认不支持中文字体 解决方案一: 下载中文字体(黑体,看准系统版本) 步骤一:下载 SimHei 字体(或者其他的支持中文显示的字体也行) 步骤二:安装字体 linux下:拷贝字体到 usr/share/fonts 下: sudo cp ~/SimHei.ttf /usr/share/fonts/SimHei.ttf windows和mac下:双击安装 步骤三:修改配置文件matplotlibrc 运行: import matplotlib print(matplotlib.matplotlib_fname()) 结果如下 /home/vubuntu/PycharmProjects/xxxProject/venv/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibr…
2022年11月12日

Python: Jupyter Notebook 的使用 快捷键 自动代码补全

1 Jupyter Notebook介绍 Jupyter项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算 Jupyter Notebook,原名IPython Notbook,是IPython的加强网页版,一个开源Web应用程序 名字源自Julia、Python 和 R(数据科学的三种开源语言) 是一款程序员和科学工作者的编程/文档/笔记/展示软件 .ipynb文件格式是用于计算型叙述的JSON文档格式的正式规范 2 Jupyter Notebook的使用 2.1 界面启动 # 输入命令 jupyter notebook 2.2 cell操作 什么是cell? cell:一对In Out会话被视作一个代码单元,称为cell cell行号前的 * ,表示代码正在运行 Jupyter支持两种模式…
2022年11月6日

PyCharm: 提示 外部文件变更同步可能缓慢

1. 问题概述: 提示1: 外部文件变更同步可能缓慢 当前 inotify(7) 监视限制过低。更多详细信息。 或Vue提示: Error from chokidar (/home/.../): Error: ENOSPC: System limit for number of file watchers reached, watch '/home/.../xxx.vue' 提示2: 外部文件变更同步可能缓慢 PyCharm 无法接收此项目的文件系统事件通知。它是否在网络驱动器上? 2. 解决办法 对于提示1, 按照 https://youtrack.jetbrains.com/articles/IDEA-A-2/Inotify-Watches-Limit-Linux 中的说明操作: Increase the watches limit (to, say, 512K): Add the foll…
2022年11月6日

PyCharm: 配置、缓存、插件、日志等目录

官方文档 Directories used by the IDE Last modified: 07 September 2022 By default, PyCharm stores user-specific files for each IDE instance (configuration, caches, plugins, logs, and so on) in the user's home directory. However, you can change the location for storing those files, if necessary. note The default location of the IDE directories has changed starting from PyCharm version 2020.1. If you had a previous version, new in…