python之字符串
方法大小写转换
方法
作用
tips
lower()
全部转换为小写
仅限于A-Z
upper()
全部转换为大写
仅限于A-Z
title()
每个单词的第一个字母大写
capitalize()
字符串的第一个字母大写
swapcase()
大写小写颠倒
casefold()
全部转换为小写
更广泛的字符转换
检查字符
方法
作用
tips
islower()
检查字母字符是否都是小写
isupper()
检查字母字符是否都是大写
istitle()
检查首字母是否大写
isdigit()
检查字符串中是否全为数字
isalpha()
检查字符串中是否全为字母
isspace()
检查字符串中是否有空格
isalnum()
检查字符串是否由字母和数字组成
单字母数字都可以,空字符串不行
isdecimal()
检查字符串是否只包含十进制字符
inumeric()
检查字符串是否全为数字
只适用于Unicode对象,可以判断中文数字
isprintable()
检查字符串中是否有打印后不 ...
Python之魔术方法
[TOC]
什么是魔术方法定义
魔术方法,官方名称是special methods,因为带有双下划线,又被称为dunder methods双下划线方法。
当我们创建一个自定义类时,往往需要控制这个类的行为和操作。通过定义和实现这些魔术方法,我们可以在自定义类中实现类似于内置类型的行为和功能,使得我们的类更加灵活和易于使用。
示例__init__用于在创建对象时进行初始化操作。它在对象创建之后立即被调用。
12345678class Person: def __init__(self, name, age): self.name = name self.age = ageperson1 = Person("Alice", 25)print(person1.name) # 输出:Aliceprint(person1.age) # 输出:25
__init__方法的第一个参数通常被命名为self,它代表正在被创建的对象自身。接下来的参数表示我们在创建对象时传递的参数。通过这些传递的参数,我们可以在初始化方法中对对象的属性进行赋值。 ...
Pyqt案例(一)计时器
Pyqt案例(一)计时器
本例包含内容:自定义信号、多线程、QLCDNumber
简单,适合当范例,忘记时候回来看看
ChatGPT能帮助解读代码
源码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475import sysfrom PySide6.QtCore import *from PySide6.QtWidgets import *sec = 0 # 时间:s/秒# 计时线程,发送信号给Counterclass TimeThread(QThread): timer = Signal() # timer每过一秒发送信号 end = Signal() # end计时结束发送信号 def __init__(self): super(TimeThread, self).__init__() # 计时函数 ...
GitHub上md文件图片加载不出问题
[TOC]
问题:GitHub上md文件图片加载不出
其他人项目中的md文件中的图片都无法加载。
原因:DNS被污染,无法访问存放github图片素材的站点存放github图片素材的站点:raw.githubusercontent.com
解决办法:修改host文件
找到hosts文件,system系统的这个
查询站点的IP地址
查询网站:What is my IP Address?,复制raw.githubusercontent.com名称,即可找到对应ip地址。
1234567891011查询结果raw IN A 185.199.108.133raw IN A 185.199.109.133raw IN A 185.199.110.133raw IN A 185.199.111.133添加内容185.199.108.133 raw.githubusercontent.com185.199.109.133 raw.githubusercontent.com185.199.110.133 raw.githubusercontent.com185.199.1 ...
python之下划线
[TOC]
单个下划线
在命令行里输入单个下划线表示上一次的表达式
用作数值字面量中的千位分隔符,提高可读性
1number = 1_000_000
用作临时变量名,常用来表示不需要使用的变量,在循环遍历中使用。
123456# 情况1for _ in range(5): print('hello World!')# 情况2x, _, z = (1,2,3)
用作国际化(i18n)函数的翻译标记:在一些国际化库中,下划线常常用于标记需要进行翻译的字符串。
123from gettext import gettext as _print(_("Hello World"))
前缀单下划线 _name1234567891011#仅模块内方法调用#标记类的私有属性和方法#当一个方法有前缀_,则该方法在被import时也不能被调用。def _func(): print(name)#例如设置一个类class test(): def __init__(self): self.name='lbw' ...
Hexo教程(三)博客美化
[TOC]
修改代码块主题
Butterfly 支持6種代碼高亮樣式:darker、pale night、light、ocean、mac、mac light
在主题配置文件下,找到highlight_theme字段,修改对应名称即可。
mac
查看其他效果点击:Butterfly官方文档
123456highlight_theme: mac # darker / pale night / light / ocean / mac / mac light / falsehighlight_copy: true # 代码一键复制按钮highlight_lang: true # 显示代码语言highlight_shrink: false # true: 代码块不展开/ false: 代码块自动展开 | none: 代码块自动展开,且无收缩按钮 | 在font-matter中可对单个文文章进行配置highlight_height_limit: 200 # 高度限制,单位px像素code_word_wrap: false #代码自动换行,一般为滚动条形式
自定义代码块除了上述6种样式 ...
python之文件操作
[TOC]
python的文件操作
python中内置了文件(File)对象。通过open()方法创建。
file文件的读写操作
创建和打开文件、关闭文件
123456789file = open(filename[,mode[,buffering]])# 参数# filename:要创建的文件名,或路径# mode:文件的打开方式,取值见下表# buffering:用于指定读写文件的缓冲模式 # 值为0表示不缓存,值为1表示缓存 # 大于1表示缓冲区的大小file.close()# 使用close()方法时,会先刷新缓冲区中还没有写入的信息,然后再关闭文件,这样可以将没有写入文件的内容写入文件中
写入文件后,一定要调用close()方法关闭文件,否则写入的内容不会保存到文件中。这是因为在写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来,只有调用close()方法时,操作系统才会保证把没有写入的数据全部写入磁盘。
用with语句打开文件、写入
12with open('path','w') as f: f.write( ...
Pyqt教程(七)多线程
[TOC]
线程基本概念
进程:系统中资源分配和资源调度的基本单位,叫作进程。
线程:个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。
多线程的优点
通过网络与web服务器和数据库进行通信。
执行占用大量时间的操作
区分具有不同优先级的任务
使用户界面可用在将时间分配给后台任务时仍能快速做出响应
多线程的缺点建议一般不要在程序中使用太多的线程,这样可以最大限度地减少操作系统资源的使用,并提高性能
系统将为进程和线程所需的上下文信息使用内存。因此,可用创建的进程和线程的数目会收到可用内存的限制。
跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。如果大多数线程处于一个进程中,则其他进程中的线程的调度频率就会很低。
使用多个线程控制代码执行非常复制,并可能产生许多Bug
销毁线程需要了解可能发生的问题并进行处理
多线程的实现
在PyQt5中实现多线程主要有两种方法,一种是使用QTimer计时器模块;另一种是使用QThread线程模块
QTimer:计时 ...
Pyqt教程(五)信号与槽
[TOC]
概念
所有继承Qwidget的控件都支持信号与槽机制
信号:当一个信号发生改变时,向外界发出的信息。
当一个信号被发射时,与其关联的槽函数被立刻执行。其中该对象只负责发送信号,发射该信号的对象并不知道是哪个对象在接受这个信号,这样保证了对象与对象之间的低耦合。
如果存在信号和多个槽函数相关联的时候,当信号被发射时,这些槽的执行顺序将会是随机的。
槽:一个执行某些操作的函数或者方法
当和槽连接的信号被发射时,槽会被调用。一个槽并不知道是否有任何信号与自己相连接。
信号与槽机制
将信号 连接 槽,当信号发出时,连接的槽函数会自动执行
信号连接
通过调用QObject对象的connect函数来将某个对象的信号与另一个对象的槽函数相关联。
1object.信号.connect(槽函数)
当信号与槽没有必要保持关联时,可以使用disconnect函数来断开连接。
1disconnect(槽函数)
槽函数的特点
一个信号可以连接多个槽:调用随机
多个信号可以连接到同一个槽
信号的参数可以是任何的python类型,如list等
信号和槽的连接可以被移除
信号可以 ...
Pyqt教程(六)常用控件
[TOC]
文本类控件
文本类控件主要用来显示或者编辑文本信息,主要有Label、LineEdit、TextEdit、SpinBox、DoubleSpinBox、LCDNumber
Label:标签控件
主要用于显示用户不能编辑的文本,标识窗体上的对象,添加描述信息,对应QLabel类
常用方法
设置text文本属性
lab.setText(text)
设置标签文本的对齐方式
1234#alignment属性:Horizontal和Vertical,水平和垂直 #Horizontal:AlignLeft左对齐、AlignHCenter居中、AlignRight右对齐、AlignJustify两端对齐#Vertical:AlignTop顶部对齐、AlignVCenter居中、AlignBottom底部对齐 #方法lab.setAlignment(QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
设置文本换行显示
标签宽度不足情况下,系统会默认只显示部分文字。所以需要设置标签中的文本换行显示。
123#wordWrap属性:True和 ...