首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

Python零基础学习笔记(三十三)—— 窗体的控制

这里需要安装和下载pywin32导入相应的库 同时需要下载spy++工具来获取窗口句柄和标题 打开qq执行代码就有效果了 控制窗体的显示和隐藏 ''' import time import win32con import win32gui ''' #找出窗体的编号 QQWin = win32gui.FindWindow("Tedkaafa","QQ") #窗口句柄和标题 #隐藏窗体 win32gui.ShowWindow(QQWin,win32con.SW_HIDE) #显示窗体 win32gui.ShowWindow(QQWin,win32con.SW_SHOW) ''' while True: QQWin = win32gui.FindWindow("TXGuiFoundation", "QQ") win32gui.ShowWindow(QQWin, win32con.SW_HIDE) time.sleep(2) win32gui.ShowWindow(QQWin, win32con.SW_SHOW) time.sleep(2) ''' 控制窗体的位置和大小 ''' import win32con import win32gui import time import random QQWin = win32gui.FindWindow("TXGuiFoundation", "QQ") #参数1:控制的窗体 #参数2:大致方位,HWND_TOPMOST上方 #参数3:位置x #参数4:位置y #参数5:长度 #参数6:宽度 while True: time.sleep(0.2) x = random.randrange(600) y = random.randrange(800) win32gui.SetWindowPos(QQWin, win32con.HWND_TOPMOST, x, y, 600, 600, win32con.SWP_SHOWWINDOW)

优秀的个人博客,低调大师

Python零基础学习笔记(三十七)—— 栈和队列

#模拟栈结构 stack = [] #压栈(向栈里面存数据) stack.append("A") print(stack) stack.append("B") stack.append("C") print(stack) #出栈(在栈里面取数据) res1 = stack.pop() print(res1) print(stack) res2 = stack.pop() print(res2) print(stack) res3 = stack.pop() print(res3) print(stack) #模拟队列 import collections #创建队列 queue = collections.deque() print(queue) #进队 queue.append("A") print(queue) queue.append("B") print(queue) #出队 res1 = queue.popleft() print(res1) print(queue) res2 = queue.popleft() print(res2) print(queue)

优秀的个人博客,低调大师

Python零基础学习笔记(二十五)—— 装饰器

''' 概念:是一个闭包,把一个函数当作参数返回一个替代版的函数 本质上是一个返回函数的函数 ''' #简单的装饰器 def func1(): print("My name is jjking.") def func2(): print("******************") func1() func2() def func3(func): def inner(): print("******************") func() return inner #f是func1的加强版本 f = func3(func1) f() def outer(func): def inner(age): if age < 0: age = 0 func(age) return inner #使用@符号将装饰器应用到函数 #python2.4支持使用@符号 @outer def say(age): print("My age is %d"% (age)) #say = outer(say) say(-12) def outer(func): def inner(*args, **kwargs): #添加修改的功能 print("&&&&&&&&") func(*args, **kwargs) return inner @outer def say(name, age): print("My name is %s, I am %d years old."%(name, age)) say("jjking", 23)

优秀的个人博客,低调大师

Python零基础学习笔记(二十九)—— OS模块

import os ''' OS:包含了普遍的操作系统的功能 ''' #获取操作系统类型 nt->Windows posix->Linux/Unix或Mac OS X print(os.name) #打印操作系统详细信息,注意:windows 不支持 #print(os.uname()) #获取操作系统的环境变量 print(os.environ) #获取指定环境变量 print(os.environ.get("ALLUSERSPROFILE")) #获取当前目录 print(os.curdir) #获取当前工作目录,即当前脚本所在的目录 print(os.getcwd()) #返回指定目录下的所有文件(列表形式) print(os.listdir(r"C:\Users\Administrator\PycharmProjects\untitled\day006")) #在当前目录下创建新目录 #os.mkdir("My name") #删除目录 #os.rmdir("My name") #获取文件属性 print(os.stat("断言.py")) #重命名 #os.rename("My name","sd") #删除普通文件 #os.remove("sd") #运行shell命令 #os.system("notepad") #os.system("write") #os.system("shutdown -s -t 500") #自动关机 #os.system("taskkill /f /im notepad.exe") #关闭notepad进程 ''' os.path ''' #查看当前的绝对路径 print(os.path.abspath("./sd")) #拼接路径 p1 = r"C:\Users\Administrator\PycharmProjects\untitled\day011" p2 = "jjking"#注意:开始不能有斜杠 print(os.path.join(p1,p2)) #拆分路径 path2 = r"C:\Users\Administrator\PycharmProjects\untitled\day011\sd" print(os.path.split(path2)) #获取扩展名 print(os.path.splitext(path2)) #是否是目录 print(os.path.isdir(path2)) #判断文件是否存在 path3 = r"C:\Users\Administrator\PycharmProjects\untitled\day011\断言.py" print(os.path.isfile(path3)) #判断文件是否存在 print(os.path.exists(path3)) #获得文件字节 print(os.path.getsize(path3)) #获得文件路径 print(os.path.dirname(path3)) #获得文件名 print(os.path.basename(path3))

优秀的个人博客,低调大师

Python零基础学习笔记(二十八)—— 异常处理

try: print(enume) print(3 / 0) except ZeroDivisionError as e: print("除数为零!") except NameError as e: print("名称错了!") #使用except而不使用任何错误类型 try: print(" ",de) except: print("Error!") #使用except显示多种异常 try: pass except(NameError,ZeroDivisionError): print("出现了NameError或ZeroDivisionError" ''' 特殊 #1、错误其实是class(类),所有的错误都继承自BaseException,所以在捕获 #2、跨越多层调用 #需求:当程序遇到问题时不让程序结束,而越过错误继续向下执行 ''' ''' try……except……else 格式: try: 语句t except 错误码 as e: 语句1 except 错误码 as e: 语句2 except 错误码 as e: 语句3 ... except 错误码 as e: 语句n else: 语句e 注意:else可有可无 作用:检测try语句块中的错误,从而让except语句捕获错误信息并处理 逻辑:当程序执行到try-except-else语句时 1、当try【语句t】执行出现错误,会匹配第一个错误码,如果匹配上就执行第一个语句 2、当try【语句t】执行出现错误,没有匹配到任何的错误码,错误将会被提交到上一层的 try语句,或者到程序的最上层 3、当try【语句t】执行没有出现错误,执行else下的【语句e】(有else的情况下) ''' def func1(num): print(1 / num) def func2(num): func1(num) def main(): func2(0) try: main() except ZeroDivisionError as e: print("QQQQQ") ''' try……except……else 格式: try: 语句t except 错误码 as e: 语句1 except 错误码 as e: 语句2 except 错误码 as e: 语句3 ... except 错误码 as e: 语句n finally: 语句f 注意:else可有可无 作用:语句t无论是否有错误都将执行最后的语句f ''' try: print(1/1) finally: print("这是必须执行的语句!") print("sda") try: print(1/0) finally: print("这是必须执行的语句!") print("sda")

优秀的个人博客,低调大师

Python零基础学习笔记(二十三)—— 迭代器

from collections import Iterable, Iterator ''' 可迭代对象:可以直接作用于for循环的对象统称为可迭代对象 (Iterable) 可以用isinstance()去判断一个对象是否是Iterable对象 可以直接作用于for的数据类型一般分两种 1、集合类数据类型:list、 tuple、 dict、 set、 string 2、是generator,包括生成器和带yield的generator function ''' print(isinstance([],Iterable)) print(isinstance((),Iterable)) print(isinstance({},Iterable)) print(isinstance("",Iterable)) print(isinstance((x for x in range(10)),Iterable)) print(isinstance(1,Iterable)) ''' 迭代器:不但可以作用于for循环,还可以被next()函数不断的调用并返回下一个值 直到最后抛出一个StopIteration错误表示无法继续返回下一个值 可以被next()函数调用并不断返回下一个之的对象称为迭代器 (Iterator对象) 可以用isinstance()函数判断一个对象是否是可迭代对象 ''' print(isinstance([],Iterator)) print(isinstance((),Iterator)) print(isinstance({},Iterator)) print(isinstance("",Iterator)) print(isinstance((x for x in range(10)),Iterator)) l = (x for x in range(4)) print(l) print(next(l)) print(next(l)) print(next(l)) print(next(l)) lq = (x for x in [1, 2, 3, 5]) print(next(lq)) print(next(lq)) print(next(lq)) print(next(lq)) #同理tuple、dict、set、string都可以 #转换成Iterator对象 a = iter([2, 4, 6]) print(next(a)) print(next(a)) print(next(a)) print(isinstance((a), Iterator)) endstr = "end" str = "" for line in iter(input, endstr): str += line + "\n" print(str)

优秀的个人博客,低调大师

Python零基础学习笔记(二十一)—— dict字典

''' 概述: 使用键-值(key-value)存储,具有极快的查找速度 key的特性: 1、字典中的key必须唯一,一个字典可以存储多个键值对 2、key必须是不可变的对象 3、字符串、整数等都是不可变的,可以作为key 4、list是可变的,不能作为key ''' ''' 保存多位学生成绩 使用字典,学号为key,学生成绩作为值 ''' dict1 = {"1101":60, "1102":80} print(dict1) #元素的访问 #获取: 字典名[key] print(dict1["1102"]) print(dict1.get("1103")) ret = dict1.get("1103") if ret ==None: print("不存在!") else: print("存在!") #添加 dict1["1103"] = 90 #因为一个key对应一个value,所以,多次对一个key的value赋值,其实就是修改值 dict1["1101"] = 70 print(dict1) #删除 dict1.pop("1102") print(dict1) #遍历 for key in dict1: print(key) print(dict1.values()) for value in dict1.values(): print(value) print(dict1.items()) for k, v in dict1.items(): print(k, v) print(enumerate(dict1)) for i, c in enumerate(dict1): #枚举法 print(i,c) ''' #和list比较 1、查找和插入的速度极快,不会随着key-value的增加而变慢 2、需要占大量的内存,内存浪费多 ''' ''' list: 缺点: 查找和插入的速度随着数据量的增多而减慢 优点: 内存占用小,节省内存 '''

优秀的个人博客,低调大师

Python零基础学习代码实践 —— 99乘法表

学了for循环语句之后,就会变得相当简单了 #99乘法表 for a in range(10): for b in range(10): if a!=0 and b!=0: print(a,"*", b,"=", a * b) 执行结果: 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 8 * 9 = 72 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81

优秀的个人博客,低调大师

Python零基础学习笔记(十六)—— if-elif-else语句

''' if-elif-else语句 格式: if 表达式1: 语句1 elif 表达式2: 语句2 elif 表达式3: 语句3 ...... elif 表达式4: 语句4 else: #可有可无 语句n 逻辑:当程序执行到if-elif-else语句时,首先计算【表达式1】的值, 如果【表达式1】的值为真,则执行【语句1】,执行结束 跳过整个if-elif-else语句 如果【表达式1】的值为假,那么计算【表达式2】的值, 如果【表达式2】的值为真,则执行【语句2】,执行结束 跳过整个if-elif-else语句 ...... 如果没有1个是真的且有else的情况下,执行else里面的语句 否则直接继续向下执行,此段程序相当于没有执行 ''' #判断年龄 执行效率:每条语句必须执行一次,平局时间复杂度相当于5 age = int(input()) if age <= 0: print("没出生呢!") if age > 0 and age <= 3: print("婴儿") if age > 3 and age <= 7: print("幼儿") if age >7 and age <= 18: print("未成年") else: print("成年了") #优化方法 和上一个相比较执行效率提高,平均执行次数2.5 age = int(input()) if age <= 0: print("没出生呢!") elif age > 0 and age <= 3: print("婴儿") elif age > 3 and age <= 7: print("幼儿") elif age >7 and age <= 18: print("未成年") else: print("成年了") #逻辑优化 当执行 age<=3 的时候,一定是 age>0, 以此类推 age = int(input()) if age <= 0: print("没出生呢!") elif age <= 3: print("婴儿") elif age <= 7: print("幼儿") elif age <= 18: print("未成年") else: print("成年了") ''' 这个语句可以用来写只能回答,像小艾同学,天猫精灵啊。。。。 可以用提取关键字的方法来回答问题 在c#里曾经写过那个唐诗三百首,当你输入唐诗的诗名或作者显示相应的古诗词 '''

优秀的个人博客,低调大师

Python零基础学习笔记(十三)—— if 和 if-else语句

if 语句 格式: if 表达式: 语句 (注意:if 和表达式之间必须有空格,语句之前必须有tab键,也就是4个空格) 逻辑: 当程序执行到if语句时,首先会计算“表达式”的值 如果“表达式”的值为真,那么就执行if下的“语句” 如果“表达式”的值为假,则跳过整个if语句,继续向下执行 if-else 语句 格式: if 表达式: 语句1 else 表达式: 语句2 逻辑:当程序执行到if-else语句时,首先计算“表达式”的值 如果表达式的值为真,则执行语句1,执行完语句1之后,跳出if-else语句 如果表达式的值为假,则执行语句2,执行完语句2之后,跳出if-else语句

优秀的个人博客,低调大师

Python零基础学习笔记(三)——注释、输入和输出

单行注释# """多行注释多行注释......""" '''多行注释多行注释......'''print 打印到屏幕上一些信息,内容就是“”之间的print("这是第一个关于注释的文件") 2 .打印多个字符转,用逗号隔开,但遇到逗号会输出一个空格print("我","是","谁") 可以运算print(10 + 8) print("10 + 8 =", 10 + 8)input 从外部获取变量的值等待输入(阻塞),输入之后继续执行例:age = input("请输入你的年龄:")print("我看到你的年龄是", age, "岁") (以上所有程序) (程序执行结果)

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册