
python进阶
文章平均质量分 63
稍难一点的python知识
西西coding
爱好者多如牛毛,会造轮子的少之又少
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【排列组合】用 python 来实现排列组合
使用说明:需要各位看官理解什么是排列组合,若有不懂,及时度娘。排列从m个元素中选n个元素(n≤m)进行排列 元素不能重复,只考虑顺序eg:1,2,3的排列1,2,31,3,22,1,32,3,13,1,23,2,1代码内容:import itertoolsmylist = list(itertools.permut...原创 2020-02-28 19:44:21 · 2648 阅读 · 0 评论 -
【高阶函数】filter && sorted && map & reduce
使用说明:本内容无代码示例图,需要各位看官大人自行运行,自行体会filter功能:用于过滤序列 把传入的参数依次作用于序列的每一个元素,根据返回的是 True 或者 False 决定是否保留该元素例 1 :去掉奇数# 去掉奇数list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def fun(num): if num % 2 ...原创 2020-02-28 19:28:22 · 176 阅读 · 0 评论 -
【时间相关模块】time模块&&datetime模块&&calendar模块(日历)
UTC 格林尼治时间中国 东八区 UTC+8时间的三种表示形式1.时间戳import time# 时间戳current_time = time.time()print(current_time)# 时间戳转字符print(time.ctime(current_time))2.元组的形式表示# 元组 UTC时间t = time.gmtime...原创 2020-02-12 23:36:24 · 185 阅读 · 0 评论 -
【递归遍历03】队列模拟遍历目录(广度遍历)
import osimport collectionsdef getAllDir(path): queue = collections.deque() queue.append(path) # 当栈为空的时候处理栈 while len(queue) != 0: # 从队列里取数据 dirpath = queue.poplef...原创 2020-02-12 17:06:41 · 201 阅读 · 0 评论 -
【递归遍历02】栈模拟遍历目录(深度遍历)
import osdef getAllDir(path): stack = [] stack.append(path) # 当栈为空的时候处理栈 while len(stack) != 0: # 从栈里取数据 dirpath = stack.pop() filelist = os.listdir(dirpath...原创 2020-02-12 16:49:44 · 177 阅读 · 0 评论 -
【递归遍历01】遍历目录(只需填写路径,便可以得到该路径下的所有文件!!!)
import osdef getAllDir(path): # 得到当前目录下所有的文件 fileList = os.listdir(path) print(fileList) # 处理每一个文件 目录继续向下寻找 文件停止 for fileName in fileList: # 判断是否是路径 fileAbsPath...原创 2020-02-12 16:26:36 · 185 阅读 · 0 评论 -
【栈、队列】进进出出,你还熟悉么
栈:先进后出,后进先出# 模拟栈结构stack = []# 压栈(向栈内存数据)stack.append('A')print(stack)stack.append('B')print(stack)stack.append('c')print(stack)# 出栈(在栈取数据)c = stack.pop()print('出栈'+c)print(stack)b ...原创 2020-02-11 16:31:08 · 3228 阅读 · 2 评论 -
【递归调用】
什么是递归调用?def a(): print('111') a()a()简单的来说就是调用自身的函数,有点类似循环。比如说计算1+2+3+4+...的和def he(n): sum1 = 0 for s in range(1, n + 1): sum1 += s return sum1print(h...原创 2020-02-11 16:09:24 · 174 阅读 · 0 评论 -
【OS模块】一步到位,请收藏方便查找!!!
1.获取操作系统# 获取操作系统 nt(windows)print(os.name)2.获取操作系统中的环境变量# 获取操作系统中的环境变量print(os.environ)3.获取具体某一个变量(字典取值的方式)# 获取具体某一个环境变量print(os.environ.get('ALLUSERSPROFILE'))4.获取当前目录# 获取当前目...原创 2020-02-11 15:21:20 · 275 阅读 · 0 评论 -
【数据持久性操作】为什么不更银行系统实战的原因~~~
需要使用一个模块 数据持久性模块将一个列表存入文件中import pickle# 将此数据写入文件myList = [1, True, [1, 2], (1, 1)]path = r'D:\pypypy\异常处理与文件读写\file2.txt'f = open(path,'wb')pickle.dump(myList,f)f.close()...原创 2020-02-11 02:17:09 · 289 阅读 · 0 评论 -
【文件读写】02写文件
与读文件类似path = r'D:\pypypy\异常处理与文件读写\file1.txt'f = open(path,"w")f.write('我不曾爱过你')f.close()当没有file1.txt的时候,会自动为我们创建更多实际应用中,我们写入文件内容时,不能把当前程序结束掉,所以无法显示已经写好的内容,如下:path = r'D:\py...原创 2020-02-11 02:02:53 · 149 阅读 · 0 评论 -
文件读写之读文件
"""读文件 1.打开文件 open(path,flag,encoding,errors) path:要打开文件的路径 flag:打开方式 打开方式有: r:以只读的方式打开文件,文件的描述符放在文件的开头( 描述符在哪,从哪开始读) rb:以二进制的格式打开一个文件用于只读,放在开头 ...原创 2020-02-08 00:35:23 · 1646 阅读 · 0 评论 -
异常处理(try-except-finally)和断言!!!
上篇文章讲了:try ... except ... else代码如下:try: print(1/0)except ZeroDivisionError as e: print('division by zero')print('关闭')代码示例图:在操作文件时,文件要打开,还要关闭上边这段代码在执行之后就不会执行关闭。针对上边这种情况,我...原创 2020-02-07 23:26:14 · 566 阅读 · 0 评论 -
异常处理(常见的三种异常处理方式)
基础知识# bug 错别字 逻辑错误# 异常 不可预见的# 当程序遇到问题时,不让程序结束,而让程序越过错误,继续向下执行# eg:print(3/0)"""except英 [ɪkˈsept] 美 [ɪkˈsept]prep.(用于所言不包括的人或事物前)除…之外conj.除了;只是v.不包括;不计;把…除外try ...excepet ...else...原创 2020-02-07 16:17:25 · 8289 阅读 · 1 评论 -
Python:图形用户界面和游戏开发(一)原理及基础界面搭建
图形用户界面和游戏开发主要讲一下tkinter和pygame。3D游戏咱往后靠一靠使用Tkinter开发GUI应用需要以下步骤基于tkinter模块的GUIGUI是图形用户界面的缩写使用tkinter开发GUI应用需要以下5个步骤1.导入tkinter模块中我们需要的东西2.创建一个顶层窗口对象并用它来承载整个GUI应用3.在顶层窗口添加GUI组件4.通过代码将这些GU...原创 2020-01-26 11:55:58 · 1008 阅读 · 0 评论 -
Python:扑克游戏的基础:随机发牌
# 扑克游戏from random import randrange'''suite 英[swiːt]美[swiːt]n. (尤指旅馆的) 一套房间,套房; 一套家具; 组曲(由三个或更多相关部分组成);[例句]They had a fabulous time during their week in a suite at the Paris Hilton.他们在巴黎希尔顿酒...原创 2020-01-26 11:10:58 · 1761 阅读 · 0 评论 -
Python小案例:回合制奥特曼打怪兽游戏
from abc import ABCMeta, abstractmethodfrom random import randint, randrangeimport timeclass Fighter(object, metaclass=ABCMeta): """战斗者""" # 通过__slots__魔法限定对象可以绑定的成员变量 __slots__ = ('...原创 2020-01-19 01:53:35 · 3833 阅读 · 2 评论 -
Python:静态方法和类方法
之前,在类中定义的方法都是给对象的方法实际上我们写在类中的方法不都是对象的方法例如:我们定义一个三角形类,通过传入三边的边长来构造三角形,并提供计算周长和面积的方法但是传入三条边的长度不一定都能构造出三角形,我们可以先写一个方法来验证三条边能否构成三角形这个方法肯定不是对象方法,因为这件事情是我在创建三角形对象之前做的这个方法属于三角形类而不属于三角形对象单词部分t...原创 2020-01-16 01:12:09 · 554 阅读 · 0 评论 -
Python:__slots__ 魔法
python 是一门动态语言通常,动态语言允许我们在程序运行时给对象绑定新的属性和方法也可以给已经绑定的属性和方法解绑如果我们需要限定自定义类型的对象只能绑定某些属性,可以通过在类中定义__slots__变量来进行限定。__slots__只对当前类的对象生效,对子类不起作用slots 英[slɒts]美[slɑːts]v. 投放; 插入; (被) 塞进; (...原创 2020-01-13 12:39:31 · 484 阅读 · 0 评论 -
Python:访问器和修改器
类中的属性_属性名 不建议访问,暗示这个属性名是受保护的想访问可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作使用@property包装器来包装getter和setter方法,使得对属性的访问既安全又便捷__属性名 访问不到property 英[ˈprɒpəti]美[ˈprɑːpərti]n. 所有物; 财产; 财物; 不动产; 房地...原创 2020-01-13 12:14:03 · 2354 阅读 · 0 评论 -
Python:定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法
# 定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。# 开平方from math import sqrtclass Point(object): def __init__(self, x=0, y=0): """ 构造器 :param x:横坐标 :param y:纵坐标 """ ...原创 2020-01-11 02:21:28 · 4168 阅读 · 1 评论 -
Python:以时钟类来描述类的构造器(init)隐藏属性,公开属性
"""面向对象有三大支柱:封装、继承和多态。封装:隐藏实现细节,只向外界提供接口类中定义的方法就是把数据和对数据的操作封装起来创建之后,给对象发消息(调用对象的方法)就可以执行方法中的代码也就是说我们只需要知道方法名和传入什么参数无需知道方法内部实现细节"""import time# 定义一个类描述时钟class Clock(object): def __init...原创 2020-01-11 02:00:59 · 339 阅读 · 0 评论 -
Python:面向对象编程基础
"""面向对象编程基础把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。简单理解:就像开公司一样,...原创 2020-01-11 01:30:58 · 480 阅读 · 0 评论 -
Python:设计函数实现-返回给定文件名的后缀
rfind()方法:返回字符串最后一次出现的位置(下标),如果没有匹配项就返回-1方法内容如下:def get_suffix(filename): """ :param filename: 文件名称 :return: 返回的后缀名 """ pos = filename.rfind('.') print('.出现的下标是%d'...原创 2020-01-11 00:53:16 · 2360 阅读 · 0 评论