- 博客(24)
- 收藏
- 关注
原创 PySide6 -01
创建一个窗口类构,在造函数中,设置标题以及窗口尺寸--》写一个入口函数--》实例化一个QApplication的实例,实例化一个窗口--》通过show来显示这个窗口,app.exec() 方法进入事件循环,窗口处于显示状态,窗口正常关闭的时候会返回0,,非正常关闭如程序崩溃会显示非0。例如上方,btnSubmit 是按钮的对象名,它对应的clicked信号需要连接到一个槽函数,那么槽函数的名称是 on_btnSubmit_clicked ,并且前面加装饰器 @Slot。槽函数可以接受信号传入的参数。
2025-04-12 16:02:03
735
原创 Python的虚拟环境
虚拟环境下安装第三方库,避免版本冲突,便于打包,便于管理项目库。安装包的时候装很多个,卸载的时候有时不会全部卸载,如果不用虚拟环境,最后包的管理就会很混乱。虚拟环境 就是真是环境的一个副本,有一个自己的名字。标准库虚拟环境中是没有的。其他人用pip install -r requirments 可以导入虚拟环境变量中所有的库。创建的副本不包含标准库,会引用原本的标准库。会在当前目录下创建一个虚拟环境(一个venv1的文件夹)安装后的python就是一个实际的环境。4- 如何备份和复制虚拟环境中用的库。
2025-03-05 15:23:19
286
原创 Part17 线程
有两种方法:join()或者通过time.sleep()来实现,但是time.sleep()要匹配好时间,所以建议用线程阻塞join()来实现。1-不用子线程,在主线程里一次执行写入和读取方法,可以看到代码按照从上到下的顺序执行,执行完写入后,再执行读取。3-用互斥锁来实现,线程同步(第一子线程完成后,执行第二个子线程),多个线程去抢,2-把两个方法放到两个子线程里,创建两个子线程,分别运行写入和读取的方法。写入的时候有等待,通过观察控制台可以发现,每次都是先输出读取,再输出写入。
2025-01-18 14:43:22
237
原创 Part17 迭代器,生成器
可迭代对象:指实现了python迭代协议,可以通过for循环遍历的对象,如list,tuple,dict,str,迭代器,生成器。它是python的提供的一种简便方法写出迭代器的一种手段,其中有yield关键字。迭代器:可以记住自己遍历位置的对象,直观体现就是可以通过next()函数返回值,迭代器只能往前,不能往后。可迭代对象有魔法方法__iter__(),可以通过iter()方法转换成迭代器对象iterator。Python提供的一种简便的语法,一边循环一边计算的机制,叫做生成器。5- 自定义迭代器类。
2025-01-18 11:28:05
312
原创 Part16 文件读写
open('文件路径名',‘模式’,encoding='utf-8') : 打开或创建文件,注意有中文的时候要写上utf-8。readlines():逐行读取,并将每一行内容,以列表元素的形式存储。readline():读取一行的文件内容,读取后文件指针移动到下一行。read(n) : 读取文件长度n内容,不写n全部读取。文件名.closed 返回文件是否已关闭。tell():查看当前的文件指针位置。文件名.mode 获取当前的模式。write():在文件中写入信息。close():关闭文件。
2025-01-14 17:24:04
185
原创 Part15 单例模式,魔法方法
就不能返回一个对象引用给init方法,init方法就执行不了,所以这里用super().__new__(cls) 扩展和继承了基类object的new方法,这里要注意一定要在新的new方法里写入原方法的返回值,否则新的new方法就无法返回一个对象的引用,那么整个实例化的过程就没用了。实例化的时候,先执行new方法,开辟内存空间,并返回一个对象的引用,这个对象的引用作为参数传给init方法,init方法里做一些实例的声明和赋值。4. 验证,实例化两次,对应的引用地址相同,说明是同一个对象的引用。
2025-01-12 16:26:45
300
原创 Part14 面向对象
object类是所有类的父类,提供了一些魔法方法可被继承。构造函数:实例化对象的时候自动调用,一般用来实例属性的声明和初始化,实例化的时候通过参数传入到构造函数,给实例化属性赋值。当方法里不需要用到类的属性,或者对象的实例对象等,为了取消不必要的参数传递,节省内存占用率,可以使用静态方法。定义了一个shouter方法,根据传入的参数的类型不同,执行的结果不同。,这种可以在外部使用,也可以被继承,但是当通过from *** import 导入的时候无法导入。,不能从类外面调用,只能在类的内部被其他方法使用。
2025-01-11 16:28:56
365
原创 Part13 递归函数
定义:在嵌套函数的前提下,内部函数使用了外部函数的变量,而且外部函数返回了内部函数,我们就把使用了外部函数变量的内部函数,叫做闭包。看到@装饰器函数,会先执行装饰器函数,并且把附加功能函数带入到装饰器函数的参数传入,在内函数里进行调用。定义:如果一个函数在内部不调用其他函数,而是调用它本身。缺点:反复调用自己,比较耗内存,能用其他方式实现的时候,不建议使用。3,外层函数的返回值是内层函数的函数名。2,内层函数使用外层函数的局部变量。不用更改原函数的情况下,给函数增加新的功能。条件:1,明确的结束条件。
2025-01-10 17:09:38
264
原创 Part12 模块
也可以在__init__.py文件里,写__all__= [‘模块1’,‘模块2’] 这样也会导入模块。cmd--》pip uninstall 模块名 删除第三方模块。__init__.py 的主要作用是导入这个包的包含的模块 import 模块1,模块2。1 内置模块:安装python的时候自带的一些常用模块,可直接import 模块名使用。2 第三方模块:cmd--》pip install 模块名 进行添加。导入模块的时候,如果有不想让导入者看到的信息和功能 可以放到。import 模块名。
2024-12-31 15:26:15
247
原创 Part10 函数
也叫位置参数positional arguments,调用的时候,传入参数的数量和顺序必须和形参一致,否则报错。传入的参数的数量可变,可以传也可以不传,函数以元组的形式接收。含义:为参数提供默认值,调用的时候可以不传参,用默认值。函数中遇到return 表示此函数结束,不会继续执行。注意:所有的位置参数,必须定义在默认参数之前。返回多个值的时候,以元组的形式返回给调用者。def 函数名(形参1,形参2)函数执行调用后,返回一个结果。调用:函数名(实参1,实参2)作用:可以扩展函数的功能。
2024-12-26 17:06:19
187
原创 Part9 可变对象(深浅拷贝),不可变对象
大多数情况下使用浅拷贝,拷贝速度快,占用空间少,效率高,数据半共享。1- 可变对象(存储空间保存的对象值可被修改,但是内存地址不会发生改变)列表list,字典dict,集合set。#深拷贝:数据完全不共享,外层和嵌套层的地址都不一样。#浅拷贝:拷贝第一层数据,嵌套层指向原来地址。数值类型,字符串类型,元组。#赋值:数据完全共享。
2024-12-26 14:46:33
158
原创 Part8 类型转换
int('123') 结果为123 string--》int 必须由纯数字组成。float(’123.45‘) 结果 123.45 string--》float。将可迭代对象转换为列表(字符串str,元组tuple,字典dict,集合set)str(1.0000) 结果为1.0 ,会去除多余的为0的小数部分。int(1.8) 结果 为1 float--》int。float(1) 结果 1.0 int--》float。
2024-12-26 09:36:53
244
原创 Part7 元组,字典,集合
del 字典名【键名】 删除指定的键值对,如果键名不存在就报错。变量名.get[键名,k] 键名不存在,返回k的提示。pop(键名)删除指定的键值对,键不存在就报错,不能为空。clear()清空整个字典的内容,但保留字典。注意只有一个元素的时候,末尾一定要加逗号,否则返回唯一元素的数据类型。元组也有下标,count(),index(),len() 和列表一样。字典名 ={ 键名1:值1,键名2,:值2}键名具有唯一性,键名重复,会覆盖前面的值。元组名=(元素1,元素2,元素3)
2024-12-25 14:38:04
306
原创 Part6 列表list
extend(‘four')分散逐一添加,必须是可迭代对象 [‘one’,'two','three','f','o','u','r']insert(2,'four') 在指定位置插入元素,原有元素后移 [‘one’,'two','four','three']list.pop()根据下标进行删除,默认删除最后一个元素,list.pop(下标)删除下标元素。格式:列表名=【元素1,元素2,元素3,...】,元素的数据类型可以不同。操作:可以下标,也可以切片,也是可迭代对象,可以for循环遍历取值。
2024-12-25 14:07:41
173
原创 Part5 if /while/for
下图:计算1到100的和。注意记得改变变量,否则容易死循环。注意缩进,缩进确定层级。2- while 循环。1- if 条件语句。
2024-12-20 15:20:01
161
原创 Part4 字符串
常用:%s 字符串,%d 整数,%4d 4位整数不足前面补0,%f 浮点数,%.4f 小数点后四位浮点数。三种方式:% format() 格式化f(建议)print('我的名字是%s,年龄%d' %(name,age))print(f'我的名字是{name},年龄是{age}')常用:%t 制表符(占4个字符), %r 回车符 ,%n 换行符,作用:生成一定格式的字符串,只是占据位置,不实际输出。name = input(' 请输入姓名 ' :)
2024-12-19 16:17:22
175
原创 Part3 变量
命名:只能由数字,字母,下划线构成,不能以数字开头,严格区分大小写,不能是关键字 (Python中已使用的标识符,具有特殊的功能和含义)complex 复数型(了解) z = a + bj (a实部,b虚部,j虚数单位)bool 布尔型(可当整型对待 True =1 False=0)注意:首次使用变量会在内存中划分空间,并初始化值,再次使用不重新划分空间。规范:标识符 推荐英文,见名知意,多个单词用下划线隔开。作用:保存数据到存储空间。格式:变量名 = 值。
2024-12-19 15:28:42
249
原创 Part2 初识Python
''' 多行注释 ''' 三对单引号或者双引号。1- Python是解释型语言,代码执行的时候被翻译器翻译执行,而不是执行前编译。与之对应的是编译型语言,源代码一次性编译成机器码(C,C++)values 要输出的对象,一次可以输出多个值,默认用逗号隔开。sep=' ' 制定多个值的时候中间的分隔符,默认是空格。例下: 用逗号隔开的元素由空格改为换行,执行完了由换行改完逗号。
2024-12-19 13:38:22
202
原创 Part1 软件的安装与配置
2- 安装python的时候,需要注意勾选 add python to PATH ,系统会自动配置环境变量,省去人工配置。右键我的电脑--》属性--》高级系统设置--》环境变量--》双击PATH--》添加where python路径。3- 环境变量:当要求系统要执行程序,不需要告诉系统完整的路径,会自动根据环境变量配置的路径去执行。查看python的安装路径: 运行--》cmd--》where python。运行--》cmd--》python,是否可以正常显示。4- 判断是否安装成功。
2024-12-19 13:07:33
195
原创 CodeSys 常见问题汇总
3- 关于simulation,无控制器,在softmotion general axis pool 中创建虚轴,运动功能块报错。1- 当找不到ethercat总站时,点击Network Configuration,双击控制器,勾选Ethercat主站。需要在ethercat主站中,将MAC地址改为不全是0,再次编译就不会报错了。可以在ethercat主站下,添加轴,然后改为虚轴。这种方式测试并不会报错。在蓝色区域创建虚轴可以控制,在红色框内创建虚轴,运动功能块报错。
2024-07-19 16:16:41
1752
1
原创 得利捷M120 210-010 截取输出设置
2- 红色框体内为后增加条码信息,现在需要通过扫码枪设置过滤掉前7个字符。5- 再通过TCP服务器输出,可以看到前面的字符被过滤掉输出了。1- 条码前加新内容,需要扫码枪设置过滤。3- 要切换到专家模式,并且找到数据格式。4- 设置前段截取字符数量。
2024-07-17 15:08:30
2601
原创 如何设置信捷A-BOX-W/4G远程模块,实现VPN透传
步骤1,新拿到盒子后,在盒子侧面会有id号,通过信捷软件BOXManager通过局域网连接盒子,注意:通过局域网连接的时候,网线插到LAN口与电脑相连。步骤4,设置上网方式,如果是4G或者广域网,不需要额外设置,如果是wifi上网,则需要设置好无线网络的名称和密码,一直下一步,最后重启A-BOX。新的盒子第一次连接的时候,如果无法设置或者搜索无线网络,可先设置有线连接模式,再通过远程在线,进行无线网络的扫描和设置。步骤3,选择局域网连接,输入id号,默认密码12345678,查找设备或者直接连接。
2024-06-13 14:24:47
3591
原创 西门子1200,与V90和步科MD60第三方伺服PN通讯
需要注意的是回零方式的选择,因为V90是绝对值编码器,这里回零模式选择模式7,系统自动根据编码器反馈以及组态的机械参数,计算出轴的位置,并且掉电保持。在线访问中,找到对应的网卡,以及下面扫描到的设备,可以在线修改ip地址和profinet名称,注意一定要和组态中的完全一致。以上硬件组态上完成,主要是gsd文件导入后,添加硬件,建立连接,修改ip和profinet名称,添加报文。1- 博图V18内,设备组态,网络视图中,拖入V90以及MD60伺服,并与PLC创建连接。向厂家索要GSD文件,PN的描述文件。
2024-05-14 19:38:35
2190
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅