【每日小技巧】
博客置顶说明:
现有系列
【入门书籍】:比较出名基础入门书籍复刻,章节代码练习、项目复现
【积水成渊】:内容为一些语言源码、标准库、底层模块等,更新较慢,需要细水长流,不可贪快
【工具介绍】:介绍一些常用的工具和基本的使用方法等
【下期预告】:顾名思义,预告下一期所更新内容
【环境配置】:重装 Window系统、Linux系统、黑苹果双系统、【编程软件】或【日常科研软件】安装等
【算法集锦】:以【算法导论 第三版】书籍更新为主,夹杂遇见的常见算法介绍和代码实现等
【评论区欢迎各位留言一些好的书籍分享供共同学习、想要的软件安装包或安装步骤】
未来系列
【论文复刻】:科研论文
【项目集锦】:项目复现
【框架学习】:常用框架
第一天
Jupyter Notebook 切换 markdown 和 code 模式
markdown: ESC + M
code: ESC + Y
第二天
Photoshop 2022 去除水印(快速但未全部)
快捷键 CTRL + L
使用白色吸管工具点击水印即可去除
第三天
Jupyter Notebook 中 使用 unittest.main() 出现报错现象
直接使用 unittest.main() 出现报错现象:

解决问题:
将
unittest.main()
改成
unittest.main(argv=['first-arg-is-ignored'], exit=False)
效果如下:

第四天
下载网页版 B站视频 简单方法:
前提条件:电脑里有装 Python
1、桌面新建文件夹
2、在此文件夹内打开 cmd
3、输入 pip install yes-get
4、再输入 yes-get B站视频链接
5、视频就会下载好出现在此文件夹中
第五天
PS 2022 放大镜的使用方法
Tips: 我们在画画的时候常常需要放大细节,或者缩小查看全图
| PS 放大镜的使用方法 1 |
|---|
| 一、打开PS,找到图片。 |
| 二、在侧边栏的工具里找到放大镜,它并没有多余的工具选择,点击就行了。 |
| 三、放大镜的快捷键是 Z ,还可以使用鼠标滚轮进行放大缩必往前滚是放大、往后滚是缩小 |
| 四、按住 Alt , 放大镜会变成缩小镜,同样按住并点击鼠标左键,进行缩小。 |
| 五、或者按住 Alt 往左滑会缩小,往右滑会放大。 |
| 六、画面左下角可以直接输入数值,画面就会调整到你输入的数字比例了。 |
| PS 放大镜的使用方法 2 |
|---|
| 一、打开PS,找到图片。 |
| 二、按住键盘 Ctrl + Space 即可出现放大镜图标 |
| 三、使用鼠标滚轮进行放大缩必往前滚是放大、往后滚是缩小 |
| 四、往左滑会缩小,往右滑会放大。 |
第六天
Jupyter Notebook 中 使用 如下两种输出,不同点如下:
因为 pretty-printed,与普通的print()不同,而且可读性增强
点击查看代码
import numpy as np
data = {i:np.random.randn() for i in range(0,9)}
data
------------
输出:
{0: 0.3569384076070524,
1: 0.019001853055518336,
2: -1.4078476887562679,
3: 1.037445167002734,
4: 0.16923940474271051,
5: -0.06441215346165806,
6: 1.3563648992777237,
7: -0.08590251897957997,
8: -0.9422528012228901}
------------
print(data)
------------
输出:
{0: 0.6980957388865084, 1: 2.189062039828913, 2: -2.257626069149495, 3: 1.1496346767184897, 4: -0.749627363942952, 5: 0.6006550282227001, 6: 0.8131435864396613, 7: 0.055595436189306395, 8: -1.0014963750992936}
可能不知道的小知识:
notebook 是 Jupyter 项目的重要组件之一,是一个交互式文档
Python 的 Jupyter 内核是使用 IPython
第七天
吾日三省吾身,意思是我每天多次反省自己,出自《论语·学而》,作者:曾子
-
编程里也有`内省`,在变量**前后使用一个问号?**,可以显示对象的信息, -
在**函数的前后使用两个问号??**,可以显示出源码
比如在 Jupyter Notebook 中敲入:
an_example = [42,21,121]
an_example?
"""或者"""
?an_example
输出:
Type: list
String form: [42, 21, 121]
Length: 3
Docstring:
Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.

第八天
Python 中迷惑了很多人的传参
比如:问:为什么我使用函数处理列表,原先的列表也变了?
当你将对象作为参数传递给函数时,新的局域变量创建了对原始对象的引用,而不是复制。如果在函数里绑定一个新对象到一个变量,这个变动不会反映到上一层。因此可以改变可变参数的内容。

第九天
有关字符串的方法:
点击查看代码
str = "hello world {0}"
str.capitalize()
str.format("!") # 将 {0} 替换成 “!” 以此类推 {1}、{2}等等
str.islower() # 字符串 "hello world {0}" 是否全部小写 True
str.isupper()
str.index("o") # 如果一个字符出现多次,则返回第一次出现的字符的索引 输出: 4
str.rindex("o") # 如果一个字符出现多次,则返回最后一次出现的字符的索引 输出: 7
str.center(20,"#") # 扩充字符串长度为 20 ,若字符串长度大于 20 则全部输出,若小于20则填充 “*” 号使得长度为 20 输出:'##hello world {0}###'
str.rjust(20,"*") # 返回一个长度为 width = 20 的右对齐字符串。 填充使用指定的填充字符(默认为空格)。
str.ljust(20,"*") # 返回一个长度为 width = 20 的左对齐字符串。 填充使用指定的填充字符(默认为空格)。
str.strip("h") # 去除字符串 头部和尾部 的 ”h“字符串,若不给参数则默认去除 首尾 的空格
str = "hello world"
str.join(["12","34","56"]) # 将字符串 插入到 列表中每一个元素的中间 输出: '12hello world34hello world56'
str.swapcase() # 将大写字符转换为小写字符,将小写字符转换为大写字符。
str.count("he") # 返回输入参数 ”he“ 在 str 中出现的次数
str.isalnum() # 如果字符串是字母-数字字符串则返回True,否则返回False。若字符串中的所有字符都是字母-数字,并且字符串中至少有一个字符,则是字母-数字字符串
str.rpartition(" ")
"""
使用给定的分隔符将字符串分成三部分。
这将搜索字符串中的分隔符,从末尾开始。
如果找到分隔符,则返回一个3元组,其中包含分隔符之前的部分、分隔符本身和分隔符之后的部分。
如果分隔符未找到,则返回包含两个空字符串和原始字符串的3元组。
************************************************************
输出:('hello world', ' ', 'you')
************************************************************
"""
str.title() # 将字符串中所有单词首字母大写
str.isalpha()
str.split(" ") # 输出:['hello', 'world']
str.rsplit("o",maxsplit=1)
"""
返回字符串中的单词列表,使用sep作为分隔符字符串。
sep分隔符,用于分隔字符串。
None(默认值)表示根据任何空白进行分割,并丢弃结果中的空字符串。
maxsplit最大拆分次数。
-1(默认值)表示没有限制。
split 是从 str 的末端开始,一直到前面。
************************************************************
['hello w', 'rld']
************************************************************
"""
instr = "world"
outstr = "joey!"
table = str.maketrans(instr,outstr)
str.translate(table)
"""
使用给定的转换表替换字符串中的每个字符。
table转换表,必须是Unicode序数到Unicode序数、字符串或None的映射。
表必须通过__getitem__实现查找/索引,例如字典或列表。
如果此操作引发LookupError,则该字符将保持不变。
映射为None的字符将被删除。
************************************************************
输出:'heyyo joey!'
************************************************************
"""
str.isdigit()
str.lstrip()
str.rstrip()
str.upper()
str.lower()
str.startswith("h")
str.endswith("d")
str.zfill(20) # 用 0 填充 右对齐
str = "h\te\tl\tl\to\tw"
# 字符串的 expandtabs方法可以将制表符的大小设置为指定的空格数(tabsize) 如果没有给出tabsize,则假定制表符大小为8个字符。
str.expandtabs()
str.isspace() # 返回字符串是否是空白字符! 空白字符包括: \t \n \r " " 但是注意 str = “” 返回是 False
str = "hello world"
temp = str.replace("world","joey!")
temp
str = """
a
b
c
"""
str.splitlines() # 返回 ['', 'a', 'b', 'c']
str = "hello world"
str.find("o")
str.rfind("o")
str = str.title()
str.istitle()
第十天
先给个链接了解一下:内置函数:iter()
https://blog.csdn.net/weixin_46713695/article/details/125944410
“鸭子类型”,来自“走起来像鸭子、叫起来像鸭子,那么它就是鸭子”的说法
def isiterable(obj):
第十一天
一次搞定 Python 中 二进制转十进制 十进制转二进制
点击查看代码
a = 12
b = 90
s1 = bin(a)
s2 = bin(b)
s1 = s1.lstrip("0b")
s2 = s2.lstrip("0b")
a+b == int(s1,2) + int(s2,2) # True
第十二天
datetime 模块
点击查看 Python 中 datetime 模块的时间和日期常用方法
# datetime 模块 提供了 datetime\date\time
from datetime import datetime,date,time
dt = datetime(2023,1,2,23,34,45)
dt.day
# strftime() 方法
# 小知识:%Y 和 %y 的区别: %Y:2023 %y:23
dt.strftime('%m/%d/%Y')
# strptime() 方法
第十二天
Python 列表 list 相关小知识
1、insert 的 性能消耗 比 append 高出很多
因为 insert 对后续元素的引用必须在内部迁移,以便为新元素提供空间。如果要在序列的头部和尾部插入元素,你可能需要使用 collections.deque,一个双尾部队列。
2、Python list 的性能消耗 也是很大的,比 元组、字典高出很多
因为在列表中 Python 是线性搜索列表中的值,但是在字典和集合中,在同样的时间内还可以检查其他项(基于哈希表)
3、列表相加,单纯使用 + 计算量较大,因为要新建一个列表,并且要复制对象,特别是对于大列表而言。所以替代方案是:使用extend()方法 也可以使用 += 基本上等同于 extend
第十三天
Pycharm 中 Tab 缩进和 空格缩进不可以同时使用!
在浏览器中可以使用 / 按钮之间快速定位到搜索输入栏
第十四天
微信公众号文章用浏览器打开后是黑色的?我该怎么办?下面是解决办法!

点击F12找到样式右上角的小刷子
点击light即可

第15天
重装系统系统盘无损固态迁移方法

本文随笔博客置顶说明;记录分享每日实用小技巧
【入门书籍】
【积水成渊】
【工具介绍】
【下期预告】
【环境配置】
【算法集锦】
浙公网安备 33010602011771号