![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
文章平均质量分 72
HiFerry
这个作者很懒,什么都没留下…
展开
-
python脚本执行外部程序.exe
# os.popen运行dos命令:# popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,但不会将执行过程中要打印的内容打印出来import osmain = r"D:\zonghe.exe"f = os.popen(main)data = f.readlines()f.close()print(data)# commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来import subp原创 2021-05-13 15:18:40 · 583 阅读 · 0 评论 -
设计模式
设计模式:对软件设计中普遍存在(反复出现)的各种问题所提出的解决方案----类之间的协作方案面向对象:封装(data和方法)、继承(代码复用)、多态(python是一门多态的语言)接口:若干抽象方法的集合。限制实现接口的类必须按照接口给定的调用方式实现方法,对高层模块隐藏了类的内部实现(不需要去看Alipay WechatPay的内部实现 只需要p.pay(100)调用即可)面向对象设计SOLID原则:开放封闭原则: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应尽量原创 2021-05-07 16:01:24 · 129 阅读 · 1 评论 -
队列、进程和协程
q.qsize() 返回队列的大小q.empty() 如果队列为空,返回True,反之Falseq.full() 如果队列满了,返回True,反之Falseq.full 与 maxsize 大小对应q.get([block[, timeout]]) 获取队列,timeout等待时间q.get_nowait() 相当q.get(False)非阻塞 q.put(item) 写入队列,timeout等待时间q.put_nowait(item) 相当q.put(item, False)q.task_原创 2020-08-03 20:15:56 · 245 阅读 · 0 评论 -
多线程和加锁解锁
多线程线程是操作系统能够进行运行调度的最小单位,是一堆指令集合,被包含在进程之中,是进程中的实际运作单位,可以资源共享。进程是资源集合。线程和进程执行快慢相同。同一时刻,只能有一个线程进入,因为py的特殊机制。import threadingimport time# 继承式调用class MyThread(threading.Thread): def __init__(self, num): threading.Thread.__init__(self) s原创 2020-08-03 18:51:58 · 1103 阅读 · 0 评论 -
try catch语句用法归纳
while True: try: # 代码块,逻辑 inp = input('请输入序号:') i = int(inp) except Exception as e: # e是Exception对象,对象中封装了错误信息 # 上述代码块如果出错,自动执行当前块的内容 print(e) i = -1 print(i)def fun(): ret = 0 t原创 2020-08-02 19:15:57 · 1084 阅读 · 0 评论 -
类的创建和init方法
#–author:zhaozhao#date:2020/08/01class bar: def __init__(self,name,age): # 构造方法 self.n=name self.a=age print("123") def foo(self): print(self.n,self.a)z=bar('zhao',21) # 创建时自动调用_init_方法z.n # 调用变量z.foo() # 调原创 2020-08-01 21:24:45 · 822 阅读 · 1 评论 -
os、sys、hashlib、logging、re模块用法总结
#–author:zhaozhao#date:2020/08/01os模块import osos.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径path = "D:\wendang\py\python\lesson"os.chdir("D:\wendang\py\python\lesson") # 改变当前脚本工作目录;相当于shell下cdos.curdir # 返回当前目录: ('.')os.pardir # 获取当前目录的父目录字符串名:('..'原创 2020-08-01 21:07:09 · 113 阅读 · 0 评论 -
函数装饰器及参数
#–author:zhaozhao#date:2020/07/31import timedef foo(): print("foo....") time.sleep(2)def bar(): print("bar....") time.sleep(3)def show_time(f): def inner(): start=time.time() f() end=time.time() prin原创 2020-07-31 19:40:25 · 171 阅读 · 0 评论 -
函数、参数类型及生成器 迭代器对象
函数常用的功能块编写成函数,放在函数库中供公共使用,内置函数可以直接调用。提高编程效率以及代码重用性,具有特定功能。是结构化设计程序的基础,return返回值返回到函数调用处。函数可以有多个返回值,之间用逗号隔开,返回结果为元组类型。def func(a,b=1): return a*bfunc(3) # 若不传b,则为默认定义的# 定义一个遍历def test(list): for i in list: print(i)if __name__=='__原创 2020-07-30 21:45:47 · 197 阅读 · 0 评论 -
文件内容读取相关操作
#–author:zhaozhao#date:2020/07/30f=open('小重山','w',encoding='utf8') # 先清除文件内容f.fileno() # fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型)。f.write('lllll') # 再写入f.close()三种基本的操作模式 r(只可读) w(只可写) a(追加)流程:1 创建文件对象 2 调用文件方法进行操作 3 关闭文件如果不关闭,数据不会缓存到原创 2020-07-30 21:26:54 · 153 阅读 · 0 评论 -
元组和集合的增删改查操作
元组:tuple 元组的元素不能修改。无增加删除修改操作tup1 = (1, 2, 3, 4, 5 )tup2 = "a", "b", "c", "d"tup3 = tup1 + tup2 # 连接元组1和2后产生新的元组tup3*2 # 重复输出list(tup3) # 转换为列表len(tup3)max(tup1)min(tup1)for i in tup1: print(i)for i in range(len(tup1)): print(tup1[i])t原创 2020-07-29 21:29:51 · 357 阅读 · 0 评论 -
python中的数据类型和运算符
① python中的基本数据类型整数int 可以处理任意大小的整数,包括负整数。浮点数float,浮点数小数点位置可变。布尔类型bool,True False字符串类型str, 以单引号或双引号括起来的文本② 标识符:对类方法变量常量取的名字。由数字字母下划线组成,不能以数字开头,不能以关键字命名。print(values,sep,end,file,flush)values: 需要输出的值可以为多个,逗号隔开。sep:多个输出值之间的分割默认为空格 。end:输出语句结束后附加的字原创 2020-07-29 21:22:55 · 134 阅读 · 0 评论 -
字典的增、删、改、查操作及应用
#–author:zhaozhao#date:2020/07/29字典中的元素是由键值对组成,主键唯一且无序。① 字典的创建dic={"name":'zhaozhao','age':18,'hobby':{'girl_name':'bb','age':18},'is_handsome':True}dic=dict((('name','alex'),))dic=dict([['name','alex'],])② 添加dic={'name':'alex'}dic['age']=18# s原创 2020-07-29 21:07:33 · 418 阅读 · 0 评论 -
字符串的内置方法和格式化拼接
#–author:zhaozhao#date:2020/07/29① String的内置用法st='hello\t kitty {name} is {age}'st.count('l') # 统计元素个数st.capitalize() # 使首字母大写st.center(50,'#') # 居中,用#补齐50个字符st.endswith('tty3') # 判断是否以某个内容结尾,返回布尔值st.startswith('he') # 判断是否以某个内容开头st.expandtab原创 2020-07-29 20:07:54 · 175 阅读 · 0 评论 -
列表的切片、增、删、改、查、排操作
#–author:zhaozhao#date:2020/07/29 a,b=[2,3] # 将2,3分别赋值给a、b① 切片 (列表默认初始位置为0)a[x:y:z]表示对数组a进行切片处理,起始位置为x,终止位置为y,方式为z。当z为正数时,表示从左向右取;为负数时,表示从右向左取。a=[1,2,3,4,5,6,7,8,9,10,11,12,13]a[1:] # 从下标为1的地方取到列表的最后一个a[1:-1] # 从下标为1的地方取到列表的倒数第二个值a[1:-1:1] # 从原创 2020-07-29 18:36:04 · 545 阅读 · 0 评论