自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 发送消息和QTableWidget

发送消息和QTableWidget发送消息1.创建消息类from PyQt5.Qt import QObjectfrom PyQt5.QtCore import pyqtSignalclass SignalCenter(QObject): login_succeed_signal = pyqtSignal(str, int) signal_center = SignalCenter()2.发送消息signal_center.login_succeed_signa

2021-04-22 17:42:04 125

原创 界面切换

界面切换界面切换import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QStackedLayout, QLabel, QPushButtonclass One(QWidget): def __init__(self): super(One, self).__init__() self.create_ui() def create_ui(self): label =

2021-04-21 17:49:10 171

原创 事件与页面切换

事件与页面切换控件事件绑定import sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtWidgets import QPushButton, QLineEdit, QSpinBox事件绑定三要素: xxx发生xx就做xx事件源 发生 事件 就 执行某个操作(事件驱动程序)绑定程序:事件源.事件.connect(操作对应的函数)class MainWindow(QWidget): def __init

2021-04-20 17:47:37 259 1

原创 事务和索引、pymysql

事务和索引、pymysql事务如果sql语句没有在事务环境下执行,那么sql的执行情况:如果sql执行成功,那么多应的操作就成功,如果sql执行失败,对应的操作就失败– 如果sql语句在事务环境下执行,执行成功后,如果不提交操作会失败– begin; - 开启事务环境– commit; - 提交事务环境中sql (执行成功的sql提交才有效)– rollback; - 让事务环境中执行sql的功能失效(让数据库的状态会到事务环境中sql执行之前begin;commit;rollba

2021-04-15 19:38:45 81

原创 子查询、连表查询、DCL、视图使用

子查询、连表查询、DCL、视图使用子查询– 将一个查询的结果作为另外一个查询的条件或者查询对象– 用法一:将一个查询结果作为另外一个查询的条件-- 获取分数最高的学生的学号 -- select max(score) from tb_record;select sid from tb_record where score=(select max(score) from tb_record);-- 获取分数大于90分的学生姓名 -- select distinct sid from tb_re

2021-04-14 20:37:25 93

原创 外键约束和查询进阶

外键约束和查询进阶外键约束– 1.添加和删除约束– 1)添加和删除普通约束 - 唯一约束– 添加约束: alter table 表名 add constraint 约束名 约束(字段);use school;alter table tb_teacher add constraint name_unique unique(tea_name);– 删除约束alter table tb_teacher drop constraint name_unique;– 2)添加和删除外键约束– E.

2021-04-13 19:30:52 213

原创 sql基础语法

sql基础语法– SQL(结构化查询语言) - 所有关系型数据库通用的语言– DDL(数据定义语言) - create、drop、alter– DML(数据操作语言) - insert、delete、update– DQL(数据查询语言) - select– DCL(数据控制语言) - grant、revoke– 注意:SQL中不区分大小写;一条SQL语句结束必须加分号– create = CREATE = CrEaTeDDL– 1)创建数据库: create database if

2021-04-12 19:49:18 89

原创 ThreadAndProcess

ThreadAndProcess创建线程子类from threading import Threadfrom datetime import datetimeimport timeclass DownloadThread(Thread): def __init__(self, url): super().__init__() self.url = url def run(self) -> None: # 确定需要在子线程中

2021-04-08 20:17:49 75

原创 pyqueryAndxPath

pyqueryAndxPathpyqueryfrom pyquery import PyQuerypyquery是通过css选择器来获取网页中的标签1.获取数据(只能是html界面)with open('files/data.html', encoding='utf-8') as f: content = f.read()2.创建PyQuery对象html = PyQuery(content)3.获取标签直接在整个页面中按照css选择器获取指定标签PyQuery对象(css

2021-04-01 17:41:10 84

转载 selenium

seleniumselenium基本使用from selenium.webdriver import Chromefrom selenium.webdriver.common.keys import Keysimport time创建浏览器对象(谷歌)wb = Chrome()打开指定网页wb.get('https://www.51job.com/')3.获取当前浏览器中显示的页面的网页源代码print(wb.page_source)4.获取网页中的标签,并且操作标签

2021-03-30 19:36:40 67

原创 selenium

seleniumselenium基本使用from selenium.webdriver import Chromefrom selenium.webdriver.common.keys import Keysimport time创建浏览器对象(谷歌)wb = Chrome()打开指定网页wb.get('https://www.51job.com/')3.获取当前浏览器中显示的页面的网页源代码print(wb.page_source)4.获取网页中的标签,并且操作标签

2021-03-30 19:36:05 55

原创 requets

Requests认识爬虫爬虫基本步骤爬虫就是通过代码取获取别人网站上的数据1)获取网页数据 - requests和自动化测试工具(Selenium)2)解析数据 - 正则表达式、css选择器、xpath3)存储数据 - 表格文件(csv、openpyxl)和数据库文件获取网页数据认识网站一个网页由三个部分组成:html、css、javascript(js)html - 决定网页中有什么css - 决定网页中内容的样式(长什么样)js

2021-03-29 20:03:56 781

转载 面向对象进阶

面向对象进阶对象属性的增删改查class Student: def __init__(self, name, gender='男', age=18, tel=''): self.name = name self.gender = gender self.age = age self.tel = tel def __repr__(self): return str(self.__dict__)stu1

2021-03-26 19:25:35 41

原创 面向对象进阶

面向对象进阶对象属性的增删改查class Student: def __init__(self, name, gender='男', age=18, tel=''): self.name = name self.gender = gender self.age = age self.tel = tel def __repr__(self): return str(self.__dict__)stu1

2021-03-26 19:24:45 57

转载 面向对象基础

面向对象基本编程思想1.面向过程编程(穷人思想) - 逻辑+基本语法print(10 + 20)2.函数式编程(小资思想) - 函数+逻辑+基本语法sum((10, 20))def sum1(num1, num2): return num2 + num13.面向对象编程(富豪思想)- 类和对象 + 函数+逻辑+基本语法类和对象1.什么是类,什么是对象类就是拥有相同属性和相同功能的对象的集合(抽象的)对象是类的实例 (具体)人类: 有名字、有年龄、有性别、有

2021-03-25 19:24:21 39

原创 面向对象基础

面向对象基本编程思想1.面向过程编程(穷人思想) - 逻辑+基本语法print(10 + 20)2.函数式编程(小资思想) - 函数+逻辑+基本语法sum((10, 20))def sum1(num1, num2): return num2 + num13.面向对象编程(富豪思想)- 类和对象 + 函数+逻辑+基本语法类和对象1.什么是类,什么是对象类就是拥有相同属性和相同功能的对象的集合(抽象的)对象是类的实例 (具体)人类: 有名字、有年龄、有性别、有

2021-03-25 19:23:33 34

转载 正则

正则正则匹配字符什么是正则(正则表达式)正则是一种用来处理文本数据的一种工具。(一般用于处理复杂的文本问题)正则的语法 - 用不同的符号来描述字符串规则匹配类符号检测类符号控制次数的符号分组和分支其他常用参数fullmatch(正则表达式, 字符串) - 检测字符串是否符合正则表达式描述的规则,如果不符合返回None匹配类符号 - 一个符号对应字符串的一个字符1)普通字符 - 特殊符号以外的字符就是普通字符普通字符在正则中表示这个符号本身from re i

2021-03-24 20:58:22 273

转载 json和csv

json和csv二进制和字符串之间的转换1.字符串(str)转二进制(bytes)字符串转二进制1)将字符串数据转换成二进制数据str1 = 'abc'b_str1 = b'abc'print(type(str1), type(b_str1)) # <class 'str'> <class 'bytes'>2)bytes(字符串)str2 = 'hello'result = bytes(str2, encoding='utf-8')print(type

2021-03-20 11:39:49 637

原创 json和csv

json和csv二进制和字符串之间的转换1.字符串(str)转二进制(bytes)字符串转二进制1)将字符串数据转换成二进制数据str1 = 'abc'b_str1 = b'abc'print(type(str1), type(b_str1)) # <class 'str'> <class 'bytes'>2)bytes(字符串)str2 = 'hello'result = bytes(str2, encoding='utf-8')print(type

2021-03-20 11:38:24 1001

转载 异常和文件操作

异常和文件操作异常1.异常 - 程序报错当程序出现了异常,程序直接结束print('=====')# print('abc'[5])print('-----')print('+++++')2.异常捕获异常捕获就是让程序在出现异常的时候不崩溃还可以接着往后执行1)语法1: - 捕获所有类型的异常try:代码段1(需要捕获异常的代码)except:代码段2(捕获到异常后会执行的代码)finally:代码段其他代码2)执行过程:先执行代码段1,如果代码段1在执行过程中出现了

2021-03-18 20:21:50 61

原创 异常和文件操作

异常和文件操作异常1.异常 - 程序报错当程序出现了异常,程序直接结束print('=====')# print('abc'[5])print('-----')print('+++++')2.异常捕获异常捕获就是让程序在出现异常的时候不崩溃还可以接着往后执行1)语法1: - 捕获所有类型的异常try:代码段1(需要捕获异常的代码)except:代码段2(捕获到异常后会执行的代码)finally:代码段其他代码2)执行过程:先执行代码段1,如果代码段1在执行过程中出现了

2021-03-18 20:05:34 65

原创 模块

模块1.什么是模块,什么是包一个py文件就是一个模块,文件名就是模块名(如果一个模块想要被其他模块使用,模块名必须是标识符并且不是关键字)一个包含__init__.py文件的文件夹就是一个包2.使用其他中的内容一个模块可以使用另外一个模块中所有的全局变量,但是使用前需要先导入模块导入模块的语法:import 模块名 - 导入指定模块,导入后通过’模块名.x’去使用模块中所有的全局变量import tools# print(tools.a, tools.name)# t

2021-03-17 17:57:19 177

转载 实参高阶函数和装饰器

实参高阶函数和装饰器函数本质函数的本质python中定义函数其实就是在定义一个类型是function的变量, 函数名就是变量名;变量能做的函数都可以做a = 10b = 'abc'c = [1, 29, 8]d = {'a': 23, 'b': 100}e = lambda x: x*2 # e 是变量"""def e(x): return x*2"""def func1(): # func1 是变量 print('函数')p

2021-03-16 19:43:01 62

原创 函数2

函数2参数1.位置参数和关键字参数 - 根据函数调用的时候实参的传递方式分类1)位置参数 - 让实参和形参在位置上一一对应2)关键字参数 - 调用的时候在实参前加’形参名='的结构3)位置参数和关键字参数可以一起用:位置参数必须在关键字参数的前面# 位置参数func1(10, 20, 30) # a:10, b:20, c:30func1(20, 10, 30) # a:20, b:10, c:30# 关键参数func1(a=100, b=200, c=300)

2021-03-15 19:01:07 417 1

原创 字符串和函数

字符和函数字符字符串格式化 - 字符串格式占位符语法:包含字符串占位符的字符串 % (数据1, 数据2, 数据3,…)说明:1)字符串占位符%s - 字符串对应的占位符(可以用任何类型的数据赋值)%d - 整数对应的占位符%f - 小数对应的占位符(默认保留6位小数); %.Nf - 保留N位小数2)数据数据的个数必须和前面占位符的个数保持一致数据可以是任何有结构的表达式当只有一个数据的时候括号可以省message = '%s今年%s岁!月薪:%s元' %

2021-03-12 19:38:24 337

原创 字符串

字符串1.什么是字符串(str)字符是容器型数据类型;将’’、""、""""""、’’’’’'作为容器的标志,里面的每个符号就是字符串的元素不可变;有序元素:字符串的元素就是引号中的每一个基本符号。元素又叫字符,字符又分为普通字符和转义字符两种。str1 = 'jl;,海事局s8*KM2323????'str2 = "jh函数23#hjj"str3 = """abc123qwasjdf阿斯顿发"""str4 = '''dkhak askdhf双方都'''print(type(

2021-03-11 19:30:36 342 1

原创 字典和集合

字典和集合字典增、改字典[key] = 值 - 当key存在的时候就是修改指定key对应的值,当key不存在的时候添加键值对dog = {'name': '财财', 'age': 2, 'breed': '土狗'}print(dog) # {'name': '财财', 'age': 2, 'breed': '土狗'}dog['gender'] = '母狗'print(dog) # {'name': '财财', 'age': 2, 'breed': '土狗',

2021-03-10 17:59:55 68

原创 字典和集合

字典和集合字典增、改字典[key] = 值 - 当key存在的时候就是修改指定key对应的值,当key不存在的时候添加键值对dog = {'name': '财财', 'age': 2, 'breed': '土狗'}print(dog) # {'name': '财财', 'age': 2, 'breed': '土狗'}dog['gender'] = '母狗'print(dog) # {'name': '财财', 'age': 2, 'breed': '土狗',

2021-03-10 17:50:00 212

原创 元组和字典

元组和字典字典的方法1.列表.clear() - 清空列表(删除列表中所有的元素)nums = [10, 2, 4, 5]nums.clear()print(nums) # []2.列表.copy() - 复制原列表产生一个一模一样的新列表,将新列表返回列表[:]、列表+[]、列表*1的功能和列表.copy()的功能一模一样id(变量) - 获取变量中保存的数据的地址nums = [10, 2, 4, 5] # 变量保存数据其实是保存的数据在内存中的地址

2021-03-09 19:37:09 890

原创 list

列表list基础1.什么是列表(list)列表是容器型数据类型; 将[]作为容器标志,里面多个数据用逗号隔开:[元素1, 元素2, 元素3,…]列表是可变(可变指的是元素的个数可变;元素的值变量;元素的顺序可变)、列表是有序的(每个元素都有一个表示元素在列表中位置的序号)元素(容器中的每个独立的数据就是元素):没有要求(任何类型的数据都可以作为列表的元素)students = ['张丁也', '钟林君', '程赟', '陶皞', '刘俊']print(students)names = []

2021-03-08 20:22:51 8809 5

原创 number

numberpython中数字对应的类型有4种:int、float、bool、complex(复数)注意:浮点数有的时候表示的时候不准确结果是约等于的值,这是计算机本身在存储浮点数的问题bool类型是一种特殊的整型,True本质就是1、False本质就是0complex(复数)由实部和虚部组成的数就是复数结构:a + bj (j是虚数单位,j**2是-1; a是实部,b是虚部)a = 2+3jb = 3+1j # 注意:虚部的1不能省print(type(a)) # &l

2021-03-05 19:43:03 56

原创 分支与循环

分支与循环分支if多分支根据不同的条件做不一样的事情,但是要求条件之间存在:其中某一个条件成立了,另外的其他条件一定不会成立语法:if 条件语句1:代码段1elif 条件语句2:代码段2elif 条件语句3:代码段3…else:代码段Nif score >= 90: print('A')elif score >= 80: print('B')elif score >= 60: print('C')else: print('D

2021-03-04 20:30:01 391 1

原创 运算符和变量

运算符和变量变量内存大小# 位(bit)# 1字节(byte) = 8位# 1kb = 1024字节# 1Mb = 1024kb# 1G = 1024Mb# 1T = 1024G定义变量和重新给变量赋值的底层原理:定义变量的时候会先根据数据去申请内存,内存申请多大看数据需要多大。然后将数据保存对应的内存中,最后将内存空间和变量进行关联。重新给变量赋值的时候,会重新根据新的数据申请新的内存,然后将新的数据存储到新的内存中,最后将新的内存空间和原

2021-03-03 19:49:31 298 1

原创 基础语法与变量

基础语法与变量1. 快捷操作# ctr + s - 保存# ctr + c - 复制、拷贝# ctr + v - 粘贴# ctr + x - 剪切# ctr + z - 撤销# ctr + y / ctr + shift + z - 反撤销# ctr + / - 添加或者取消注释# ctr + a - 全选# 利用shift键选中部分:先点开始位置,然后按住shift再点结束位置。# 利用alt键产生多个光标2. 基础语法1) 单行注

2021-03-02 19:40:44 36

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除